Loss Function
= objective function, error function
모델을 training 할 때 loss function의 값을 최소화/최대화하는 방향으로 parameter를 찾아간다.
보통을 loss function을 최소화하도록 정한다.
To Minimize
Training set이 한 개이면 loss function을 미분해서 최소가 되는 지점을 찾으면 된다.
그러나 M의 크기가 매우 커지면 이를 계산하는 것이 힘들기 때문에 주로 gradient descent method를 사용한다.
Cost Function
$w, b$에 따른 loss 값의 평균이다.
$J(w, b) = \frac{1}{m} \Sigma^m _{u=1} L(\hat{y}^{(i)}, y^{(i)})$
$= -\frac{1}{m} \Sigma ^m _{i=1} [y^{(i)} log \hat{y} ^{(i)} + (1-y) log (1- \hat{y} ^{(i)})]$
Loss Function vs. Cost Function
Loss(object, error) function은 sample 한개에 대한 loss를 계산한다.
Cost function은 모든 sample에 대한 평균 loss를 계산한다.
Loss function과 cost function은 비슷한 의미를 나타내기 때문에 혼용되어 사용되기도 한다.
대표적인 Loss Function
Loss function에 따라서 성능이 달라지기도 한다.
그런데 문제마다 어떤 loss function이 좋은지는 다르다.
때문에 해결하고자 하는 문제에 대해 적절한 loss function을 찾는 것이 좋다.
Euclidean Loss
$L(\hat{y}, y) = \frac{1}{2}(\hat{y} - y)^2$
Classification task에서 vanishing gradient problem을 야기할 수 있다.
Cross-Entropy Loss
$L(\hat{y}, y) = -(y log\hat{y} + (1-y)log(1-\hat{y}))$
$y$는 0 or 1, $\hat{y}$는 0~1 사이의 값을 가지기 때문에 아래의 경우로 나눌 수 있다.
- $y=1$인 경우
- $L(\hat{y}, y) = -ylog\hat{y}$
- $log\hat{y}$을 최대화 해야 함 → $\hat{y}$을 최대화 해야 함 → $\hat{y} \to 1$로 갈수록 좋음
- $y=0$인 경우
- $L(\hat{y}, y) = -log(1-\hat{y})$
- $log(1-\hat{y})$을 최대화 해야 함 → $\hat{y}$을 최소화 해야 함 → $\hat{y} \to 0$으로 갈수록 좋음
'Computer Science > AL, ML' 카테고리의 다른 글
Computation Graph (Forward/Backward Propagation) (0) | 2022.04.06 |
---|---|
Gradient Descent (0) | 2021.08.06 |
Matrix Notation (0) | 2021.08.05 |
Neural Network의 배경 (0) | 2021.08.05 |
Linear Regression (0) | 2021.08.05 |
댓글