달나라 노트

Cost Function 손실 함수 본문

AI/Deep Learning

Cost Function 손실 함수

CosmosProject 2025. 11. 11. 22:01
728x90
반응형

 

 

 

손실 함수(Cost Function)는 Deep Learning에서 사용되는 중요한 개념 중 하나입니다.

 

Cost Function을 매우매우 간단하게 설명하면 에러율입니다.

모델이 얼마나 에러를 일으켰는지를 나타내는 값이죠.

 

다만 그냥 모델이 계산한 값이 정답(label)과 다른가 아닌가로 구분하는게 아니라 모델의 output값과 정답(label)의 차이를 가지고 계산한 에러율입니다.

예측값(prediction)과 정답(label)간의 차이를 계산해서 모델의 오류를 수치화한 것입니다.

 

따라서 Cost Function의 숫자가 낮을수록 모델이 더 정확하다고 할 수 있습니다.

 

 

 

대표적인 Cost Function에 대해 알아봅시다.

 

1. Mean Squared Error(MSE, 평균 제곱 오차)

 

Mean Squared Error

Mean Squared Error의 식은 위와 같습니다.

y는 모델의 output,

t는 정답(label),

n은 output의 개수입니다.

 

예를 들어봅시다.

 

x = 1이라는 값을 넣어서 모델이 y = 5라는 값을 output하였습니다.

근데 x = 1에 대한 정답(label)이 7이라고 하면 에러는 다음과 같습니다.

 

이 경우

output의 개수는 1개이므로 n = 1

y = 5

t = 7

이 됩니다.

 

따라서 에러를 계산하면 다음과 같습니다.

E = 1 / 1 * (5 - 7) ^ 2 = 4

 

 

근데 output값이 항상 하나만 있지는 않죠.

많은 값을 입력해서 많은 output을 얻어낼 수도 있습니다.

여러 번 테스트를 해서 모델이 output한 그 결과를 모두 고려하여 종합적인 에러를 계산할 수도 있구요.

 

x = 1이라는 값을 넣어서 모델이 y = 3이라는 값을 output하였습니다.

x = 2라는 값을 넣어서 모델이 y = 9라는 값을 output하였습니다.

x = 5라는 값을 넣어서 모델이 y = 1이라는 값을 output하였습니다.

 

x = 1에 대한 정답(label)은 t = 4입니다.

x = 2에 대한 정답(label)은 t = 13입니다.

x = 5에 대한 정답(label)은 t = 0입니다.

 

이 경우

n = 3이 되고, 각각의 output에 대한 에러를 모두 합하여 3으로 나누게 됩니다.

수식은 위와 같습니다.

y = 3 -> t = 4

y = 9 -> t = 13

y = 1 -> t = 0

위 식을 계산하면 E = 6이 됩니다.

 

Mean Squared Error의 특징은 미분이 가능해서 경사 하강법(Gradient Descent)에 적합하지만

위 식에서 알 수 있는 것과 같이 각각의 output에 대해 정답(label)과의 차이를 "제곱"하여 더하기 때문에

평균을 많이 벗어나는 이상치(outlier)가 존재할 때 outlier에 대해 모델의 output과 정답(label)간의 차이가 매우 큰 경우 에러 또한 매우 큰 숫자로 계산될 수 있습니다.

 

또한 제곱의 특징에 따라 1 이상의 에러는 제곱에 의해 커지는데 0~1 사이의 에러값이라면 제곱을 했을 때 오히려 그 값이 작아지게 됩니다.

 

 

 

 

 

2. Mean Absolute Error(MAE, 평균 절대 오차)

Mean Absolute Error

Mean Absolute Error는 Mean Squared Error와 매우 비슷합니다.

한 가지 차이는 모델의 output값인 y와 정답(label)인 t의 차이를 계산하고 이에 대한 절대값을 사용한다는 것이죠.

 

따라서 Mean Absolute Error는 Mean Squared Error와는 달리 제곱을 하지 않기 때문에 outlier가 있어도 에러값이 매우 커지거나 하는 경우가 좀 적습니다. outlier에 대해 덜 예민하다는 의미죠.

 

또한 제곱을 하지 않으므로 단위가 사용하는 값들과 동일합니다. 따라서 직관적입니다.

 

단, 절대값 함수의 그래프는 어딘가에는 뾰족점이 있기 때문에 미분이 불가능한 구간이 있습니다. 따라서 경사 하강법에서는 Mean Absolute Error가 불리할 수 있습니다.

 

 

 

 

 

3. Root Mean Squared Error(RMSE, 평균 제곱근 오차)

Root Mean Squared Error

 

Root Mean Squared Error는 Mean Squared Error에 Root를 씌운 것과 같습니다.

 

장점은 보통 제곱을 하면 특정 단위(e.g. m, 원, g 등) 또한 제곱이 되는데 제곱을 한 값에 루트를 씌우므로 단위가 같아지게 됩니다.

그래서 좀 직관적이라는 장점이 있습니다.

 

다만 루트를 씌워서 MSE만큼 값이 커지지는 않지만 결국 에러에 제곱을 하기 때문에 outlier에 대해 에러율이 상대적으로 크게 계산되는 문제는 여전히 존재합니다.

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
Comments