데이터 스터디/Stats\ML

[?!] cost function과 loss function 차이

케이와이엠 2022. 2. 11. 02:22

[물음표/느낌표] 01. cost function과 loss function 차이

 

우리는 앞서 머신러닝에선 손실, 즉 loss function을 최소화하는 방향으로 학습해야한다는 것을 알았다. 

이때 많이들 혼란스러워하는 용어가 바로 cost function과 loss function인 듯하다. 

거기에 더해 objective function도 낄 수 있겠다. 

 

다 똑같은 말들이라고 해도, 디테일의 차이를 잊지 말자굽쇼잉. 사소한 용어라도 확실하게 짚고 넘어가보자. 

 


일단 손실 함수(Loss Function)와 비용 함수(Cost Function)은 혼용해서 사용 가능하다. 

다만 사소한 차이가 있다함은, 

  • 손실 함수(Loss Function) : 개별적인 차이를 정의
  • 비용 함수(Cost Function) : 손실함수를 제곱합 or 평균 등의 형식으로 정의 

따라서 오류를 최소화한다고 했을 땐 loss function을 최소화한다는 말이 더 적합한 것이다.


좀 더 그럴듯한 자료를 발견해서 가져와봤다.

결국엔 같은 소리다.

 

손실 함수(Loss Function)는 예측값과 실제값의 차이를 나타내는 data point를 가리킨다. 

예측값(y^)과 실제 label값(y) 사이의 오차를 계산하는 함수이다.

비용 함수(Cost Function)는 sum of loss functions가 될 수 있고 ~~ 블라블라 라고 적혀져있다. 

회귀에서 대표적인 손실 함수의 집합들인 MAE, MSE, RMSE / 분류에선  Binary cross-entropy, Categorical cross-entropy 들이 이런 entire set형태로 표현되어진다고 볼 수 있겠다. 

(Binary cross-entropy, Categorical cross-entropy, MSE와 같은 loss(=cost)을 직접 구해보는 건 다른 포스팅에서 진행하겠다. )

목적 함수(Objective Function)은 최적화하는 함수 전체를 일컫는다고 보면 된다.

여기서, 최적화를 위한 방향은 최소화뿐만 아니라 최대화하는 방향도 있다. 예를 들어 MLE와 같이 우도함수(Likelihood function)를 최대화하려는 함수 역시 objective function으로 정의된다. 따라서 cost function을 objective function으로 볼 수도 있고, mle와 같이 확률을 최대화하려는 function도 목적함수이다. => 이들은 학습을 통해 최적화시키려는 함수 모두를 가리킨다.


한 줄로 요약하자면 Objective Function >= Cost Function >= Loss function 이라 생각할 수 있다.

Objective Function가 가장 상위 개념이고 Cost Function과 Loss Function은 Object Function의 한 예라 볼 수 있다.

 

 

+ 아래 링크에서 더 자세히 확인할 수 있다.  

https://stats.stackexchange.com/questions/179026/objective-function-cost-function-loss-function-are-they-the-same-thing

 

Objective function, cost function, loss function: are they the same thing?

In machine learning, people talk about objective function, cost function, loss function. Are they just different names of the same thing? When to use them? If they are not always refer to the same ...

stats.stackexchange.com