Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- posterior collapse
- PSNR
- python3
- ARIMA
- 대칭키
- public key
- session 미종료
- prompt engineering
- Inductive Learning
- Transductive Learning
- GCP
- zachary’s karate club
- PyTorch
- Vertex AI
- DeepLearing.AI
- SSIM
- Spectral GNN
- 이상 탐지
- Google Cloud
- Spatial GNN
- deepseek
- 생성 모델
- 사회 네트워크 분석
- ChatGPT
- cross-entropy
- Grad-CAM
- 생성 모델 평가
- kl divergence
- mode collapse
- GNN
Archives
- Today
- Total
데이터 과학 노트
KL Divergence와 Cross-Entropy의 관계 본문
Data Science/Machine Learning
KL Divergence와 Cross-Entropy의 관계
Data Scientist Note 2025. 10. 9. 17:211. KL Divergence란?
KL Divergence (Kullback–Leibler Divergence)는 두 확률분포 P와 Q 사이의 차이를 측정하는 지표입니다.
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는 그 오차(비효율성)를 수치로 측정한 값입니다.
결국 머신러닝의 학습은 이 발산을 최소화하는 과정이라고 볼 수 있습니다.
'Data Science > Machine Learning' 카테고리의 다른 글
[deeplearning.ai] ChatGPT Prompt Engineering for Developers (0) | 2023.06.06 |
---|---|
Gold Label vs. Silver label (0) | 2023.05.15 |
가능도 (likelihood) (0) | 2023.03.15 |
Transductive vs. Inductive Learning (0) | 2022.01.02 |