KL divergence entre deux gaussiennes univariées

79

Je dois déterminer la divergence KL entre deux Gaussiennes. Je compare mes résultats à ceux - ci , mais je ne peux pas reproduire leurs résultats. Mon résultat est évidemment faux, car le KL n'est pas 0 pour KL (p, p).

Je me demande où je fais une erreur et demande si quelqu'un peut la repérer.

Soit p(x)=N(μ1,σ1) et q(x)=N(μ2,σ2) . De PRML Bishop je sais que

KL(p,q)=p(x)logq(x)dx+p(x)logp(x)dx

où l'intégration est faite sur toute la ligne réelle, et que

p(x)logp(x)dx=12(1+log2πσ12),

donc je me limite à p(x)logq(x)dx , que je peux écrire comme

p(x)log1(2πσ22)(1/2)e(xμ2)22σ22dx,

qui peut être séparé en

12log(2πσ22)p(x)loge(xμ2)22σ22dx.

Je prends le journal

12log(2πσ22)p(x)((xμ2)22σ22)dx,

où je sépare les sommes et obtient σ22 de l'intégrale.

12log(2πσ22)+p(x)x2dxp(x)2xμ2dx+p(x)μ22dx2σ22

Letting désignent l'opérateur d'espérance sous p , je peux réécrire ce que

12log(2πσ22)+x22xμ2+μ222σ22.

var(x)=x2x2

x2=σ12+μ12

et donc

12log(2πσ2)+σ12+μ122μ1μ2+μ222σ22,

que je peux mettre comme

12log(2πσ22)+σ12+(μ1μ2)22σ22.

Tout mettre ensemble, je dois

KL(p,q)=p(x)logq(x)dx+p(x)logp(x)dx=12log(2πσ22)+σ12+(μ1μ2)22σ2212(1+log2πσ12)=logσ2σ1+σ12+(μ1μ2)22σ22.
1

Quelqu'un peut-il repérer mon erreur?

Mise à jour

Merci à mpiktas pour avoir clarifié les choses. La bonne réponse est:

KL(p,q)=logσ2σ1+σ12+(μ1μ2)22σ2212

Bayerj
la source
xμ1
Qu'en est-il du cas multi variable?
Je viens de voir dans un article de recherche que kld devrait être $ KL (p, q) = ½ * ((μ₁-μ₂) ² + σ₁² + σ₂²) * ((1 / σ₁²) + (1 / σ₂²)) - 2
skyde
1
p(x)logp(x)dx=12(1+log2πσ12)
p(x)logp(x)dx=12(1+log2πσ12)
La réponse se trouve également dans mon document de 1996 sur les pertes intrinsèques .
Xi'an

Réponses:

59

OK, mon mauvais. L'erreur est dans la dernière équation:

KL(p,q)=p(x)logq(x)dx+p(x)logp(x)dx=12log(2πσ22)+σ12+(μ1μ2)22σ2212(1+log2πσ12)=logσ2σ1+σ12+(μ1μ2)22σ2212

12μ1=μ2σ1=σ2

mpiktas
la source
@mpiktas Je voulais dire vraiment la question - bayerj est un chercheur bien publié et je suis un étudiant de premier cycle. C'est bien de voir que même les types malins se rabattent parfois sur Internet :)
N. McA.
3
μ1σ1μ2σ2
N(u1,σ1)
31

pμ1σ12qμ2σ22qp

[log(p(x))log(q(x))]p(x)dx

=[12log(2π)log(σ1)12(xμ1σ1)2+12log(2π)+log(σ2)+12(xμ2σ2)2] ×12πσ1exp[12(xμ1σ1)2]dx

={log(σ2σ1)+12[(xμ2σ2)2(xμ1σ1)2]} ×12πσ1exp[12(xμ1σ1)2]dx

=E1{log(σ2σ1)+12[(xμ2σ2)2(xμ1σ1)2]}

=log(σ2σ1)+12σ22E1{(Xμ2)2}12σ12E1{(Xμ1)2}

=log(σ2σ1)+12σ22E1{(Xμ2)2}12

(Xμ2)2=(Xμ1+μ1μ2)2=(Xμ1)2+2(Xμ1)(μ1μ2)+(μ1μ2)2

=log(σ2σ1)+12σ22[E1{(Xμ1)2}+2(μ1μ2)E1{Xμ1}+(μ1μ2)2]12

=log(σ2σ1)+σ12+(μ1μ2)22σ2212

ocram
la source