单变量高斯分布的概率密度函数如下(均值:u,方差:
σ
):
N(x|u,σ)=1(2πσ2)1/2exp{−12σ2(x−u)2}
多变量高斯分布(假设n维)的概率密度函数如下(均值:u,协方差矩阵: Σ ):
N(x|u,Σ)=1(2π)n/2|Σ|1/2exp{−12(x−u)TΣ−1(x−u)}
在公式推导之前,首先介绍一些用到的性质。
矩阵的迹的性质:
(1) tr(αA+βB)=αtr(A)+βtr(B)
(2) tr(A)=tr(AT)
(3) tr(AB)=tr(BA)
根据性质(3)可以得到性质(4)
(4) tr(ABC)=tr(CAB)=tr(BCA)在推导公式过程中,使用到的一个重要的trick如下:
对于列向量 λ ,公式 λTAλ 的结果是一个标量,所以:
λTAλ=tr(λTAλ)=tr(AλλT)多变量分布中期望 E 与协方差
Σ 的性质:
(1) E[xxT]=Σ+uuT
证明:Σ=E[(x−u)(x−u)T]=E[xxT−xuT−uxT+uuT]=E[xxT]−uuT−uuT+uuT=E[xxT]−uuT
(2) E(xTAx)=tr(AΣ)+uTAu
证明:
因为 xTAx 的结果是一个标量,利用前面提到的trick,可得:
E(xTAx)=E[tr(xTAx)]=E[tr(AxxT)]=tr[E(AxxT)]=tr[AE(xxT)]=tr[A(Σ+uuT)]=tr(AΣ)+tr(AuuT)=tr(AΣ)+tr(uTAu)=tr(AΣ)+uTAu
这里主要讲述多变量高斯分布的KL散度。
连个分布和的的KL散度定义如下:
DKL(P1||P2)=EP1[logP1P2]
DKL(P1||P2)=EP1[logP1−logP2]=12EP1[−log|Σ1|−(x−u1)TΣ−11(x−u1)+log|Σ2|+(x−u2)TΣ−12(x−u2)]=12log|Σ2||Σ1|+12EP1[−(x−u1)TΣ−11(x−u1)+(x−u2)TΣ−12(x−u2)]=12log|Σ2||Σ1|+12EP1{−tr[Σ−11(x−u1)(x−u1)T]+tr[Σ−12(x−u2)(x−u2)T]}=12log|Σ2||Σ1|+12EP1{−tr[Σ−11(x−u1)(x−u1)T]}+12EP1{tr[Σ−12(x−u2)(x−u2)T]}=12log|Σ2||Σ1|−12tr{EP1[Σ−11(x−u1)(x−u1)T]}+12tr{EP1[Σ−12(x−u2)(x−u2)T]}=12log|Σ2||Σ1|−12tr{Σ−11EP1[(x−u1)(x−u1)T]}+12tr{EP1[Σ−12(xxT−u2xT−xuT2+u2uT2)]}=12log|Σ2||Σ1|−12tr{Σ−11Σ1}+12tr{Σ−12EP1(xxT−u2xT−xuT2+u2uT2)}=12log|Σ2||Σ1|−12n+12tr{Σ−12(Σ1+u1uT1−u2uT1−u1uT2+u2uT2)}−−−这里利用了E[xxT]=Σ+uuT=12{log|Σ2||Σ1|−n+tr(Σ−12Σ1)+tr{Σ−12(u1uT1−u2uT1−u1uT2+u2uT2)}}=12{log|Σ2||Σ1|−n+tr(Σ−12Σ1)+tr{Σ−12u1uT1−Σ−12u2uT1−Σ−12u1uT2+Σ−12u2uT2}}=12{log|Σ2||Σ1|−n+tr(Σ−12Σ1)+tr{uT1Σ−12u1−2uT1Σ−12u2+uT2Σ−12u2}}=12{log|Σ2||Σ1|−n+tr(Σ−12Σ1)+(u2−u1)TΣ−12(u2−u1)}