title: ML을 위한 기초 정보 이론 정리
description: Entropy / Cross-Entropy / KL-Divergence 등등
YAML
복사
정보 이론 기초 For ML
머신러닝과 정보이론에서 엔트로피(Entropy)와 크로스 엔트로피(Cross Entropy)는 확률 분포를 비교하고 정보를 효율적으로 표현하는 중요한 개념이다. 이번 글에서는 엔트로피의 기본 개념부터 크로스 엔트로피, 그리고 KL-발산(KL-Divergence)까지 차근차근 살펴보기로 한다.
엔트로피 (Entropy)
엔트로피란 정보를 표현하는 데 필요한 평균 최소 자원량을 의미하며, 확률 분포에 따라 다르게 결정된다. 이는 정보이론에서 불확실성(uncertainty)을 측정하는 지표로 사용된다.
•
◦
확률이 낮은 사건 → 정보를 길게 표현해야 한다.
◦
확률이 높은 사건 → 짧게 표현할 수 있다.
◦
왜 -log로 되어있는가와 연결됨.
▪
정보량 =
•
반면,
▪
희귀한 사건일수록 표현하는 정보량이 많아지게 됨.
◦
최적의 정보 표현을 위해 확률과 정보의 길이는 형태를 따르게 된다.
즉, 엔트로피는 확률 분포 P(x)를 기반으로 평균적인 정보량을 나타내며, 수식으로는 다음과 같이 정의된다.
◦
P(x): 특정 사건 X가 발생할 확률
▪
log_2 P(x): 해당 사건을 코드로 표현하는 데 필요한 비트 수 (정보량)
•
◦
확률 분포가 균등할수록(entropy가 최대일수록) 불확실성이 가장 크다.
▪
즉, 모든 사건이 동일한 확률을 가진 균등 분포(Uniform Distribution)일 때 엔트로피가 최대가 된다.
◦
확률 분포가 치우칠수록(entropy가 낮을수록) 예측이 쉬워진다.
▪
예를 들어, 모든 데이터가 같은 클래스에 속한다면(즉, 확률이 1 또는 0이라면) 엔트로피는 0이 된다.
•
즉, 모든 사건이 같은 확률을 가진다면 엔트로피는 가능한 사건 수의 로그 값과 같다.
•
연속 확률 변수의 경우, 로그는 밑이 2가 아니라 자연로그(ln)를 사용한다.
◦
◦
이때, 엔트로피가 최대가 되는 분포는 X가 정규분포(Gaussian Distribution)를 따를 때이다.
크로스 엔트로피 (Cross Entropy)
크로스 엔트로피(Cross Entropy)는 두 개의 확률 분포 P와 Q 사이의 차이를 측정하는 개념이다.
예측한 분포 Q(x)가 실제 분포인 P(x)와 얼마나 다른지를 나타내며,
특정 확률 분포 P(x)를 따르는 데이터가 있을 때, 이를 다른 확률 분포 Q(x)로 표현하려고 하면 얼마나 비효율적인지를 나타낸다.
독립적일수록 값은 0까지 내려가며, 상호 의존적일 때는 높아진다.
•
여기서,
◦
P(x): 실제 확률 분포 (Ground Truth)
◦
Q(x): 모델이 예측한 확률 분포
크로스 엔트로피는 원래의 확률 분포 P를 기준으로 모델이 예측한 분포 Q의 성능을 평가하는 역할을 한다.
이 값이 작을수록 모델이 실제 확률 분포와 가깝게 예측하고 있다는 의미다.
•
◦
분류(Classification) 문제에서 손실 함수(Loss Function)로 사용된다.
◦
특히, 신경망에서 다중 클래스 분류(Multi-class Classification)를 수행할 때, 소프트맥스(Softmax)와 함께 사용된다.
•
◦
: 실제 클래스 (0 또는 1)
◦
: 모델이 예측한 확률 값
•
◦
: 실제 클래스의 one-hot 벡터
◦
: 모델이 예측한 확률 분포
KL-Divergence
KL-Divergence (Kullback-Leibler Divergence, KL Divergence)은 모델이 예측한 분포와 실제 분포에 대해 두 확률 분포가 얼마나 다른지를 측정하는 지표다.
즉, 모델이 예측한 분포 Q가 실제 데이터의 분포 P를 얼마나 비효율적으로 설명하는지를 나타낸다.
•
KL-Divergence 공식
◦
P(x): 실제 확률 분포 (Ground Truth)
◦
Q(x): 모델이 예측한 확률 분포
•
◦
이면 두 분포가 완전히 동일하다는 의미.
▪
수식적으로 임의의 x에 대해 P(x) == Q(x)가 되어 log 1 = 0 이 나옴
◦
KL-Divergence은 항상 0 이상이며, 대칭성이 없다. (=거리 개념이 아니다)
◦
KL-Divergence이 클수록 모델이 실제 분포를 잘 따라가지 못한다는 의미를 가진다.
•
◦
크로스 엔트로피는 KL-Divergence과 엔트로피의 합으로 표현될 수 있다.
◦
대개 크로스 엔트로피를 최소화하는 것은 KL-Divergence을 최소화한다는 이야기와 같다.
•
◦
: 실제 공동 확률(Joint Probability).
◦
: 독립 가정하에서의 확률 (Marginal Probabilities의 곱).
◦
이중 시그마 (): 두 개의 확률 변수에 대한 모든 가능한 조합을 고려.
◦
이 경우에는 X, Y가 서로 독립인 경우 KL-Divergence가 0이 나오게 된다.
▪
위 식은 KL-Divergence를 통해 확률 변수 X와 Y의 상호 정보량(Mutual Information, MI)을 측정하는 공식으로서,
•
이므로 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에 가까움
•
머신러닝에서 크로스 엔트로피는 주요 손실 함수로 사용되며, 모델이 실제 분포를 잘 따르게 하는 방향으로 최적화된다.