Дивергенція KL між двома багатовимірними гаусівцями


46

У мене виникають проблеми з виведенням формули дивергенції KL, припускаючи два багатоваріантні нормальні розподіли. Я зробив універсальну справу досить легко. Однак минуло досить багато часу, як я взяв статистику з математики, тож у мене виникли певні труднощі з поширенням її на багатоваріантну справу. Я впевнений, що мені просто не вистачає чогось простого.

Ось що я маю ...

Припустимо, і і є pdfs нормальних розподілів із засобами та та дисперсіями та відповідно. Відстань Кулбека-Лейблера від до дорівнює:pqμ1μ2Σ1Σ2qp

[log(p(x))log(q(x))] p(x) dx , що для двох багатоваріантних нормалей дорівнює:

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

Дотримуючись тієї ж логіки, що і цей доказ , я добираюся тут, перш ніж застрягти:

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

Я думаю, що мені потрібно здійснити трюк , але я просто не впевнений, що робити після цього. Будемо вдячні за будь-які корисні підказки щодо повернення мене на правильний шлях!


1
stanford.edu/~jduchi/projects/general_notes.pdf . Останній розділ також дає виведення.
користувач3540823

Відповіді:


47

Починаючи з того, з чого ви почали деякі невеликі виправлення, ми можемо написати

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

Зауважте, що я використав пару властивостей із розділу 8.2 Матричної кулінарної книги .


Я бачу, ти вийняв D, який у мене був спочатку. Чи не було б у вас терміну D після того, як ви зробили журнал Гаусса в перші кілька кроків?
dmartin

Розглянемо коефіцієнт масштабування , багатоваріантної нормальної щільності. При обчисленні різниці журналів термін відходить. Немає терміна для визначників - просто, , який розраховується. (2π)d/2|Σk|1/2k=1,2(2π)d/2d1/2
ramhiser

Ніяких проблем взагалі. Радий, що можу допомогти.
ramhiser

Привіт, як ти придумав останній крок? Як ви змінили знак на ? μ1μ2μ2μ1
acidghost

1
@acidghost Або один працює, тому що ми можемо визначити негативний з обох сторін. Помноження двох негативних дає позитивну.
ramhiser
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.