Je ne parviens pas à calculer la formule de divergence KL en supposant deux distributions normales multivariées. J'ai résolu le cas univarié assez facilement. Cependant, cela fait un bon moment que je n'ai pas pris les statistiques mathématiques, alors j'ai du mal à les étendre au cas multivarié. Je suis sûr que je manque juste quelque chose de simple.
Voici ce que j'ai ...
Supposons que les deux p et q sont les fdp de distributions normales avec des moyens u 1 et u 2 et les écarts Σ 1 et Σ 2 , respectivement. La distance de Kullback-Leibler de q à p est:
∫ [ log ( p ( x ) ) - log ( q ( x ) ) ] p ( x ) d x , qui pour deux normales multivariées est:
12 [log | Σ 2 || Σ 1 | -d+Tr(Σ - 1 2 Σ1)+(μ2-μ1)TΣ - 1 2 (μ2-μ1)]
Suivant la même logique que cette preuve , j'arrive à peu près ici avant de rester bloqué:
= ∫ [ d2 log| Σ2|| Σ 1 | +12 ((x-μ2)TΣ - 1 2 (x-μ2)-(x-μ1)TΣ - 1 2 (x-μ1))]×p(x)dx
= E [ d2 log| Σ2|| Σ 1 | +12 ((x-μ2)TΣ - 1 2 (x-μ2)-(x-μ1)TΣ - 1 2 (x-μ1))]
Je pense que je dois mettre en œuvre le truc de trace , mais je ne suis pas sûr de savoir quoi faire après cela. Toute astuce utile pour me remettre sur la bonne voie serait appréciée!
Réponses:
En commençant par votre point de départ avec quelques légères corrections, nous pouvons écrire
K L= ∫ [ 12 log| Σ2|| Σ 1 | -12 (x-μ1)TΣ - 1 1 (x-μ1)+12 (x-μ2)TΣ - 1 2 (x-μ2)]×p(x)dx= 12 log| Σ2|| Σ 1 | -12 tr{E[(X-μ1)(x-μ1)T]Σ - 1 1 }+1 2 E[(x-μ2)TΣ - 1 2 (x-μ2)]= 12 log| Σ2|| Σ 1 | -12 tr{Id}+1 2 (μ1-μ2)TΣ - 1 2 (μ1-μ2)+12 tr{Σ - 1 2 Σ1}= 12 [log | Σ 2 || Σ 1 | -d+tr{Σ - 1 2 Σ1}+(μ2-μ1)TΣ - 1 2 (μ2-μ1)].
Notez que j'ai utilisé quelques propriétés de la section 8.2 du livre de recettes matriciel .
la source