Divergência de KL entre dois gaussianos multivariados


46

Estou tendo problemas para derivar a fórmula de divergência KL assumindo duas distribuições normais multivariadas. Eu já fiz o caso univariado com bastante facilidade. No entanto, já faz um bom tempo desde que obtive estatísticas de matemática, por isso estou tendo alguns problemas para estendê-la ao caso multivariado. Tenho certeza de que estou perdendo algo simples.

Aqui está o que eu tenho ...

Suponha que e q sejam os pdfs de distribuições normais com médias μ 1 e μ 2 e variações Σ 1 e Σ 2 , respectivamente. A distância Kullback-Leibler de q até p é:pqμ1μ2Σ1Σ2qp

, que por dois normais multivariadas é:∫[log⁡(p(x))−log⁡(q(x))] p(x) dx

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

Seguindo a mesma lógica que essa prova , eu passo aqui antes de ficar preso:

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

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

Acho que tenho que implementar o truque de rastreamento , mas não tenho certeza do que fazer depois disso. Qualquer sugestão útil para me colocar de volta no caminho certo seria apreciada!


1
stanford.edu/~jduchi/projects/general_notes.pdf . A última seção também fornece a derivação.
— user3540823

Respostas:


47

Começando por onde você começou com algumas pequenas correções, podemos escrever

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

Observe que eu usei algumas propriedades da Seção 8.2 do Matrix Cookbook .


Vejo que você tirou o D que eu tinha originalmente. Você não teria um termo D depois de tomar o registro do gaussiano nos primeiros passos?
— dmartin

(2π)−d/2|Σk|−1/2k=1,2(2π)−d/2d1/2

Não tem problema nenhum. Ainda bem que pude ajudar.
— ramhiser

μ1−μ2μ2−μ1

1
@acidghost Qualquer um funciona porque podemos fatorar um negativo de ambos os lados. Multiplicar os dois negativos gera um positivo.
— ramhiser
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.