Changyu Lee

기초 정보 이론 for ML

Published at
2025/03/06
Last edited time
2025/03/06 12:08
Created
2025/03/06 08:52
Section
ML
Status
Done
Series
Tags
Basic
AI summary
Keywords
Information Theory
Entropy
Cross-Entropy
KL-Divergence
Language
KOR
title: ML을 위한 기초 정보 이론 정리 description: Entropy / Cross-Entropy / KL-Divergence 등등
YAML
복사

정보 이론 기초 For ML

머신러닝과 정보이론에서 엔트로피(Entropy)와 크로스 엔트로피(Cross Entropy)는 확률 분포를 비교하고 정보를 효율적으로 표현하는 중요한 개념이다. 이번 글에서는 엔트로피의 기본 개념부터 크로스 엔트로피, 그리고 KL-발산(KL-Divergence)까지 차근차근 살펴보기로 한다.

엔트로피 (Entropy)

엔트로피정보를 표현하는 데 필요한 평균 최소 자원량을 의미하며, 확률 분포에 따라 다르게 결정된다. 이는 정보이론에서 불확실성(uncertainty)을 측정하는 지표로 사용된다.
엔트로피의 의미
확률이 낮은 사건 → 정보를 길게 표현해야 한다.
확률이 높은 사건 → 짧게 표현할 수 있다.
왜 -log로 되어있는가와 연결됨.
정보량 = log212=1bit-log_2{{1}\over{2}} = 1 bit
반면, log216=2.58..bit-log_2{{1}\over{6}} = 2.58.. bit
희귀한 사건일수록 표현하는 정보량이 많아지게 됨.
최적의 정보 표현을 위해 확률과 정보의 길이는 log2P(x)\log_2 P(x) 형태를 따르게 된다.
즉, 엔트로피는 확률 분포 P(x)를 기반으로 평균적인 정보량을 나타내며, 수식으로는 다음과 같이 정의된다.
H(P)=xXP(x)log2P(x)H(P)=−∑_{x∈X}P(x)log_{2}P(x)
P(x): 특정 사건 X가 발생할 확률
log_2 P(x): 해당 사건을 코드로 표현하는 데 필요한 비트 수 (정보량)
엔트로피의 성질
확률 분포가 균등할수록(entropy가 최대일수록) 불확실성이 가장 크다.
즉, 모든 사건이 동일한 확률을 가진 균등 분포(Uniform Distribution)일 때 엔트로피가 최대가 된다.
확률 분포가 치우칠수록(entropy가 낮을수록) 예측이 쉬워진다.
예를 들어, 모든 데이터가 같은 클래스에 속한다면(즉, 확률이 1 또는 0이라면) 엔트로피는 0이 된다.
확률 분포가 완전히 균등할 때 (e.g., 공정한 주사위)
H(P)=log2XH(P)=log_{⁡2}|X|
즉, 모든 사건이 같은 확률을 가진다면 엔트로피는 가능한 사건 수의 로그 값과 같다.
연속 확률 변수의 경우, 로그는 밑이 2가 아니라 자연로그(ln)를 사용한다.
H(P)=p(x)lnp(x)dxH(P) = - \int p(x) \ln p(x) dx
이때, 엔트로피가 최대가 되는 분포는 X가 정규분포(Gaussian Distribution)를 따를 때이다.

크로스 엔트로피 (Cross Entropy)

