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)log⁡q(x)dx+∫p(x)log⁡p(x)dx

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

∫p(x)log⁡p(x)dx=−12(1+log⁡2πσ12),

donc je me limite à ∫p(x)log⁡q(x)dx , que je peux écrire comme

−∫p(x)log⁡1(2πσ22)(1/2)e−(x−μ2)22σ22dx,

qui peut être séparé en

12log⁡(2πσ22)−∫p(x)log⁡e−(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)x2dx−∫p(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)+⟨x2⟩−2⟨x⟩μ2+μ222σ22.

var(x)=⟨x2⟩−⟨x⟩2

⟨x2⟩=σ12+μ12

et donc

12log⁡(2πσ2)+σ12+μ12−2μ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)log⁡q(x)dx+∫p(x)log⁡p(x)dx=12log⁡(2πσ22)+σ12+(μ1−μ2)22σ22−12(1+log⁡2πσ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σ22−12


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)log⁡p(x)dx=12(1+log⁡2πσ12)
∫p(x)log⁡p(x)dx=−12(1+log⁡2πσ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)log⁡q(x)dx+∫p(x)log⁡p(x)dx=12log⁡(2πσ22)+σ12+(μ1−μ2)22σ22−12(1+log⁡2πσ12)=log⁡σ2σ1+σ12+(μ1−μ2)22σ22−12

−12μ1=μ2σ1=σ2


@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σ22−12

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.