Qual è il valore massimo della divergenza di Kullback-Leibler (KL)


14

Userò la divergenza di KL nel mio codice Python e ho questo tutorial .

In quel tutorial, implementare la divergenza di KL è abbastanza semplice.

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

A quanto ho capito, la distribuzione di probabilità di modele actualdovrebbe essere <= 1.

La mia domanda è: qual è il limite massimo / il massimo valore possibile di k ?. Devo conoscere il valore massimo possibile della distanza kl come per il limite massimo nel mio codice.


Risposte:


16

O anche con lo stesso supporto, quando una distribuzione ha una coda molto più grassa dell'altra. Prendi

KL(P||Q)=p(x)log(p(x)q(x))dx
quando
p(x)=1π11+x2Cauchy densityq(x)=12πexp{x2/2}Normal density
quindi
KL(P||Q)=1π11+x2logp(x)dx+1π11+x2[log(2π)/2+x2/2]dx
e
1π11+x2x2/2dx=+
Esistono altre distanze che rimangono delimitate come
  • la distanza L¹ , equivalente alla distanza di variazione totale,
  • le distanze di Wasserstein
  • la distanza di Hellinger

1
Ottima osservazione @ Xi'an
Carlos Campos,

Grazie @ Xi'an significa che anche la somma di tutti i bin per entrambe le distribuzioni è = 1, la divergenza kl non ha un limite massimo? hai qualche altra funzione di distanza per la distribuzione di due probabilità che ha definito limite massimo / limite statico?
user46543

In questo caso P è assolutamente continuo rispetto a Q?
Sangwoong Yoon,

In quale caso"? Credo che il KL non sia definito come tale per le distribuzioni che non sono assolutamente continue l'una contro l'altra.
Xi'an,

12

Per le distribuzioni che non hanno lo stesso supporto, la divergenza di KL non è limitata. Guarda la definizione:

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

se P e Q non hanno lo stesso supporto, esiste un punto dove p ( x ) 0 e q ( x ) = 0 , facendo sì che KL vada all'infinito. Questo vale anche per le distribuzioni discrete, nel tuo caso.xp(x)0q(x)=0

Modifica: forse una scelta migliore per misurare la divergenza tra le distribuzioni di probabilità sarebbe la cosiddetta distanza di Wasserstein che è una metrica e ha proprietà migliori della divergenza di KL. È diventato molto popolare grazie alle sue applicazioni in deep learning (vedi reti WGAN)


Grazie @ carlos-campos la mia distribuzione, sia quella attuale che quella del modello, hanno la stessa condizione che è la somma di tutti i bin = 1. Ciò significa che la mia divergenza Kl non ha ancora un limite massimo? Guarderò la distanza di
Wassertein

la distanza di Wasserstein o Earth Mover ha un limite massimo esplicito? perché ne ho bisogno.
user46543

@ user46543 La distanza di Wasserstein può essere alta come
Mark L. Stone,

Ciao @ MarkL.Stone quindi non esiste una funzione di distanza per calcolare la distanza tra due distribuzioni di probabilità che ha il limite massimo statico? ad es. mentre due distribuzioni di probabilità hanno la somma di 1 e il limite massimo della distanza sarà 1. Sono corretto?
user46543

3

In aggiunta alle eccellenti risposte di Carlos e Xi'an , è anche interessante notare che una condizione sufficiente affinché la divergenza di KL sia finita è che entrambe le variabili casuali abbiano lo stesso supporto compatto e che la densità di riferimento sia limitata . Questo risultato stabilisce anche un limite implicito per il massimo della divergenza di KL (vedere teorema e dimostrazione di seguito).


Teorema: Se la densità e q hanno lo stesso compatta supporto X e la densità p è delimitato su tale supporto (cioè, è finita ha un limite superiore) allora K L ( P | | Q ) < .pqXpKL(P||Q)<

Dimostrazione: poiché ha un supporto compatto X, ciò significa che esiste un valore minimo positivo:qX

q_infxXq(x)>0.

Allo stesso modo, poiché ha un supporto compatto X ciò significa che esiste un valore supremo positivo:pX

p¯supxXp(x)>0.

Inoltre, poiché questi sono entrambi densità sullo stesso supporto, e quest'ultimo è delimitato, abbiamo . Ciò significa che:0<q_p¯<

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

Now, letting L_ln(p¯)ln(q_) be the latter upper bound, we clearly have 0L_< so that:

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

This establishes the required upper bound, which proves the theorem.


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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.