KL (Kullback-Leibler) 발산의 최대 값은 얼마입니까?


15

파이썬 코드에서 KL 분기를 사용 하고이 자습서를 얻었습니다 .

이 튜토리얼에서 KL 분기를 구현하는 것은 매우 간단합니다.

kl = (model * np.log(model/actual)).sum()

이해 된 바와 같이, 확률 분포 modelactual<= 1이어야한다.

내 질문은 k의 최대 한계 / 최대 가능한 값은 무엇입니까?입니다. 내 코드의 최대 경계와 관련하여 kl 거리의 최대 값을 알아야합니다.


답변:


19

또는 동일한 분포를 사용하더라도 한 분포가 다른 분포보다 꼬리가 더 뚱뚱 할 때. K L ( P | | Q ) = p ( x ) 로그를 취합니다 ( p ( x )p ( x ) = 코시 밀도 when 1 일 d x

KL(P||Q)=p(x)log(p(x)q(x))dx
다음 KL(P||Q)=1
p(x)=1π11+x2Cauchy densityq(x)=12πexp{x2/2}Normal density
1
KL(P||Q)=1π11+x2logp(x)dx+1π11+x2[log(2π)/2+x2/2]dx
다음과 같이 경계를 유지하는 다른 거리가 있습니다
1π11+x2x2/2dx=+
  • 총 변동 거리에 해당 하는 거리L¹
  • Wasserstein 거리
  • 헬 링거 거리

1
아주 좋은 말 @ Xi'an
Carlos Campos

감사합니다 @ Xi'an은 두 분포에 대한 모든 빈의 합조차도 1이고 kl 분기가 최대 한계가 없다는 것을 의미합니다. 최대 경계 / 정적 경계를 정의한 두 확률 분포에 대한 다른 옵션 거리 함수가 있습니까?
user46543

이 경우 P는 Q와 관련하여 절대적으로 연속적입니까?
Sangwoong Yoon

어떤 "경우"? KL은 내가 믿고 있다고해서 절대적으로 연속적이지 않은 분포에 대해서는 그렇게 정의되지 않았습니다.
Xi'an

13

동일한 지원이없는 배포의 경우 KL 분기는 제한되지 않습니다. 정의를보십시오 :

KL(P||Q)=p(x)ln(p(x)q(x))dx

P 및 Q는 동일하지 지지체가있는 경우, 어떤 시점이 존재 및 KL 무한대로 이동 만드는. 이것은 또한 개별 배포판에도 적용됩니다. p ( x ) 0 q ( x ) = 0xp(x)0q(x)=0

편집 : 어쩌면 확률 분포 사이의 발산을 측정하는 더 좋은 선택은 메트릭이며 KL 발산보다 더 나은 속성을 갖는 소위 Wasserstein 거리 일 것입니다. 딥 러닝 응용 프로그램으로 인해 인기가 높아졌습니다 (WGAN 네트워크 참조).


고맙습니다 @ carlos-campos 실제 분포와 모델 분포 모두 동일한 빈의 합계 = 1 인 동일한 조건을 갖습니다. 즉, K1 분기가 여전히 최대 한계를 갖지 않습니까? wassertein 거리를 볼 것입니다
user46543

Wasserstein 또는 Earth mover 거리에 명시적인 최대 한계가 있습니까? 내가 필요하기 때문에.
user46543

@ user46543 Wasserstein 거리는 만큼 높을 수있다
Mark L. Stone

안녕 @ MarkL.Stone 그래서 정적 최대 경계를 가진 두 확률 분포 사이의 거리를 계산하기위한 거리 함수가 없습니까? 예를 들어 두 확률 분포의 합은 1이고 거리의 최대 경계는 1입니다. 맞습니까?
user46543

4

CarlosXi'an 의 탁월한 답변을 추가하기 위해 KL 발산이 유한하기에 충분한 조건은 임의의 변수가 동일한 소형지지를 가지며 참조 밀도가 제한되는 것입니다. . 이 결과는 또한 KL 발산의 최대치에 대한 암시 적 한계를 설정합니다 (아래의 정리 및 증명 참조).


정리 : 밀도 와 가 동일한 소형 지지대 를 갖고 밀도 가 해당 지지대에 한정되어있는 경우 (즉, 유한 상한이있는 경우) .q X p K L ( P | | Q ) < pqXpKL(P||Q)<

증명 : 는 간단한 지원 때문에 긍정적 인 가치가 없음을 의미합니다.XqX

q_infxXq(x)>0.

마찬가지로, 는 대한 간단한 지원을 가지고 있기 때문에 긍정적 인 가치가 있음을 의미합니다.pX

p¯supxXp(x)>0.

또한 이들은 모두 동일한 지원에 대한 밀도이며 후자는 제한적이므로 있습니다. 이것은 다음을 의미합니다.0<q_p¯<

supxXln(p(x)q(x))ln(p¯)ln(q_).

이제시키는 후자의 상한, 우리는 분명히 가져야 그래서 그:L_ln(p¯)ln(q_)0L_<

KL(P||Q)=Xln(p(x)q(x))p(x)dxsupxXln(p(x)q(x))Xp(x)dx(ln(p¯)ln(q_))Xp(x)dx=L_<.

이것은 필요한 상한을 정해 정리를 증명한다.


결과는 정확하지만 제약이 심합니다. Beta 밀도는 때 소형 지원을받지 않습니다 . B(α,β)max(α,β)>1
시안

사실입니다. 결국 충분한 조건 일뿐입니다. 약한 조건은 환영합니다!
벤-복원 모니카
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.