cross entropy loss(=log loss)에 대한 고찰

classification에서 가장 자주쓰는 cross entropy loss에 대해 생각해보면 binary classification의 경우

 

$$L(y) = -ylog(p)-(1-y)log(1-p)$$

 

$y$true value이고 $p$는 모델이 $y=1$로 예측할 확률이다.

 

이 cross entropy loss가 자주 쓰이지만 항상 좋은 선택일까??

 

예측하고자 하는 데이터가 실제 정답이 y=1인 경우 loss를 계산하면 $$L(y=1)=-ylog(p)=-log(p)$$

 

실제 정답이 y=0인 경우는 $$L(y=0)=-(1-y)log(1-p)=-log(1-p)$$

 

loss가 오직 true value를 예측할 확률에만 의존한다는 것이다.

 

그림1. cross entropy loss 그림

 

true value1일 때 loss의 그래프를 그림으로 나타냈다.

 

예측확률이 증가할수록 서서히 감소하는데 예측확률이 감소할수록 급격하게 loss가 증가한다는 것이 특징이다.

 

이게 무슨 의미냐?

 

정말로 틀렸다고 생각하는 것에 굉장히 강력한 페널티를 준다는 점이 특징이다. 그 외에는 그냥 그럭저럭 생각한다는 뜻

 

바꿔말하면 true value 1에 맞았다고 생각할 확률이 그렇게 높지는 않아도 1로 분류할 수 있는 것

TAGS.

Comments