두 개의 다변량 가우스 간의 KL 분기


46

두 개의 다변량 정규 분포를 가정하여 KL 발산 공식을 도출하는 데 문제가 있습니다. 일 변량 사례를 상당히 쉽게 수행했습니다. 그러나 수학 통계를 취한 지 꽤 오래되었으므로 다변량 사례로 확장하는 데 문제가 있습니다. 나는 단순한 것을 놓치고 있다고 확신합니다.

여기 내가 가진 것이 있습니다 ...

q 가 각각 평균 μ 1μ 2 및 분산 Σ 1Σ 2를 갖는 정규 분포의 pdf 라고 가정합니다 . q 에서 p 까지의 Kullback-Leibler 거리는 다음과 같습니다.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)]

이 proof 와 같은 논리에 따라 붙어 있기 전에 여기에 도착합니다.

=[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 . 마지막 섹션은 또한 파생을 제공합니다.
user3540823

답변:


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

Matrix Cookbook의 섹션 8.2 에서 몇 가지 속성을 사용했습니다 .


제가 원래 가지고 있던 D를 꺼내셨어요. 처음 몇 단계에서 가우시안 로그를 얻은 후 D 항이 없습니까?
dmartin

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

전혀 문제 없습니다. 기꺼이 도와 드리겠습니다.
ramhiser

μ1μ2μ2μ1

1
@acidghost 양쪽에서 부정적인 것을 빼낼 수 있기 때문에 어느 쪽이든 작동합니다. 두 개의 음수를 곱하면 양수가됩니다.
ramhiser
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.