두 개의 다변량 정규 분포를 가정하여 KL 발산 공식을 도출하는 데 문제가 있습니다. 일 변량 사례를 상당히 쉽게 수행했습니다. 그러나 수학 통계를 취한 지 꽤 오래되었으므로 다변량 사례로 확장하는 데 문제가 있습니다. 나는 단순한 것을 놓치고 있다고 확신합니다.
여기 내가 가진 것이 있습니다 …
와 q 가 각각 평균 μ 1 과 μ 2 및 분산 Σ 1 과 Σ 2를 갖는 정규 분포의 pdf 라고 가정합니다 . q 에서 p 까지의 Kullback-Leibler 거리는 다음과 같습니다.피
큐
μ1
μ2
Σ1
Σ2
큐
피
는 두 개의 다변량 법선에 대해 다음과 같습니다.∫[ 로그( p ( x ) ) − 로그( q( X ) ) ] P ( X ) (D) 엑스
12[ 로그| Σ2|| Σ1|− d+ Tr ( Σ− 12Σ1) + ( μ2− μ1)티Σ− 12( μ2− μ1) ]
이 proof 와 같은 논리에 따라 붙어 있기 전에 여기에 도착합니다.
= ∫[ d2로그| Σ2|| Σ1|+ 12( ( x − μ2)티Σ− 12( x − μ2) − ( x − μ1)티Σ− 12( x − μ1) ) ] ×p(x)d엑스
= E [ d2로그| Σ2|| Σ1|+ 12( ( x − μ2)티Σ− 12( x − μ2) − ( x − μ1)티Σ− 12( x − μ1) ) ]
트레이스 트릭 을 구현해야한다고 생각 하지만 그 이후에 무엇을 해야할지 모르겠습니다. 올바른 길로 되돌아가는 데 도움이되는 힌트가 있으면 감사하겠습니다!
답변
약간의 수정으로 시작한 부분부터 시작하여
KL=∫[12log|Σ2||Σ1|−12(x−μ1)TΣ−11(x−μ1)+12(x−μ2)TΣ−12(x−μ2)]×p(x)dx=12log|Σ2||Σ1|−12tr {E[(x−μ1)(x−μ1)T] Σ−11}+12E[(x−μ2)TΣ−12(x−μ2)]=12log|Σ2||Σ1|−12tr {Id}+12(μ1−μ2)TΣ−12(μ1−μ2)+12tr{Σ−12Σ1}=12[log|Σ2||Σ1|−d+tr{Σ−12Σ1}+(μ2−μ1)TΣ−12(μ2−μ1)].
Matrix Cookbook의 섹션 8.2 에서 몇 가지 속성을 사용했습니다 .