Quelle est la valeur maximale de la divergence Kullback-Leibler (KL)

14

Je vais utiliser la divergence KL dans mon code python et j'ai eu ce tutoriel .

Sur ce tutoriel, implémenter la divergence KL est assez simple.

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

Si je comprends bien, la distribution de probabilité de modelet actualdevrait être <= 1.

Ma question est, quelle est la valeur maximale liée / maximale possible de k ?. J'ai besoin de connaître la valeur maximale possible de la distance kl comme pour la limite maximale dans mon code.

user46543
la source
Ceci est un double de stats.stackexchange.com/q/333877/103153
Lerner Zhang

Réponses:

17

Ou même avec le même support, quand une distribution a une queue beaucoup plus grosse que l'autre. Soit

KL(P||Q)=p(x)log(p(x)q(x))dx
lorsque
p(x)=1π11+x2Cauchy densityq(x)=12πexp{x2/2}Normal density
alors
KL(P||Q)=1π11+x2logp(x)dx+1π11+x2[log(2π)/2+x2/2]dx
et
1π11+x2x2/2dx=+
Il existe d'autres distances qui restent limitées telles que
  • la distance L¹ , équivalente à la distance de variation totale,
  • les distances de Wasserstein
  • la distance Hellinger
Xi'an
la source
1
Très bonne remarque @ Xi'an
Carlos Campos
Merci @ Xi'an est-ce que cela signifie que même la somme de tous les casiers pour les deux distributions est = 1, la divergence kl n'a pas de limite maximale? avez-vous une autre fonction de distance d'options pour la distribution de deux probabilités qui a défini la limite maximale / limite statique?
user46543
P est-il absolument continu par rapport à Q dans ce cas?
Sangwoong Yoon
Dans quel cas"? Le KL n'est pas défini comme tel pour les distributions qui ne sont pas absolument continues les unes par rapport aux autres, je crois.
Xi'an
12

Pour les distributions qui n'ont pas le même support, la divergence KL n'est pas limitée. Regardez la définition:

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

si P et Q n'ont pas le même support, il existe un point p ( x ) 0 et q ( x ) = 0 , faisant passer KL à l'infini. Ceci s'applique également aux distributions discrètes, ce qui est votre cas.xp(x)0q(x)=0

Edit: Peut-être un meilleur choix pour mesurer la divergence entre les distributions de probabilité serait la distance dite de Wasserstein qui est une métrique et a de meilleures propriétés que la divergence KL. Il est devenu très populaire en raison de ses applications dans le deep-learning (voir réseaux WGAN)

Carlos Campos
la source
Merci @ carlos-campos ma distribution à la fois le réel et le modèle ont la même condition qui est la somme de tous les casiers = 1. Est-ce à dire que ma divergence Kl n'a toujours pas de limite maximale? Je vais regarder la distance de
Wassertein
la distance de Wasserstein ou du moteur de la Terre a-t-elle une limite maximale explicite? parce que j'en ai besoin.
user46543
@ user46543 La distance à Wasserstein peut être aussi élevée que
Mark L. Stone
Salut @ MarkL.Stone donc il n'y a pas de fonction de distance pour calculer la distance entre deux distributions de probabilité qui a la limite maximale statique? Par exemple, alors que deux distributions de probabilité ont une somme de 1 et que la limite maximale de la distance sera 1. Ai-je raison?
user46543
3

Pour ajouter aux excellentes réponses de Carlos et Xi'an , il est également intéressant de noter qu'une condition suffisante pour que la divergence KL soit finie est que les deux variables aléatoires aient le même support compact et que la densité de référence soit limitée . Ce résultat établit également une borne implicite pour le maximum de la divergence KL (voir théorème et preuve ci-dessous).


Théorème: Si les densités et q ont le même support compact X et que la densité p est bornée sur ce support (c'est-à-dire qu'elle a une borne supérieure finie) alors K L ( P | | Q ) < .pqXpKL(P||Q)<

Preuve: Puisque a un support compact X, cela signifie qu'il existe une valeur infimum positive:qX

q_infxXq(x)>0.

De même, puisque a un support compact X, cela signifie qu'il existe une valeur de supremum positive:pX

p¯supxXp(x)>0.

De plus, comme ce sont les deux densités sur le même support, et que ce dernier est borné, on a . Cela signifie que:0<q_p¯<

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

Maintenant, en laissant la dernière borne supérieure, nous avons clairement 0 L _ < ∞ de sorte que: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_<.

Réintégrer Monica
la source
The result is correct but the constraint heavy: a Beta B(α,β) density does not enjoy a compact support when max(α,β)>1.
Xi'an
That's true: it is only a sufficient condition after all. Weaker sufficient conditions are welcome!
Reinstate Monica