Bamboo is coming

손실함수(Loss Functions), MAE, MSE, L1, L2, cross entropy 본문

인공지능 개념

손실함수(Loss Functions), MAE, MSE, L1, L2, cross entropy

twenty 2023. 7. 14. 15:02

 

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 방향에는 영향을 미치지 않으므로, 최적의 파라미터는 동일하다.

 

L1 Loss / L2 Loss

 

 

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