Domanda:
Divergenza Kullback-Leibler - interpretazione
user3016
2011-02-02 21:07:43 UTC
view on stackexchange narkive permalink

Ho una domanda sulla divergenza Kullback-Leibler.

Qualcuno può spiegare perché la "distanza" tra la densità del blu e la densità "rossa" è minore della distanza tra la curva "verde" e quello "rosso"?

Graph of three pdfs

Non ho la risposta ... ma non sono sicuro che, in questo contesto, abbia davvero senso considerare una distribuzione gaussiana inversa con media 1 e varianza 3 o 5 ...
Attento! La divergenza KL non è una vera "distanza" perché è * asimmetrica *. In ogni caso, quale dei due possibili valori hai calcolato?
Quali sono queste distribuzioni? Sia la gamma che la gaussiana inversa accettano due parametri. Quello rosso chiaramente * non * è un Gamma con un parametro di forma di 0,85. Attraverso prove ed errori sembra che la gamma abbia una scala di 1 e una forma di 1 / 0,85 mentre le gaussiane inverse hanno mezzi di 1 e parametri di scala come dati. È corretto?
L'interpretazione teorica dell'informazione della divergenza KL è in risposta qui: http://stats.stackexchange.com/questions/1028/questions-about-kl-divergence/1569#1569
Inoltre, KL-divergence non è simmetrica, quindi per rimuovere ambiguità è meglio dire KL (A, B) o KL (B, A) invece di "distanza tra A e B"
Due risposte:
whuber
2011-02-03 00:11:20 UTC
view on stackexchange narkive permalink

Poiché calcolo valori leggermente diversi della divergenza KL rispetto a quanto riportato qui, iniziamo con il mio tentativo di riprodurre i grafici di questi PDF:

PDFs for red, blue, and green

La distanza KL da $ F $ a $ G $ è l'aspettativa, secondo la legge della probabilità $ F $ , della differenza nei logaritmi dei loro PDF. Esaminiamo quindi da vicino i log PDF. I valori vicini a 0 contano molto, quindi esaminiamoli. La figura successiva mostra i file PDF di log nella regione da $ x = 0 $ a $ x = 0.10 $ :

Log PDFs in the interval from 0 to 0.10

Mathematica calcola che KL (rosso, blu) = 0,574461 e KL (rosso, verde) = 0,641924. Nel grafico è chiaro che tra 0 e 0,02, approssimativamente, log (verde) differisce molto di più da log (rosso) rispetto a log (blu). Inoltre, in questo intervallo c'è ancora una densità di probabilità sostanzialmente grande per il rosso: il suo logaritmo è maggiore di -1 (quindi la densità è maggiore di circa 1/2).

Dai un'occhiata alle differenze nei logaritmi . Ora la curva blu è la differenza log (rosso) - log (blu) e la curva verde è log (rosso) - log (verde). Le divergenze KL (rispetto al rosso) sono le aspettative (secondo il pdf rosso) di queste funzioni.

Log PDFs for red:blue and red:green, over the interval from 0 to 0.04

(Notare il cambiamento nella scala orizzontale, che ora si concentra maggiormente vicino a 0.)

Molto approssimativamente, sembra che una tipica distanza verticale tra queste curve sia di circa 10 nell'intervallo da 0 a 0,02, mentre un valore tipico per il pdf rosso è di circa 1/2. Pertanto, questo intervallo da solo dovrebbe aggiungere circa 10 * 0,02 / 2 = 0,1 alle divergenze KL. Questo spiega quasi la differenza di 0,067. Sì, è vero che i logaritmi blu sono più lontani dei logaritmi verdi per valori orizzontali maggiori, ma le differenze non sono così estreme e il PDF rosso decade rapidamente.

In breve, differenze estreme nelle code a sinistra delle distribuzioni blu e verde, per valori compresi tra 0 e 0,02, spiegano perché KL (rosso, verde) supera KL (rosso, blu).

Per inciso , KL (blu, rosso) = 0,454776 e KL (verde, rosso) = 0,254469.


Codice

Specifica le distribuzioni

  red = GammaDistribution [1 / .85, 1]; green = InverseGaussianDistribution [1, 1/3.]; blue = InverseGaussianDistribution [1, 1/5.];  