크로스 엔트로피(Cross Entropy)는 두 개의 확률 분포 P와 Q 사이의 차이를 측정하는 개념이다.
예측한 분포 Q(x)가 실제 분포인 P(x)와 얼마나 다른지를 나타내며,
특정 확률 분포 P(x)를 따르는 데이터가 있을 때, 이를 다른 확률 분포 Q(x)로 표현하려고 하면 얼마나 비효율적인지를 나타낸다.
독립적일수록 값은 0까지 내려가며, 상호 의존적일 때는 높아진다.
크로스 엔트로피 공식
H(P,Q)=xXP(x)log2Q(x)H(P, Q) = - \sum_{x \in X} P(x) \log_2 Q(x)
여기서,
P(x): 실제 확률 분포 (Ground Truth)
Q(x): 모델이 예측한 확률 분포
크로스 엔트로피는 원래의 확률 분포 P를 기준으로 모델이 예측한 분포 Q의 성능을 평가하는 역할을 한다.
이 값이 작을수록 모델이 실제 확률 분포와 가깝게 예측하고 있다는 의미다.
크로스 엔트로피의 활용
분류(Classification) 문제에서 손실 함수(Loss Function)로 사용된다.
특히, 신경망에서 다중 클래스 분류(Multi-class Classification)를 수행할 때, 소프트맥스(Softmax)와 함께 사용된다.
이진 분류(Binary Classification)에서의 크로스 엔트로피 손실
H(P,Q)=ylogy^(1y)log(1y^)H(P, Q) = - y \log \hat{y} - (1 - y) \log (1 - \hat{y})
yy: 실제 클래스 (0 또는 1)
y^\hat{y}: 모델이 예측한 확률 값
다중 클래스 분류(Multi-class Classification)에서의 크로스 엔트로피 손실
H(P,Q)=iyilogy^iH(P, Q) = - \sum_{i} y_i \log \hat{y}_i
yiy_i: 실제 클래스의 one-hot 벡터
y^i\hat{y}_i: 모델이 예측한 확률 분포

KL-Divergence

KL-Divergence (Kullback-Leibler Divergence, KL Divergence)은 모델이 예측한 분포와 실제 분포에 대해 두 확률 분포가 얼마나 다른지를 측정하는 지표다.
즉, 모델이 예측한 분포 Q가 실제 데이터의 분포 P를 얼마나 비효율적으로 설명하는지를 나타낸다.
KL-Divergence 공식
DKL(PQ)=xXP(x)logP(x)Q(x)D_{KL}(P | Q) = \sum_{x \in X} P(x) \log \frac{P(x)}{Q(x)}
P(x): 실제 확률 분포 (Ground Truth)
Q(x): 모델이 예측한 확률 분포
KL-Divergence의 의미
DKL(PQ)=0D_{KL}(P \| Q) = 0이면 두 분포가 완전히 동일하다는 의미.
수식적으로 임의의 x에 대해 P(x) == Q(x)가 되어 log 1 = 0 이 나옴
KL-Divergence은 항상 0 이상이며, 대칭성이 없다. (=거리 개념이 아니다)
DKL(PQ)DKL(QP)D_{KL}(P \| Q) \neq D_{KL}(Q \| P)
KL-Divergence이 클수록 모델이 실제 분포를 잘 따라가지 못한다는 의미를 가진다.
KL-Divergence과 크로스 엔트로피의 관계
크로스 엔트로피는 KL-Divergence과 엔트로피의 합으로 표현될 수 있다.
H(P,Q)=H(P)+DKL(PQ)H(P, Q) = H(P) + D_{KL}(P \| Q)
대개 크로스 엔트로피를 최소화하는 것은 KL-Divergence을 최소화한다는 이야기와 같다.
KL Divergence 와 Mutual Information
I(X;Y)=DKL(P(X,Y)P(X)P(Y))=ijP(xi,yj)logP(xi,yj)P(xi)P(yj)I(X; Y) = D_{KL}(P(X, Y) \| P(X)P(Y)) = \sum_{i} \sum_{j} P(x_i, y_j) \log \frac{P(x_i, y_j)}{P(x_i) P(y_j)}
P(xi,yj)P(x_i, y_j): 실제 공동 확률(Joint Probability).
P(xi)P(yj)P(x_i) P(y_j): 독립 가정하에서의 확률 (Marginal Probabilities의 곱).
이중 시그마 (ij\sum_i \sum_j): 두 개의 확률 변수에 대한 모든 가능한 조합을 고려.
이 경우에는 X, Y가 서로 독립인 경우 KL-Divergence가 0이 나오게 된다.
위 식은 KL-Divergence를 통해 확률 변수 X와 Y의 상호 정보량(Mutual Information, MI)을 측정하는 공식으로서,
P(xi,yj)=P(xi)P(yj)P(x_i, y_j) = P(x_i) P(y_j) 이므로 KL-Divergence가 0이 되고, 상호 정보량도 0이 됨.
반대로 서로 의존적인 관계일수록 KL-Divergence 값이 커짐

