본문 바로가기

Data Science

Cross Entropy

Negative Log Likelihood (NLL)

 

Likelihood (가능도)

p는 y, 그리고 q는 y_hat으로 대입할 수 있다.

 

log likelihood

likelihood에 log를 취한다.

 

negative log likelihood

log-likelihood에 마이너스 (-) 를 곱한다.

 

 


교차 엔트로피 (Cross Entropy)

 

 

Cross Entropy의 정의는 아래와 같다.

 

Discrete

 

Continuous

 

아래의 Negative Log Likelihood와 동일한 형태인 것을 볼 수 있다.

negative log likelihood

 

또한 아래의 Entropy와도 매우 유사한 형태의 수식이다.

Entropy

 

Entropy와 차이가 있다면,

Cross Entropy는 두 개의 분포(distribution) p와 q를 인자로 받는 점이다.

 

동일한 데이터셋에 대해,

두 분포 p와 q를 바꿔가면서 cross entropy 값의 변화를 확인할 수 있다.

 

 


 

다중 분류 (multi-class classification) 에서의 손실함수 (loss function)

 

다중 분류문제에서, 손실함수(Loss Function)는 보통 위와 같이 정의된다.

각 데이터(data point)에서의 Cross Entropy 값을 구하고,

그것을 모두 더한 다음, 데이터의 개수 N으로 나눠준다. (N : batch-size)

 

 


 

Discrete

 

다중 분류 모형의 신경망(Neural Network)에서 Cross Entropy (CE) 는,

위의 CE의 정의에서 p → y로, q → y_hat 으로 바뀌어서

아래와 같이 정의된다.

 

p = y, q = y_hat

 

여기서 y와 y_hat은, 각각 분류 클래스의 개수인 K 차원의 벡터(vector)이다.

 

 


 

 

위의 CE 수식을 softmax의 입력값인 t_i로 미분하면,

아래와 같이 (y_hat - y) = (predicted - observed) = (-residual) 이라는 결과가 나타난다.

 

CE를 t_i로 미분

 

 


 

Neural Network는 Loss Fucntion을 최소화(minimize)시키는 방향으로 학습한다.

그렇다면 Cross Entropy에서 그것은 어떤 의미일까?

 

CE 식에서 마이너스(-)를 제거하면 아래와 같다.

 

 

CE를 minimize한다는 것은, 위 식을 maximize 하는 것과 같다. (Maximum Likelihood Estimation)

 

위 식을 최대화하려면

y_i가 1일 때는 y_hat_i도 1에 가깝게,

y_i가 0일 때는 y_hat_i도 0에 가깝게 학습되어야 한다.

 

즉, CE를 최소화한다는 것은

y 분포와 y_hat 분포를 최대한 비슷하게 만드는 과정이다.

 

 

 

 


 

◎ References

 

< 데이터 사이언스 스쿨, 10.3 교차엔트로피와 쿨백-라이블러 발산 >

 

< 순록킴의 블로그, 초보를 위한 정보이론 안내서 - Cross Entropy 파헤쳐보기 >

 

'Data Science' 카테고리의 다른 글

Mutual Information  (0) 2023.06.13
Kullback-Leibler Divergence  (0) 2023.06.10
Softmax  (0) 2023.06.04
Permutation Importance  (0) 2023.06.03
Logistic Regression  (0) 2023.05.31