두 개의 다변량 가우스 간의 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(Σ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))]

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


1
stanford.edu/~jduchi/projects/general_notes.pdf . 마지막 섹션은 또한 파생을 제공합니다.
— user3540823

답변:


47

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

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 에서 몇 가지 속성을 사용했습니다 .


제가 원래 가지고 있던 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.