Jaka jest maksymalna wartość dywergencji Kullbacka-Leiblera (KL)

15

Zamierzam użyć rozbieżności KL w moim kodzie python i mam ten samouczek .

W tym samouczku wdrożenie rozbieżności KL jest dość proste.

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

Jak rozumiem, rozkład prawdopodobieństwa modeli actualpowinien wynosić <= 1.

Moje pytanie brzmi: jaka jest maksymalna związana / maksymalna możliwa wartość k ?. Muszę znać maksymalną możliwą wartość kl odległości jak dla maksymalnej granicy w moim kodzie.

użytkownik46543
źródło
To jest duplikat stats.stackexchange.com/q/333877/103153
Lerner Zhang,

Odpowiedzi:

19

Lub nawet przy takim samym wsparciu, gdy jedna dystrybucja ma znacznie grubszy ogon niż druga. Weź gdy a następnie i Istnieją inne odległości, które pozostają ograniczone, takie jakp ( x ) = gęstość Cauchy'ego 1

KL(P||Q)=p(x)log(p(x)q(x))dx
KL(P||P)=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=+
  • odległość, co odpowiada całkowitej długości zmianie,L¹
  • odległości Wasserstein
  • odległość Hellingera
Xi'an
źródło
1
Bardzo dobra uwaga @ Xi'an
Carlos Campos
Dzięki @ Xi'an to znaczy, że nawet suma wszystkich przedziałów dla obu dystrybucji wynosi = 1, rozbieżność kl nie ma ograniczenia maksymalnego? czy masz jakieś inne opcje funkcji odległości dla dwóch rozkładów prawdopodobieństwa, które zdefiniowały maksymalne ograniczenie / ograniczenie statyczne?
user46543
Czy w tym przypadku P jest absolutnie ciągłe w stosunku do Q?
Sangwoong Wczoraj
W którym to przypadku"? KL nie jest zdefiniowany jako taki dla dystrybucji, które nie są absolutnie ciągłe względem siebie, jak sądzę.
Xi'an
13

W przypadku dystrybucji, które nie mają tego samego wsparcia, rozbieżność KL nie jest ograniczona. Spójrz na definicję:

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

jeśli P i Q nie mają tego samego wsparcia, istnieje punkt gdzie i , co powoduje, że KL przechodzi w nieskończoność. Dotyczy to również dystrybucji dyskretnych, co jest Twoim przypadkiem.xp(x)0q(x)=0

Edycja: Być może lepszym wyborem do pomiaru rozbieżności między rozkładami prawdopodobieństwa byłaby tak zwana odległość Wassersteina, która jest metryką i ma lepsze właściwości niż rozbieżność KL. Stał się dość popularny ze względu na swoje zastosowania w głębokim uczeniu się (patrz sieci WGAN)

Carlos Campos
źródło
Dzięki @ carlos-campos mój rozkład zarówno rzeczywisty, jak i model mają ten sam warunek, który jest sumą wszystkich przedziałów = 1. Czy to oznacza, że ​​moja rozbieżność Kl nadal nie ma maksymalnego limitu? Spojrzę na odległość
wassertein
czy odległość przemieszczania Wassersteina lub Ziemi ma wyraźne ograniczenie maksymalne? ponieważ tego potrzebuję.
user46543
@ user46543 Odległość Wasserstein może być tak wysoka jak
Mark L. Stone
Cześć @ MarkL.Stone, więc nie ma funkcji odległości do obliczania odległości między dwoma rozkładami prawdopodobieństwa, która ma maksymalne ograniczenie statyczne? np. podczas gdy dwa rozkłady prawdopodobieństwa mają sumę 1, a maksymalna granica odległości wyniesie 1. Czy mam rację?
user46543
4

Aby dodać do doskonałych odpowiedzi Carlosa i Xi'ana , warto również zauważyć, że wystarczającym warunkiem, aby dywergencja KL była skończona, jest to, aby obie zmienne losowe miały tę samą zwartą podporę, a granice gęstości odniesienia były ograniczone . Wynik ten ustanawia również domyślną granicę maksymalnej dywergencji KL (patrz twierdzenie i dowód poniżej).


Twierdzenie: Jeśli gęstości i mają to samo zwarte podłoże a gęstość jest ograniczona na tym podłożu (tj. Ma skończoną górną granicę), to .pqXpKL(P||Q)<

Dowód: Ponieważ ma kompaktowe wsparcie oznacza to, że istnieje pewna dodatnia wartość minimalna:qX

q_infxXq(x)>0.

Podobnie, ponieważ ma kompaktowe wsparcie oznacza to, że istnieje pewna dodatnia wartość supremum:pX

p¯supxXp(x)>0.

Ponadto, ponieważ oba są gęstościami na tym samym wsparciu, a to drugie jest ograniczone, mamy . To znaczy że:0<q_p¯<

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

Teraz, pozwalając być ostatnią górną granicą, wyraźnie mamy więc że: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_<.

To ustanawia wymaganą górną granicę, co potwierdza twierdzenie.

Ben - Przywróć Monikę
źródło
Wynik jest poprawny, ale duże ograniczenie: gęstość Beta nie cieszy się kompaktową obsługą, gdy . B(α,β)max(α,β)>1
Xi'an
To prawda: w końcu jest to tylko wystarczający warunek. Mile widziane wystarczające warunki wystarczające!
Ben - Przywróć Monikę