데이터 과학 노트

KL Divergence와 Cross-Entropy의 관계 본문

Data Science/Machine Learning

KL Divergence와 Cross-Entropy의 관계

Data Scientist Note 2025. 10. 9. 17:21

1. KL Divergence란?

KL Divergence (Kullback–Leibler Divergence)는 두 확률분포 PQ 사이의 차이를 측정하는 지표입니다.

DKL(P‖Q) = Σ P(x) · log(P(x) / Q(x))

이 값은 항상 0 이상이며, P = Q일 때만 0이 됩니다.
즉, 모델 Q가 실제 분포 P를 얼마나 잘 근사하는지를 나타냅니다.

KL Divergence는 대칭적이지 않기 때문에 거리(distance)가 아닌 발산(divergence)이라고 부릅니다.

DKL(P‖Q) ≠ DKL(Q‖P)

2. Entropy와 Cross-Entropy

두 확률분포 P, Q가 있을 때 다음을 정의합니다.

Entropy

H(P) = - Σ P(x) · log P(x)

→ 분포 P가 가진 내재적 불확실성을 의미합니다.

Cross-Entropy

H(P, Q) = - Σ P(x) · log Q(x)

→ 실제 분포 P를 모델 Q로 설명할 때 필요한 평균 정보량을 의미합니다.


3. 세 개의 관계

세 개의 개념은 다음 관계로 연결됩니다.

DKL(P‖Q) = H(P, Q) - H(P)

즉,
KL Divergence = Cross-Entropy − Entropy

개념 의미 해석
H(P) 실제 데이터의 불확실성 세상의 본질적 복잡도
H(P, Q) 모델이 세상을 설명하는 복잡도 모델이 세상을 인코딩할 때 필요한 정보량
DKL(P‖Q) 두 복잡도의 차이 모델이 실제를 얼마나 비효율적으로 표현하는가

4. 머신러닝에서의 의미

머신러닝에서는 실제 분포 P를 알 수 없고 데이터 표본만 관찰할 수 있습니다.
따라서 H(P)는 상수로 간주됩니다.

결과적으로, KL Divergence를 최소화하는 것
Cross-Entropy를 최소화하는 것과 같습니다.

minimize DKL(P‖Q)
≡
minimize H(P, Q)

그래서 딥러닝의 분류 문제에서 Cross-Entropy Loss가 가장 널리 사용됩니다.


5. 요약

항목 수식 의미
Entropy H(P) = -Σ P(x) log P(x) 실제 분포의 불확실성
Cross-Entropy H(P, Q) = -Σ P(x) log Q(x) 모델이 실제를 설명하는 정보량
KL Divergence DKL(P‖Q) = H(P, Q) - H(P) 모델과 실제의 차이

정리하자면:
Cross-Entropy는 모델이 실제 분포를 얼마나 잘 설명하는지를 나타내고
KL Divergence는 그 오차(비효율성)를 수치로 측정한 값입니다.
결국 머신러닝의 학습은 이 발산을 최소화하는 과정이라고 볼 수 있습니다.