Calcola KL

  Clear [kl]; (* Integrazione numerica tra endpoint specificati. *) kl [pF_, qF_, l_, u_]: = Modulo [{p, q}, p [x_]: = PDF [pF, x]; q [x_]: = PDF [qF, x]; NIntegrate [p [x] (Log [p [x]] - Log [q [x]]), {x, l, u}, Method -> "LocalAdaptive"]]; (* Integrazione sull'intero dominio. * ) kl [pF_, qF_]: = Modulo [{p, q}, p [x_]: = PDF [pF, x]; q [x_]: = PDF [qF, x]; Integra [p [x] (Log [p [x]] - Log [q [x]]), {x, 0, \ [Infinity]}]]; kl [rosso, blu] kl [rosso, verde] kl [blue, red, 0, \ [Infinity]] kl [green, red, 0, \ [Infinity]]  

Crea le trame

  Cancella [plot]; plot [{f_, u_, r_}]: = Plot [Valuta [f [#, x] & / @ {blue, red, green}], {x, 0, u}, PlotStyle -> {{Thick, Darker [Blue]}, {Thick, Darker [Red]}, {Thick, Darker [Green]}}, PlotRange -> r, Exclusions -> {0}, ImageSize -> 400]; Tabella [plot [f], {f, {{PDF, 4, {Full, {0, 3}}}, {Log [PDF [##]] &, 0.1, {Full, Automatic}}} }] // TableFormPlot [{Log [PDF [red, x]] - Log [PDF [blue, x]], Log [PDF [red, x]] - Log [PDF [green, x]]}, {x , 0, 0.04}, PlotRange -> {Full, Automatic}, PlotStyle -> {{Thick, Darker [Blue]}, {Thick, Darker [Green]}}]  
puoi dare un link alla fonte di Mathematica?
@Yaroslav l'ho aggiunto alla fine.
@Whuber: Wahou! Grazie mille. Vado a preparare un caffè e poi mi concentro sulla tua risposta!
@whuber +1, risposta eccellente e dettagliata come sempre :)
@Whuber: Ho letto attentamente la tua risposta. A quanto ho capito, la curva blu è infatti più vicina alla curva rossa rispetto a quella verde anche se i miei occhi mi suggerivano il contrario. Il modo per realizzare questo è tracciare i logaritmi invece delle densità stesse. Destra? Grazie!
@Marco Sì. È una buona idea anche tracciare il pdf per la densità rispetto alla quale stai integrando (cosa che avevi già fatto per questa domanda). Potrebbe essere utile leggere la sezione "Momenti grafici" su http://www.quantdec.com/envstats/notes/class_06/properties.htm.
il logaritmo è monotono.quindi il segno del gradiente rimarrà invariato tra il grafico originale e il grafico log.Tuttavia, questo non è il caso quando si confrontano i primi due grafici.Immagino che il secondo grafico sia la probabilità cumulativa?
@Hugh Guarda più da vicino le scale sugli assi orizzontali.
Oh capisco, stai mostrando solo la parte più a sinistra del grafico originale?
Did
2011-02-02 23:23:44 UTC
view on stackexchange narkive permalink

La divergenza KL misura quanto sia difficile falsificare una distribuzione con un'altra. Supponi di disegnare un i.i.d. campione di dimensione $ n $ dalla distribuzione rossa e $ n $ è grande. Può accadere che la distribuzione empirica di questo campione imiti la distribuzione blu. Questo è raro ma può accadere ... anche se con una probabilità che è incredibilmente piccola e che si comporta come $ \ mathrm {e} ^ {- nH} $. L'esponente $ H $ è la divergenza KL della distribuzione blu rispetto a quella rossa.

Detto questo, mi chiedo perché le tue divergenze KL siano classificate nell'ordine in cui dici che sono.

+1. Forse la classifica dipende dall'ordine in cui è stato calcolato H. Ad esempio, uno potrebbe essere KL (verde, rosso) e l'altro potrebbe essere KL (rosso, blu). Inoltre, il comportamento della coda può avere un effetto profondo sul valore: ciò di cui abbiamo veramente bisogno di vedere sono i grafici dei * logaritmi * delle densità, non le densità stesse.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 2.0 con cui è distribuito.
Loading...