본문 바로가기

인공지능 AI/딥러닝

Objective Function, Loss Function, Cost Function의 차이

<Objective Function>

학습을 통해 최적화시키려는 함수이다. 딥러닝에서는 일반적으로 학습을 통해 Cost를 최소화시키는 optimize작업을 수행을 하고 이때 Cost function을 Objective function이라 볼 수 있다. 하지만 Objective function에 꼭 Cost function만 있는 것은 아니다. 예로 MLE와 같이 학습을 통해 확률을 최대화하려는 function 역시 Objective function으로 정의되지만 이는 Cost, Loss function은 아니다. 


<Loss Function>

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

예로 linear regression의 경우 Loss function으로 최소제곱오차를 사용한다.

최소제곱오차

즉, 하나의 input data에 대해서 오차를 계산하는 함수를 Loss function이라고 한다.


<Cost Function>

모든 input dataset에 대해서 오차를 계산하는 함수를 Cost function이라고 한다.

따라서 Cost function은 모든 input dataset에 대해 계산한 Loss function의 평균 값으로 구할 수 있다.

Loss function

Logistic Regression에서 사용하는 Loss function이다.

Cost Function

위 Loss function에 상응하는 Cost function이다. 모든 data에 대한 Loss를 평균내어 Cost를 계산할 수 있다.


<요약>

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

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