정리 및 결론

개념
수식
의미
엔트로피 (Entropy)
H(P) = -\sum P(x) \log P(x)
한 확률 분포의 평균 정보량 (불확실성 측정)
크로스 엔트로피 (Cross Entropy)
H(P, Q) = -\sum P(x) \log Q(x)
실제 분포 P(x)를 모델이 예측한 분포 Q(x)로 표현하는 데 필요한 정보량
KL-발산 (KL-Divergence)
D_{KL}(P \| Q) = \sum P(x) \log \frac{P(x)}{Q(x)}
모델이 예측한 분포 QQ가 실제 분포 PP와 얼마나 다른지 측정
요약
엔트로피는 한 확률 분포의 불확실성을 나타낸다. (균등하면 불확실성이 큼)
크로스 엔트로피는 모델이 예측한 분포가 실제 분포와 얼마나 다른지 평가하는 지표다.
KL-Divergence는 크로스 엔트로피에서 엔트로피를 제외한 비효율성의 정도를 나타내며 상호 정보량(MI)를 판단하는데 사용된다.
이 때 서록 독립인 경우 0에 가까움
머신러닝에서 크로스 엔트로피는 주요 손실 함수로 사용되며, 모델이 실제 분포를 잘 따르게 하는 방향으로 최적화된다.

References

[딥러닝] 4강. 정보 이론 기초 15분 컷! (엔트로피, 크로스-엔트로피, KL-divergence, Mutual information)
15분으로 맛볼 수 있는 압축 정보이론!! 본 강의는 "팡요랩"의 KL-divergence 강의 ( https://youtu.be/Dc0PQlNQhGY )를 참고했음을 알립니다! ----------------------- #Entropy #Cross_entropy #KL_divergence #Mutual_information 혁펜하임 응원하기!: youtube.com/c/혁펜하임/join 혁펜하임 홈페이지: https://hyukppen.modoo.at/ 혁펜하임 인스타: https://instagram.com/hyukppen --------------------------------------------- https://youtube.com/playlist?list=PL_iJu012NOxcDuKgSjTKJZJd3bQtkAyZU https://youtube.com/playlist?list=PL_iJu012NOxdZDxoGsYidMf2_bERIQaP0 https://youtube.com/playlist?list=PL_iJu012NOxea6yN2PUzw8hQ2Aniog8ql https://youtube.com/playlist?list=PL_iJu012NOxfU0yTYiNKgGGVCtPrUuq0D https://youtube.com/playlist?list=PL_iJu012NOxdw1jc3KEo8Mq5oD5SXKhLu https://youtube.com/playlist?list=PL_iJu012NOxd_lWvBM8RfXeB7nPYDwafn https://youtube.com/playlist?list=PL_iJu012NOxdt7VSZK0sE2YvltT7NOlHH https://youtube.com/playlist?list=PL_iJu012NOxdDZEygsVG4jS8srnSdIgdn https://youtube.com/playlist?list=PL_iJu012NOxehE8fdF9me4TLfbdv3ZW8g https://youtube.com/playlist?list=PL_iJu012NOxeMJ5TPPW1JZKec7rhjKXUy --------------------------------------------- 0:00 - Entropy 8:23 - Cross-entropy 10:00 - KL-divergence 11:10 - Mutual information 13:44 - 1분 상식 (왜 독립일 때 p(x,y)=p(x)p(y)? )