두 개의 다변량 가우스 간의 KL 분기 분포를 가정하여 KL 발산 공식을 도출하는

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

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

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

p

q

μ1

μ2

Σ1

Σ2

q

p

는 두 개의 다변량 법선에 대해 다음과 같습니다.

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

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

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

트레이스 트릭 을 구현해야한다고 생각 하지만 그 이후에 무엇을 해야할지 모르겠습니다. 올바른 길로 되돌아가는 데 도움이되는 힌트가 있으면 감사하겠습니다!



답변

약간의 수정으로 시작한 부분부터 시작하여

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

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