본문 바로가기
Study (Data Science)/DL

Entropy / Cross - Entropy

by 콜라찡 2023. 1. 12.

Entropy

  • 불확실성(uncertainty)에 대한 척도.
  • 예측모델의 궁극적인 목표는 불확실성 제어에 있다.
  • 불확실성이 없을 때, 즉 내가 사람이라는 사실에 있어 entropy는 0이다.
  • 어떤 사건이 같은 비율로 발생한다고 하고, 사건의 갯수를 n이라고 하면, entropy는 log(n)이다.
  • 만약 양념치킨과 후라이드 치킨이 반반일 때의 entropy는 log(2) = 0.69이다. 
  • 여기서 2는 사건의 갯수로, 양념을 집거나 후라이드를 집는 사건, 총 2개가 된다.
  • 하지만 치킨맛이 2개가 아닌 여러개고, 맛마다 치킨조각이 다르다면, 공식이 필요해진다.

엔트로피 구하는 공식

  • H(q) : 엔트로피 
  • C : 범주갯수 = 치킨 맛이 몇개인가
  • q : 사건의 확률질량함수 (probability mass function) = 각 사건이 일어날 확률
  • 후라이드  :  양념 = 20:80 일 경우,
  • H(q) = - (0.2log(0.2)+0.8log(0.8)) = 0.5 이다. 
  • 후라이드:양념:어니언:치즈:불닭 = 10:10:40:20:20 일 경우, 
  • - ((0.1* np.log(0.1))+(0.1 * np.log(0.1))+(0.4 * np.log(0.4))+(0.2 * np.log(0.2))+(0.2 * np.log(0.2)))  = 1.47
  • 불확실성이 높을 수록, 엔트로피는 높다.

Cross - entropy

  • A 바구니(train) 의 치킨분포가 B바구니(test) 의 치킨분포와 얼마나 다른지 측정하는 방법. 두 쪽의 치킨바구니를 비교하고 이 둘이 얼마나 다른지를 cross로 비교하는 것. 
  • 하지만 예측모형은 B 바구니의 실제 분포인 q를 모르며, 이를 예측하고자 하는 것이다. 
  • train data는 실제 분포인 q를 알 수 있기 때문에 entropy = H(q)를 구할수가 있다.
  • test data는 실제 분포인 q를 가능하는 것이고, 이에대한 entropy = Hp(q)라고 표시한다.
  • 그래서 cross-entropy는 loss function으로 사용하여 학습의 방향을 알려주는데 사용할 수 있다.
  • H(q)를 참고하여 모델은 Hp(q)와의 잔차가 적어지는 방향으로 학습을 진행하게 된다.

 

728x90

댓글