심드렁하게 저장

손실 함수에 대한 기본 이론과 예시 본문

Artificial intelligence/AI Fundamental

손실 함수에 대한 기본 이론과 예시

Ggoosae 2024. 11. 21. 23:02

석사 때 공부했던 내용에서 지식의 결함이 생기지 않도록 하기위해 이론들을 정리해보기로 했다.

이번 포스팅에서는 첫번째로 손실 함수에 대해서 다뤄보도록 하겠다.


손실함수에 대하여 정리하자면 다음과 같다.

  • Loss Function이라 하며 단일 샘플의 실젯값과 예측값의 차이가 발생했을 때 오차가 얼마인지 계산하는 함수를 의미한다.
  • 인공 신경망은 실젯값과 예측값을 통해 계산된 오찻값을 최소화해 정확도를 높이는 방법으로 학습이 진행된다.
  • 각 데이터의 오차를 계산할 때 손실함수를 사용한다.
  • 목적함수(Objective Function), 비용함수(Cost Function)이라 부르기도한다.

1. 제곱 오차

먼저 제곱 오차(Squared Error)는 실젯값에서 예측값을 뺀 값의 제곱을 의미한다.

제곱 오차 수식

 

제곱 오차에서는 실젯값과 예측값을 감산한 값에 제곱을 취한다. 제곱을 취하지 않을 경우 오차가 양의 방향인지 음의 뱡향인지를 알 수 있다. 그러나 오차에서는 오차의 크기가 방향보다 중요하므로 제곱을 취한다. 제곱이 아닌 절댓값을 취해 오차의 크기를 확인할 수도 있으나 제곱을 적용하면 오차가 작은 값보다 오차가 큰 값을 더 두드러지게 확대 시키기 때문에 오차의 간극을 빠르게 확인할 수 있다.

 

2. 오차 제곱합

오차 제곱합(Sum of Squared for Error, SSE)은 제곱 오차를 모두 더한 값을 의미한다. 제곱 오차는 각 데이터의 오차를 의미하므로 모델 자체가 얼마나 정확히 예측하는지 알 수 없다. 따라서 모든 제곱 오차를 더해 하나의 값으로 만들어 가설이나 모델을 평가한다.

오차 제곱합의 수식

 

오차제곱합에서 오차값들을 제곱하지 않고 모두 더하면 문제가 발생한다. 오찻값이 (-1,1,-1,1)과 같은 형태라면 합계가 0이되어 오차가 없는거처럼 보인다. 이 현상을 방지하기 위해 모든 값을 제곱한 값에 대한 평균으로 오차를 계산한다.

 

3. 평균 제곱 오차

평균 제곱 오차(Mean Squared Error)는 오차제곱합에서 평균을 취하는 방법이다. 평균값을 사용하지 않는 경우 오차가 많은 것인지 데이터가 많은 것인지 구분하기가 어려워지므로 모든 데이터의 갯수만큼 나누어 평균을 계산한다.

평균 제곱 오차의 수식

 

평균 제곱 오차는 가설의 품질을 측정할 수 있으며 오차가 0에 가까워질수록 높은 품질을 갖게 된다. 주로 회귀 분석에서 많이 사용된다.

 

4. Cross Entropy

앞서 소개된 오차들은 연속형 변수에 사용되는 손실 함수이다. 반면 이산형 변수는 교차 엔트로피(Cross-Entropy)가 손실 함수로 사용된다. 예를 들어 고양이, 개 등을 분류하는 문제에 사용된다. 교차 엔트로피는 실젯값의 확률분포와 예측값의 확률분포 차이를 계산한다.

Cross 엔트로피의 수식