多变量高斯分布的KL散度
假设多元变量
x
x
x服从多元变量高斯分布(也称为多变量高斯分布,multivariate Gaussian distribution),即
x
∼
N
(
μ
,
Σ
)
x\sim \mathcal{N}(\mu,\Sigma)
x∼N(μ,Σ),其中
μ
\mu
μ为均值,
Σ
\Sigma
Σ为协方差矩阵,则多变量高斯分布的概率密度函数PDF定义为
f
(
x
)
=
1
(
2
π
)
N
(
det
Σ
)
1
2
exp
{
−
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
2
}
f(x)=\frac{1}{(\sqrt{2\pi})^N (\det \Sigma)^{\frac{1}{2}}}\exp\{-\frac{(x-\mu)^T\Sigma^{-1}(x-\mu)}{2}\}
f(x)=(2π)N(detΣ)211exp{−2(x−μ)TΣ−1(x−μ)}
其中协方差矩阵
Σ
\Sigma
Σ满足对称正定性质,
N
N
N为多元变量
x
x
x的维数。
两个多变量高斯分布之间的KL散度为
D
K
L
(
p
(
x
)
∣
∣
q
(
x
)
)
=
∫
p
(
x
)
log
p
(
x
)
q
(
x
)
d
x
=
E
p
(
x
)
[
log
p
(
x
)
−
log
q
(
x
)
]
=
1
2
E
p
(
x
)
[
−
log
det
Σ
1
−
(
x
−
μ
1
)
T
Σ
1
−
1
(
x
−
μ
1
)
+
log
det
Σ
2
+
(
x
−
μ
2
)
T
Σ
2
−
1
(
x
−
μ
2
)
]
=
1
2
log
det
Σ
2
det
Σ
1
+
1
2
E
p
(
x
)
[
−
(
x
−
μ
1
)
T
Σ
1
−
1
(
x
−
μ
1
)
+
(
x
−
μ
2
)
T
Σ
2
−
1
(
x
−
μ
2
)
]
=
1
2
log
det
Σ
2
det
Σ
1
+
1
2
E
p
(
x
)
{
−
t
r
[
Σ
1
−
1
(
x
−
μ
1
)
(
x
−
μ
1
)
T
]
+
t
r
[
Σ
2
−
1
(
x
−
μ
2
)
(
x
−
μ
2
)
T
]
}
=
1
2
log
det
Σ
2
det
Σ
1
−
1
2
t
r
{
E
p
(
x
)
[
Σ
1
−
1
(
x
−
μ
1
)
(
x
−
μ
1
)
T
]
}
+
1
2
t
r
{
E
p
(
x
)
[
Σ
2
−
1
(
x
−
μ
2
)
(
x
−
μ
2
)
T
]
}
=
1
2
log
det
Σ
2
det
Σ
1
−
N
2
+
1
2
t
r
{
E
p
(
x
)
[
Σ
2
−
1
(
x
x
T
−
μ
2
x
T
−
x
μ
2
T
+
μ
2
μ
2
T
)
]
}
=
1
2
log
det
Σ
2
det
Σ
1
−
N
2
+
1
2
t
r
[
Σ
2
−
1
(
Σ
1
+
μ
1
μ
1
T
−
μ
2
μ
1
T
−
μ
1
μ
2
T
+
μ
2
μ
2
T
)
]
=
1
2
log
det
Σ
2
det
Σ
1
−
N
2
+
1
2
t
r
(
Σ
2
−
1
Σ
1
)
+
1
2
t
r
[
Σ
2
−
1
(
μ
1
μ
1
T
−
μ
2
μ
1
T
−
μ
1
μ
2
T
+
μ
2
μ
2
T
)
]
=
1
2
{
log
det
Σ
2
det
Σ
1
−
N
+
t
r
(
Σ
2
−
1
Σ
1
)
+
t
r
(
μ
1
T
Σ
2
−
1
μ
1
−
μ
1
T
Σ
2
−
1
μ
2
−
μ
2
T
Σ
2
−
1
μ
1
+
μ
2
T
Σ
2
−
1
μ
2
)
}
=
1
2
{
log
det
Σ
2
det
Σ
1
−
N
+
t
r
(
Σ
2
−
1
Σ
1
)
+
t
r
(
μ
1
T
Σ
2
−
1
μ
1
−
2
μ
1
T
Σ
2
−
1
μ
2
+
μ
2
T
Σ
2
−
1
μ
2
)
}
=
1
2
{
log
det
Σ
2
det
Σ
1
−
N
+
t
r
(
Σ
2
−
1
Σ
1
)
+
(
μ
2
−
μ
1
)
T
Σ
2
−
1
(
μ
2
−
μ
1
)
}
\begin{aligned} &\quad D_{KL}(p(x)||q(x))=\int p(x) \log \frac{p(x)}{q(x)} dx=\mathbb{E}_{p(x)}[\log p(x)-\log q(x)]\\ &=\frac{1}{2}\mathbb{E}_{p(x)}[-\log\det \Sigma_1-(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1)+\log\det \Sigma_2+(x-\mu_2)^T\Sigma_2^{-1}(x-\mu_2)]\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}+\frac{1}{2}\mathbb{E}_{p(x)}[-(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1)+(x-\mu_2)^T\Sigma_2^{-1}(x-\mu_2)]\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}+\frac{1}{2}\mathbb{E}_{p(x)}\{-tr[\Sigma_1^{-1}(x-\mu_1)(x-\mu_1)^T]+tr[\Sigma_2^{-1}(x-\mu_2)(x-\mu_2)^T]\}\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}-\frac{1}{2}tr\{\mathbb{E}_{p(x)}[\Sigma_1^{-1}(x-\mu_1)(x-\mu_1)^T]\} +\frac{1}{2}tr\{\mathbb{E}_{p(x)}[\Sigma_2^{-1}(x-\mu_2)(x-\mu_2)^T]\}\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}-\frac{N}{2} +\frac{1}{2}tr\{\mathbb{E}_{p(x)}[\Sigma_2^{-1}(xx^T-\mu_2x^T-x\mu_2^T+\mu_2\mu_2^T)]\}\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}-\frac{N}{2} +\frac{1}{2}tr[\Sigma_2^{-1}(\Sigma_1+\mu_1\mu_1^T-\mu_2\mu_1^T-\mu_1\mu_2^T+\mu_2\mu_2^T)]\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}-\frac{N}{2} +\frac{1}{2}tr(\Sigma_2^{-1}\Sigma_1)+\frac{1}{2}tr[\Sigma_2^{-1}(\mu_1\mu_1^T-\mu_2\mu_1^T-\mu_1\mu_2^T+\mu_2\mu_2^T)]\\ &=\frac{1}{2}\{\log \frac{\det \Sigma_2}{\det \Sigma_1}-N +tr(\Sigma_2^{-1}\Sigma_1)+tr(\mu_1^T\Sigma_2^{-1}\mu_1-\mu_1^T\Sigma_2^{-1}\mu_2-\mu_2^T\Sigma_2^{-1}\mu_1+\mu_2^T\Sigma_2^{-1}\mu_2)\}\\ &=\frac{1}{2}\{\log \frac{\det \Sigma_2}{\det \Sigma_1}-N +tr(\Sigma_2^{-1}\Sigma_1)+tr(\mu_1^T\Sigma_2^{-1}\mu_1-2\mu_1^T\Sigma_2^{-1}\mu_2+\mu_2^T\Sigma_2^{-1}\mu_2)\}\\ &=\frac{1}{2}\{\log \frac{\det \Sigma_2}{\det \Sigma_1}-N +tr(\Sigma_2^{-1}\Sigma_1)+(\mu_2-\mu_1)^T\Sigma_2^{-1}(\mu_2-\mu_1)\}\\ \end{aligned}
DKL(p(x)∣∣q(x))=∫p(x)logq(x)p(x)dx=Ep(x)[logp(x)−logq(x)]=21Ep(x)[−logdetΣ1−(x−μ1)TΣ1−1(x−μ1)+logdetΣ2+(x−μ2)TΣ2−1(x−μ2)]=21logdetΣ1detΣ2+21Ep(x)[−(x−μ1)TΣ1−1(x−μ1)+(x−μ2)TΣ2−1(x−μ2)]=21logdetΣ1detΣ2+21Ep(x){−tr[Σ1−1(x−μ1)(x−μ1)T]+tr[Σ2−1(x−μ2)(x−μ2)T]}=21logdetΣ1detΣ2−21tr{Ep(x)[Σ1−1(x−μ1)(x−μ1)T]}+21tr{Ep(x)[Σ2−1(x−μ2)(x−μ2)T]}=21logdetΣ1detΣ2−2N+21tr{Ep(x)[Σ2−1(xxT−μ2xT−xμ2T+μ2μ2T)]}=21logdetΣ1detΣ2−2N+21tr[Σ2−1(Σ1+μ1μ1T−μ2μ1T−μ1μ2T+μ2μ2T)]=21logdetΣ1detΣ2−2N+21tr(Σ2−1Σ1)+21tr[Σ2−1(μ1μ1T−μ2μ1T−μ1μ2T+μ2μ2T)]=21{logdetΣ1detΣ2−N+tr(Σ2−1Σ1)+tr(μ1TΣ2−1μ1−μ1TΣ2−1μ2−μ2TΣ2−1μ1+μ2TΣ2−1μ2)}=21{logdetΣ1detΣ2−N+tr(Σ2−1Σ1)+tr(μ1TΣ2−1μ1−2μ1TΣ2−1μ2+μ2TΣ2−1μ2)}=21{logdetΣ1detΣ2−N+tr(Σ2−1Σ1)+(μ2−μ1)TΣ2−1(μ2−μ1)}
其中运用到的一些矩阵等式:
- 矩阵的迹的性质
矩 阵 线 性 组 合 迹 不 变 : t r ( α A + β B ) = α t r ( A ) + β t r ( B ) 矩阵线性组合迹不变:tr(\alpha A+\beta B)=\alpha tr(A)+\beta tr(B) 矩阵线性组合迹不变:tr(αA+βB)=αtr(A)+βtr(B)
矩 阵 转 置 迹 不 变 : t r ( A ) = t r ( A T ) 矩阵转置迹不变:tr(A)=tr(A^T) 矩阵转置迹不变:tr(A)=tr(AT)
两 方 阵 相 乘 交 换 迹 不 变 : t r ( A B ) = t r ( B A ) 两方阵相乘交换迹不变:tr(AB)=tr(BA) 两方阵相乘交换迹不变:tr(AB)=tr(BA)
轮 换 不 变 性 : t r ( A B C ) = t r ( B C A ) = t r ( C A B ) 轮换不变性:tr(ABC)=tr(BCA)=tr(CAB) 轮换不变性:tr(ABC)=tr(BCA)=tr(CAB)
对于列向量
λ
\lambda
λ,
λ
T
A
λ
\lambda^TA\lambda
λTAλ的结果是一个标量,而标量的迹就是这个标量,即
t
r
(
λ
T
A
λ
)
=
λ
T
A
λ
tr(\lambda^TA\lambda)=\lambda^TA\lambda
tr(λTAλ)=λTAλ,因此
λ
T
A
λ
=
t
r
(
λ
T
A
λ
)
=
t
r
(
A
λ
λ
T
)
\lambda^TA\lambda=tr(\lambda^TA\lambda)=tr(A\lambda\lambda^T)
λTAλ=tr(λTAλ)=tr(AλλT)
- 多变量分布中期望 μ \mu μ与协方差 Σ \Sigma Σ的性质
(1)
E
[
x
x
T
]
=
Σ
+
μ
μ
T
\mathbb{E}[xx^T]=\Sigma+\mu \mu^T
E[xxT]=Σ+μμT
证
明
:
Σ
=
E
[
(
x
−
μ
)
(
x
−
μ
)
T
]
=
E
[
(
x
x
T
−
x
μ
T
−
μ
x
T
+
μ
μ
T
]
=
E
[
x
x
T
]
−
μ
μ
T
−
μ
μ
T
+
μ
μ
T
=
E
[
x
x
T
]
−
μ
μ
T
\begin{aligned} 证明:\Sigma&=\mathbb{E}[(x-\mu)(x-\mu)^T]\\ &=\mathbb{E}[(xx^T-x\mu^T-\mu x^T+\mu\mu^T]\\ &=\mathbb{E}[xx^T]-\mu\mu^T-\mu\mu^T+\mu\mu^T\\ &=\mathbb{E}[xx^T]-\mu\mu^T \end{aligned}
证明:Σ=E[(x−μ)(x−μ)T]=E[(xxT−xμT−μxT+μμT]=E[xxT]−μμT−μμT+μμT=E[xxT]−μμT
(2)
E
(
x
T
A
x
)
=
t
r
(
A
Σ
)
+
μ
T
A
μ
\mathbb{E}(x^TAx)=tr(A\Sigma)+\mu^TA\mu
E(xTAx)=tr(AΣ)+μTAμ
证
明
:
因
为
x
T
A
x
的
结
果
是
一
个
标
量
,
利
用
前
面
提
到
的
t
r
i
c
k
(
t
r
(
x
T
A
x
)
=
t
r
(
A
x
x
T
)
,
可
得
:
E
(
x
T
A
x
)
=
E
[
t
r
(
A
x
x
T
)
]
=
t
r
[
E
(
A
x
x
T
)
]
=
t
r
[
A
E
(
x
x
T
)
]
=
t
r
[
A
(
Σ
+
μ
μ
T
)
]
=
t
r
(
A
Σ
)
+
t
r
(
A
μ
μ
T
)
=
t
r
(
A
Σ
)
+
t
r
(
μ
T
A
μ
)
=
t
r
(
A
Σ
)
+
μ
T
A
μ
\begin{aligned} 证明:& 因为x^TAx的结果是一个标量,利用前面提到的trick(tr(x^TAx)=tr(Axx^T),可得:\\ &\quad \mathbb{E}(x^TAx)=\mathbb{E}[tr(Axx^T)]=tr[\mathbb{E}(Axx^T)]\\ &=tr[A\mathbb{E}(xx^T)]=tr[A(\Sigma+\mu \mu^T)]=tr(A\Sigma)+tr(A\mu\mu^T)\\ &=tr(A\Sigma)+tr(\mu^TA\mu)=tr(A\Sigma)+\mu^TA\mu \end{aligned}
证明:因为xTAx的结果是一个标量,利用前面提到的trick(tr(xTAx)=tr(AxxT),可得:E(xTAx)=E[tr(AxxT)]=tr[E(AxxT)]=tr[AE(xxT)]=tr[A(Σ+μμT)]=tr(AΣ)+tr(AμμT)=tr(AΣ)+tr(μTAμ)=tr(AΣ)+μTAμ
上式的证明中考虑了求迹运算 t r ( ⋅ ) tr(\cdot) tr(⋅)和求期望运算 E [ ⋅ ] \mathbb{E}[\cdot] E[⋅]的可交换性.
参考:
[1]: https://blog.csdn.net/wangpeng138375/article/details/78060753