본 글은 공부하는 과정에서 요약한 것이므로 오류가 있을 수 있습니다.
오차 함수란, 어떤 특정 데이터의 정답과 실젯값등을 비교할때 어느정도의 차이가 있는지를 수치적으로 나타내는 함수입니다.
단순히 차이를 계산하는 오차 함수는 예시로, $(2, 4)$ 좌표와 $y=2x-7$의 오차는 $4 - (-3) = 7$이 계산됩니다.
오차 함수에는 여러 가지가 있으며 이 중 대표적인 몇 가지 오차 함수를 소개하고자 합니다.
Squared Error (SE)
Squared Error는 예측값$(\hat y)$와 실제 데이터의 정답값$(y)$가 있을 때, 다음과 같이 계산됩니다.
$$SE(W, b) = \sum_{i \in S} (\hat {y_i} - y_i)^2$$
즉, 큰 오차값을 확대하여 일반적인 $\hat {y_i} - y$로 오차를 계산하는 방법보다 오차를 잘 보여줍니다.
하지만, 데이터의 크기가 많고 오차가 작은 경우의 $SE(W, b)$의 값과 데이터의 크기가 적고 오차가 큰 경우의 $SE(W, b)$의 값이 동일해지는 경우가 있습니다. 따라서 이를 개선한 Mean Squared Error(MSE) 방식을 더 자주 사용합니다.
Mean Squared Error (MSE)
Mean Squared Error는 예측값$(\hat y)$와 실제 데이터의 정답값$(y)$가 있을 때, 다음과 같이 계산됩니다.
$$\displaystyle MSE(W, b) = \frac{1}{n(S)} \sum_{i \in S} (\hat {y_i} - y_i)^2$$
위에서 언급했듯이, 데이터의 크기가 많고 오차가 작은 경우의 $SE(W, b)$의 값과 데이터의 크기가 적고 오차가 큰 경우의 $SE(W, b)$의 값이 동일해지는 경우의 두 값을 구분하기 위해 데이터의 크기 $n = n(S)$ 으로 나누어 이를 보정합니다.
따라서 오차값은 데이터의 크기에는 상관이 없어지게 됩니다.
Cross-Entropy (CE)
Cross-Entropy는 동물 사진이 주어질 때 이를 동물 A와 동물 B 등으로 분류하는 경우에 사용됩니다.
이때 오차함수에 값을 대입할 때는 확률분포의 값을 이용하는데,
모델이 예측한 $\hat {y_i}=p$는 "$p$의 확률로 이것이다"라고 예측한 것이고, $y_i=q$는 "실제로 $q$의 확률로 이것이다" 라는 정답값을 가지고 있습니다.
Cross-Entropy는 다음 수식으로 계산됩니다.
$$\displaystyle CE(W, b) = - \sum_{i \in S} (y_i \log {\hat {y_i}})$$
이때 로그는 밑이 $e$인 자연로그입니다.
다음 글에서는 회귀에 대해 정리해보겠습니다.
'AI' 카테고리의 다른 글
| [자연어처리] 2. 쿼리(Query), 키(Key), 값(Value) (0) | 2024.09.18 |
|---|---|
| [자연어처리] 1. 토큰화(Tokenization) (0) | 2024.09.13 |
| [AI - 2] 회귀의 시작 - 선형 회귀 (0) | 2024.01.25 |