Bamboo is coming
손실함수(Loss Functions), MAE, MSE, L1, L2, cross entropy 본문
1. 손실함수(Loss function)란
- 손실함수는 정답 \(y\)와 예측값 \( \widehat{y} \)의 오차를 나타내는 함수로, \( j(\lambda) \)라고 주로 표기한다.
- 목적함수(object function), 비용함수(cost function)라고도 불리는 데 모두 같은 뜻이다.
- 손실함수는 목적에 따라 회귀, 분류에 사용되는 손실함수로 나뉜다.
2. Regression - continuos value
회귀는 출력 값이 연속적인 범위 내에서 변화한다.
예측된 값은 실수 범위 내의 어떤 값이든 될 수 있으며, 제한이 없다.
2.1. 계산법
L1, L2 loss는 계산 방법에 따라 수식에 차이가 있다.
2.1.1 평균오차(Mean Error)
- 샘플의 양에 관계없이 샘플의 수로 나누기 때문에 평균 오차는 샘플 수에 영향을 받지 않는다.
- 샘플의 수와 무관하게 일관된 측정을 할 수 있기 때문에 다양한 데이터셋 크기와 배치 크기에서 비교가 용이하다.
- 일관적이고 해석이 용이하다는 장점때문에 성능 평가나 하이퍼파라미터 튜닝같은 일반적인 상황에서 널리 사용된다.
- \[ MAE = \frac{1}{n}\sum_{i=1}^n|\widehat{y}_i-y_i| \]
- \[ MSE = \frac{1}{n}\sum^n_{i=1}(\widehat{y}_i-y_i)^2 \]
2.1.2. 총합오차(Sum Error)
- 오차의 총합만을 고려하거나 상수 계수를 사용하여 평균을 계산하지 않는 경우 샘플 수가 오차의 총합에 영향을 끼친다.
- 평균을 계산할 필요가 없으므로, 약간 더 빠른 계산이 가능할 수 있다.
- 목적 함수의 미분을 단순화하거나 특정 최적화기법과 잘 어울릴 때 사용된다.
- 하지만, 샘플 수에 의존하기 때문에 다른 데이터셋이나 배치 크기 간에 직접 비교가 어려울 수 있다.
- 특정 알고리즘 또는 최적화 기법과 잘 어울리는 경우에 한해서 사용될 수 있다.
- \[ \text{L1 loss} = \sum^n_{i=1}|\widehat{y}_i-y_i| \]
- \[ \text{L2 loss} = \sum_i(\widehat{y}_i-y_i)^2 \]
2.1.3. 상수계수
- 예외로 Loss function에 \( \frac{1}{2} \)가 붙은 것을 볼 수 있다.
- L2 Loss에서경사하강법을 사용할 때 비용함수의 미분을 단순화하기 위해 종종 추가된다.
- \( \frac{1}{2} \)외에도 손실함수에 붙는 상수는 스케일 조정, 정규화, 수학적 편의성, 여러 손실 함수의 결합에서 중요도 조절을 위해 사용된다
- 상수계수는 gradient 크기에 영향을 미치지만, gradient 방향에는 영향을 미치지 않으므로, 최적의 파라미터는 동일하다.
2.2. L1 Loss
\[ \text{L1 Loss} = \frac{1}{n}\sum^n_{i=1} | \widehat{y} -y|
= \frac{1}{2}\sum_{i} | \widehat{y} -y| \]
- L1 손실은 평균을 사용하든 총합만을 고려하든 간에, 절대값을 사용하는 오차 측정 방식을 나타낸다.
- 그래프를 보면 V 형태를 취하고 있어 최솟값에 도달했을 때에도 동일한 기울기 값을 가진다.
- 동일한 기울기 값을 가지기 때문에 0인 지점에서 미분이 불가능하다.(0인 지점이 없다!)
- L1 loss는 이상치에 robust해서 모델이 이상치에 과도하게 반응하지 않도록 도와준다.
2.3. L2 Loss
\[ \text{L2 Loss} = \frac{1}{n}\sum^n_{i=1}(\widehat{y}_i-y_i)^2
= \sum_i(\widehat{y}_i-y_i)^2 \]
- L2 손실은 평균을 사용하든 총합만을 고려하든 간에, 제곱을 사용하는 오차 측정 방식을 나타낸다.
- 제곱의 값을 취하기 때문에 이상치에 매우 민감하다.
- 이상치가 문제에 중요한 경우나, Noisy or Bad Data이거나, Bad Measure일 때, 이상치에 더 집중하게 만들어 문제를 더 잘 해결할 수 있게 한다.
- 최솟값에 도달하면 기울기가 작아지므로 경사하강법에 매우 유용하다.
3. Classification - discrete values
분류는 출력 값이 이산적인, 즉 특정 카테고리나 클래스 중 하나에 속한다.
출력은 주어진 클래스 레이블 중 하나로 제한되기 때문에 discrete한 value를 가진다.
3.1. Cross Entropy
multi class classification에서 주로 사용되는 손실함수로 모델의 예측 확률 분포와 실제 확률 분포 사이의 차이를 측정한다.
\[ h(y, \widehat{y})= -\sum _iy_i log \widehat{y}_i \]
3.1.1. 엔트로피의 정의
- 물리
- 물질의 상태가 분산되는 정도
- 물질의 상태가 고루 분산되어 있으면 엔트로피가 높고,
- 특정한 하나의 상태로 몰려있으면(skewed) 엔트로피가 낮다.
- 확률 분포
- 확률분포가 가지는 정보의 확신도, 정보량
- 여러가지 확률이 나올 확률이 비슷하면(Uniform) 엔트로피가 높고,
- 특정한 값이 나올 확률이 높으면(Sparse)하면 엔트로피가 낮다.
- 정보
- 정보량의 기대값, 불확실성(여기서 정보란 "깜놀도, Surprising"을 의미)
- 사건을 표현하기 위해 요구되는 최소 평균 자원, bits 등
- 새로운 사건이 발생했을 때 희귀한 사건이면 깜짝 놀람 -> 정보 많음
- 흔한 사건이면 무던함 -> 정보 미비
참고
[Deep Learning] 평균제곱오차(MSE) 개념 및 특징
What are Loss Functions? (towardsdatascience.com)
L1 & L2 loss/regularization · Seongkyun Han's blog
'인공지능 개념' 카테고리의 다른 글
generative ai (0) | 2023.07.25 |
---|---|
Activation Function(활성화함수) (0) | 2023.07.14 |
가중치 초기화 (0) | 2023.07.14 |
Regularization 정규화 (0) | 2023.07.10 |
bias and variance/underfitting and overfitting (0) | 2023.07.10 |
Comments