ml 6

[ML] Huber Loss(후버 손실)

앞서 살펴봤던 MSE와 MAE의 장점을 결합한 Huber Loss에 대해 살펴보겠다. MSE는 outlier에 제곱을 통해 많은 비중을 주게 되는 반면, MAE는 같은 비중을 두게 된다. 또한 MSE의 경우 outlier가 아닌 데이터에선 훌륭한 모델을 만들 수 있기에 이 둘을 절충해 아래와 같이 나타낸다. 에러(예측값과 실제값의 차)가 Delta(델타) 사이일 경우 MSE를 적용하고 그 외에 범위에 있을 경우 MAE를 적용하는 것이다. 참고로 1/2을 곱한 것은 아래 두 함수의 접점(Junction)에서 같은 결과값과 같은 편미분 값을 같기 위한 것이다. import matplotlib.pyplot as plt import numpy as np # Huber loss function def huber_..

[ML] MAE(Mean Absolute Error, 평균 절대 오차)

MAE는 이전 포스팅의 MSE를 구하는 방법과 매우 유사하지만 가져오는 결과는 매우 다르다. MAE 역시 모델을 통한 예측값과 실제값의 차이를 바탕으로 평균을 구하지만, MSE와 다른 점은 제곱을 하지 않는 것이다. 따라서 MAE는 이상점(outlier)의 비중이 MSE에 비해 현저히 적다. 하지만 절대값을 다루기에 MSE와 마찬가지로 양수를 다루기에 예측값이 실제값보다 큰 값인지 작은 값인지에 대한 판단이 불가하다. import numpy as np import matplotlib.pyplot as plt # MAE loss function def mae_loss(y_pred, y_true): abs_error = np.abs(y_pred - y_true) sum_abs_error = np.sum(ab..

[ML] MSE(Mean Squared Error, 평균 제곱 오차)

Machine Learning 강의 수강 시 가장 먼저 접하게 되는 Loss(Cost) Function 중에 하나다. MSE를 계산하는 방법은 간단하다. 모델이 예측한 값(모델의 output)과 실제값의 차이를 제곱하고 이를 전체 데이터로 나누어준 평균값이다. MSE는 굉장히 큰 에러(예측값과 실제값의 차)를 갖는 이상점이 없는 모델에선 훌륭하지만, 그렇지 않을 경우 예측값과 실제값의 차이를 제곱하기에 이상점에 상대적으로 큰 비중이 실릴 수 있어 바람직하지 못한 결과를 낳는다. 아래는 MSE를 식으로 나타낸 것으로 N은 전제 데이터의 개수다. 아래는 MSE에 대한 샘플 파이썬 코드다. import numpy as np import matplotlib.pyplot as plt # MSE loss funct..

[ML] CS229: Machine Learning

Coursera에서 유명한 Andrew Ng 교수님의 Machine Learning 강의 자료는 접근이 가능하고 그 주소는 아래와 같다. Stanford CS229: Machine Learning : Instructors: Andrew Ng, Moses Charikar, Carlos Guestrin https://cs229.stanford.edu/ Syllabus and Course Materials : https://docs.google.com/spreadsheets/d/18pHRegyB0XawIdbZbvkr8-jMfi_2ltHVYPjBEOim-6w/edit#gid=0 Lecture Notes : https://cs229.stanford.edu/notes2022fall/main_notes.pdf

[ML] Closed-form solution(닫힌 형태)

1. Wikipedia : In mathematics, a closed-form expression is a mathematical expression that uses a finite number of standard operations. It may contain constants, variables, certain well-known operations (e.g., + − × ÷), and functions (e.g., nth root, exponent, logarithm, trigonometric functions, and inverse hyperbolic functions), but usually no limit, differentiation, or integration. The set of o..

[ML] Eigenvalue(고유값), Eigenvector(고유벡터)

머신 러닝 강의 초반부의 행렬 관련 문제들을 접하면서 자주 등장하는 Eigenvalue(고유값), Eigenvector(고유벡터)에 대해 알아보자. 선형대수학(Linear Algebra)에서 행렬 A를 선형 변환(Linear Transformation)에 대한 결과가 자기 자신의 상수배가 되는 0이 아닌 벡터를 Eigenvector(고유벡터)라 하고 이 상수배 값을 Eigenvalue(고유값)이라고 한다. n x n의 정방 행렬(Square Matrix) A에 대해 Av = λv를 만족하는 0이 아닌 열 벡터(Row vector) v를 Eigenvector라 하고, 상수 λ를 Eigenvalue라 한다. (Eigenvector와 Eigenvalue는 Square Matrix에서만 정의되고, λ 기호는 L..