Information theory basic for ML
: event가 지닌 정보를 정량화 할 수 있나?
- 기본원리 : 확률이 작을수록 많은 정보를 가진다
즉, 자주 발생하는 사건보다는 잘 일어나지 않는 사건의 정보량이 더 많다.
- ex) 아침해 해가 뜬다. vs 아침에 일식이 있었다.
- 아침해 해가 뜨는건 매일 발생하는 사건이고 일식은 드문 사건임으로 후자가 더 많은 정보량을 가진다.
self information
- 사건 \(e_i\) 의 정보량
: \(h(e_i) = -log_2P(e_i)\) or \(h(e_i) = -log_eP(e_i)\)
- 해당하는 event가 얼마만큼의 확률을 가지고 있는지
- 확률변수 하나의 대해서 측정 한 것
ex)
- 동전에서 앞면이 나오는 사건의 정보량 : \(-log_2(\frac{1}{2}) = 1\)
- 주사위에서 1이 나오는 사건의 정보량 : \(-log_2(\frac{1}{6}) ≒ 2.58\)
entropy
- 확률 변수 \(x\)의 불확실성을 나타내는 것
- 전체 사건 정보량을 기대값으로 표현
- 이산확률 분포 : \(H(x) = - \sum_{i =1,k} P(e_i)log_2P(e_i)\) or \(-\sum_{i =1,k} P(e_i)log_eQ(e_i)\)
- 연속확률분포 : \(H(x) = - \int_R P(x)log_2P(x)\) or \(-\int_R P(x)log_eQ(x)\)
- 정보를 얼마만큼 보내느냐에 대한 관점
- 확률간의 두 분포를 얼마만큼 유사한지 측정하는 척도로 사용
- 모든 사건이 동일한 확률 -> 어떤 사건이 일어날지 예측이 어려움 -> 불확실성이 큼 -> entropy가 높음 -> 더 큰 정보
cross entropy
-
- 두개의 확률 분포가 얼마만큼 정보를 공유하고 있는지의 대한 척도
- \(H(P,Q) = - \sum_x P(x)log_2Q(x) = -\sum_x P(e_i)log_2Q(e_i)\)
- \[H(P,Q) = - \sum_x P(x)log_2Q(x) = H(P) + \sum_x P(x)log_2\frac{P(x)}{Q(x)}\]
- \(\sum_xP(x)log_2\frac{P(x)}{Q(x)}\) : KL divergence
KL divergence : 두 확률분포간의 거리를 계산할때 주로 사용
- deep learning 의 loss fuction으로도 많이 사용
- 데이터 분포 P는 학습 과정에서 변화 X
주어진 데이터 이기때문에 변화가 없다.
- cross entropy를 loss fuction으로 사용하는 경우 -> KL divergenc를 최소화 하는거와 동일하다.
Reference
- 기계학습(오일석)
- 이재구(인공지능/2022)(국민대)