코딩 및 기타

kullback-Leibler divergence , 쿨백-라이블러 발산

정지홍 2025. 9. 14. 13:16

kullback-Leibler divergence

  • 두 확률분포의 차이를 계산하는데 사용하는 함수이다.
    • 어떠한 이상적은 분포에 대해서, 그 분포를 근사하는 다른 분포를 사용해서 샘플링 한다면, 발생할 수 있는 정보 엔트로피 차이를 계산한다.
    • 즉, "진짜 분포 p" "가짜/근사 분포 q"가 얼마나 다른지를 측정하는 비대칭적인 거리이다.
  • 이는 비대칭이며, 두 값의 위치를 바꾸면 함수값도 달라진다. 즉, 거리함수는 아니다.

 

 

 

KL발산의 식... 위는 이산확률변수...아래는 연속확률변수

  • P(x)는 실제 분포이다.
  • Q(x)는 모델 분포 or 근사하려는 분포이다.
  • 엔트로피 차이  ==> KL발산은 Q분포P를 근사할때, 얼마나 더 많은 정보가 필요한지 나타낸다.
    • 엔트로피 차이값이 작다. ===> Q가 P를 잘 근사하고 있음을 의미.
    • 엔트로피 차이값이 크다. ===> 근사도가 낮다.
  • 위의 식은 비대칭이다. 그러니 거리함수가 아니다.

  • 다시 말해서, 실제 데이터의 분포가 이고, 알고리즘 또는 모델이 Q라는 분포로 예측한다고 할 때,
    KL 발산이 높으면, 모델의 예측이 실제 데이터와 많이 다름을 의미한다