İki değişkenli Gauss arasında KL ayrışması


46

İki değişkenli normal dağılım varsayarsak KL diverjans formülünü türetmekte sorun yaşıyorum. Tek değişkenli vakayı oldukça kolay bir şekilde yaptım. Ancak, matematik istatistiklerini aldığımdan bu yana epey zaman geçti, bu yüzden çok değişkenli olaya genişletmekte zorlanıyorum. Eminim basit bir şeyi özlüyorumdur.

İşte sahip olduğum şey ...

Her iki varsayalım ve aracı ile, normal dağılımların PDF olarak ve ve sapmaların ve sırasıyla. Adlı Kullback-Leibler mesafe için olan:pqμ1μ2Σ1Σ2qp

[log(p(x))log(q(x))] p(x) dx , ki iki değişkenli normal:

12[log|Σ2||Σ1|d+Tr(Σ21Σ1)+(μ2μ1)TΣ21(μ2μ1)]

Bu kanıtla aynı mantığı takip ederek , takılmadan önce buraya geliyorum:

=[d2log|Σ2||Σ1|+12((xμ2)TΣ21(xμ2)(xμ1)TΣ21(xμ1))]×p(x)dx

=E[d2log|Σ2||Σ1|+12((xμ2)TΣ21(xμ2)(xμ1)TΣ21(xμ1))]

Sanırım izleme numaramı uygulamak zorundayım ama ondan sonra ne yapacağımdan emin değilim. Beni tekrar doğru yola sokmak için yardımcı olacak herhangi bir ipucu olurdu!


1
stanford.edu/~jduchi/projects/general_notes.pdf . Son bölüm de türetmeyi verir.
user3540823

Yanıtlar:


47

Bazı küçük düzeltmelerle başladığınız yerden başlayarak yazabiliriz.

KL=[12log|Σ2||Σ1|12(xμ1)TΣ11(xμ1)+12(xμ2)TΣ21(xμ2)]×p(x)dx=12log|Σ2||Σ1|12tr {E[(xμ1)(xμ1)T] Σ11}+12E[(xμ2)TΣ21(xμ2)]=12log|Σ2||Σ1|12tr {Id}+12(μ1μ2)TΣ21(μ1μ2)+12tr{Σ21Σ1}=12[log|Σ2||Σ1|d+tr{Σ21Σ1}+(μ2μ1)TΣ21(μ2μ1)].

Matrix Yemek Kitabının 8.2 Bölümünden birkaç özellik kullandığımı unutmayın .


Aslen sahip olduğum D'yi çıkardığını görüyorum. İlk birkaç adımda Gauss'un günlüğünü aldıktan sonra D teriminiz olmaz mıydı?
dmartin

Ölçekleme faktörünü , çok değişkenli normal yoğunluğun değerini göz önünde bulundurun. Günlük farkı hesaplanırken, terimi kaybolur. Belirleyiciler için terimi yoktur - basitçe, çarpan bir . (2π)d/2|Σk|1/2k=1,2(2π)d/2d1/2
Ramhiser

Hiç sorun değil. Yardımcı olduğuma sevindim.
Ramhiser

Merhaba, son adımı nasıl buldun? Nasıl işaretini değişti içine ? μ1μ2μ2μ1
acidghost,

1
@acidghost Her ikisi de işe yarıyor çünkü negatif olanı iki taraftan da saptayabiliyoruz. İki negatif olanı çarpmak pozitif bir sonuç verir.
ramhiser
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.