코딩 및 기타
kullback-Leibler divergence , 쿨백-라이블러 발산
정지홍
2025. 9. 14. 13:16
kullback-Leibler divergence
- 두 확률분포의 차이를 계산하는데 사용하는 함수이다.
- 어떠한 이상적은 분포에 대해서, 그 분포를 근사하는 다른 분포를 사용해서 샘플링 한다면, 발생할 수 있는 정보 엔트로피 차이를 계산한다.
- 즉, "진짜 분포 p"와 "가짜/근사 분포 q"가 얼마나 다른지를 측정하는 비대칭적인 거리이다.
- 이는 비대칭이며, 두 값의 위치를 바꾸면 함수값도 달라진다. 즉, 거리함수는 아니다.

- P(x)는 실제 분포이다.
- Q(x)는 모델 분포 or 근사하려는 분포이다.
- 엔트로피 차이 ==> KL발산은 Q분포로 P를 근사할때, 얼마나 더 많은 정보가 필요한지 나타낸다.
- 엔트로피 차이값이 작다. ===> Q가 P를 잘 근사하고 있음을 의미.
- 엔트로피 차이값이 크다. ===> 근사도가 낮다.
- 위의 식은 비대칭이다. 그러니 거리함수가 아니다.
- 다시 말해서, 실제 데이터의 분포가 이고, 알고리즘 또는 모델이 Q라는 분포로 예측한다고 할 때,
KL 발산이 높으면, 모델의 예측이 실제 데이터와 많이 다름을 의미한다