본문 바로가기

카테고리 없음

엔트로피, cross entropy loss (logistic loss)

정보이론에서, 확률이 낮으면 더 많은 정보를 가진다.(rare case)

따라서 데이터 x의 정보량 h(x)는 확률이 낮을수록 커지는 함수인 -log(P(x))로 정의한다.

log를 쓰는 이유는 확률이 낮을 수록 더 빠르게 interesting해지는 특성이 담겨 있음

확률 분포에서는 모든 데이터의 발생 확률에 비례해 합산한 값인 H(X) = – ∑ P(x)logP(x)로 정의된다.

  • Low Probability Event (surprising): More information.
  • Higher Probability Event (unsurprising): Less information.

 

엔트로피는 확률분포에서 랜덤하게 선정된 이벤트를 전송하는 데 필요한 비트 수를 의미한다.

한 쪽에 치우친 분포일수록(less surprising) 더 낮은 엔트로피를 가지며, 균일한 확률분포를 띨 수록 더 큰 엔트로피를 가진다.

  • Skewed Probability Distribution (unsurprising): Low entropy.
  • Balanced Probability Distribution (surprising): High entropy.

 

Cross-entropy 는 하나의 분포가 다른 분포에 비해 평균적으로 얼마의 비트 수를 필요로 하는 지를 의미한다.

target distribution P와 그 approximation distribution Q 간의 cross entropy는 H(P, Q) = – ∑ P(x) * log(Q(x)) 으로 정의된다.

Q(=(1-P))에 log를 쓰는 이유는 p가 1일때 q가 1에서 멀어질수록 급격한 속도로 loss가 커진다. 이러한 특성을 담기 위해 log를 사용한다.

  • If the predicted value is 0, then the formula above will return a loss of 0.
  • If the predicted value is 0.5, then the formula above will return a loss of 0.69
  • If the predicted value is 0.99, then the formula above will return a loss of 4.6

code: -sum([p[i]*log2(q[i]) for i in range(len(p))])  ... p, q는 각각 probability distribution, 연속이라면 적분 계산.

비트 수에 대한 개념이므로 밑이 2인 로그함수를 사용한다.

결과값은 비트 수이므로 양수이며, 두 분포가 완벽하게 같다면 나오는 값은 한 분포의 엔트로피(자기 자신의 엔트로피)로 나올 것이다.

 

이 개념을 활용한 것이 cross entropy loss로, logistic loss로도 불린다.

Binary cross entropy loss (log loss)

N개의 데이터에 대해, ground truth y와 prediction p(y)를 계산

  • y가 1(true)인 경우, p(y)만 더함 (true case probability). p(y)가 1에 가까울수록 loss는 작아지므로 make sense.
  • y가 0(false)인 경우, 1-p(y)만 더함 (false case probability). p(y)가 0에 가까울수록 loss가 작아지므로 make sense. 

 

Multi-class cross entropy loss (log loss)

N개 데이터에 대하여, 각 데이터의 gt class에 대해, 해당 클래스에 속할 확률을 합산해 데이터의 평균을 구함

각 데이터의 해당 클래스에 대한 값이 확정적으로 높게 나와야 entropy가 줄어듦.

 

Negative log likelihood(NLL) loss

ce loss를 MLE 측면에서 표현한 것. 결국 ce loss와 같다.

 

 

참고자료)

https://machinelearningmastery.com/cross-entropy-for-machine-learning/

https://towardsdatascience.com/understanding-sigmoid-logistic-softmax-functions-and-cross-entropy-loss-log-loss-dbbbe0a17efb