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.


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

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)


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_<.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.