Perbedaan KL antara duaausa multivarian


46

Saya mengalami kesulitan memperoleh rumus divergensi KL dengan asumsi dua distribusi normal multivariat. Saya sudah melakukan kasus univariat dengan cukup mudah. Namun, sudah cukup lama sejak saya mengambil statistik matematika, jadi saya mengalami kesulitan untuk memperluasnya ke kasus multivarian. Saya yakin saya hanya melewatkan sesuatu yang sederhana.

Inilah yang saya miliki ...

Misalkan dan adalah pdf dari distribusi normal dengan mean dan dan varians dan , masing-masing. Jarak Kullback-Leibler dari ke adalah:q μ 1 μ 2 Σ 1 Σ 2 q ppqμ1μ2Σ1Σ2qp

[log(p(x))log(q(x))] p(x) dx , yang untuk dua normals multivarian adalah:

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

Mengikuti logika yang sama dengan bukti ini , saya sampai di sini sebelum saya buntu:

=[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))]

Saya pikir saya harus menerapkan trik jejak , tetapi saya tidak yakin apa yang harus dilakukan setelah itu. Setiap petunjuk bermanfaat untuk mengembalikan saya ke jalur yang benar akan sangat dihargai!


1
stanford.edu/~jduchi/projects/general_notes.pdf . Bagian terakhir juga memberikan derivasi.
user3540823

Jawaban:


47

Dimulai dengan di mana Anda mulai dengan sedikit koreksi, kita bisa menulis

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)].

Perhatikan bahwa saya telah menggunakan beberapa properti dari Bagian 8.2 dari Matrix Cookbook .


Saya melihat Anda mengeluarkan D yang saya miliki awalnya. Tidakkah Anda memiliki istilah D setelah mengambil log Gaussian dalam beberapa langkah pertama?
dmartin

Pertimbangkan faktor penskalaan , dari kepadatan normal multivariat. Saat menghitung perbedaan log, istilah hilang. Tidak ada istilah untuk determinan - cukup, , yang diperhitungkan. k = 1 , 2 ( 2 π ) - d / 2 d 1 / 2(2π)d/2|Σk|1/2k=1,2(2π)d/2d1/2
ramhiser

Tidak masalah sama sekali. Senang bisa membantu.
ramhiser

Hai, bagaimana Anda membuat langkah terakhir? Bagaimana Anda mengubah tanda menjadi ? μ 2 - μ 1μ1μ2μ2μ1
acidghost

1
@acidghost Salah satu berfungsi karena kita dapat memperhitungkan faktor negatif dari kedua sisi. Mengalikan dua yang negatif menghasilkan yang positif.
ramhiser
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.