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!

dmartin
sumber
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 .

ramhiser
sumber
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