提前放狠话:看不懂打si我吧,真的很细节了。
提前了解:
1、极大似然估计(MLE)、最大后验概率估计(MAP)、贝叶斯估计区别
2、正定矩阵与半正定矩阵定义性质与理解
3、马氏距离和欧式距离详解
4、参考Github笔记
高斯分布
正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution)。
下面将分一维和多维一一进行介绍。
拓展:
希腊字母表的第十八字母(
Σ
\Sigma
Σ,
σ
\sigma
σ)。
Σ
\Sigma
Σ 英语名称:Sigma 汉语名称:西格玛(大写
Σ
\Sigma
Σ,小写
σ
\sigma
σ),第十八个希腊字母。
大写
Σ
\Sigma
Σ用于数学上的总和符号,比如:
Σ
P
i
\Sigma P_i
ΣPi,其中
i
=
1
,
2
,
.
.
.
,
N
i=1,2,...,N
i=1,2,...,N,即为求
P
1
+
P
2
+
.
.
.
+
P
N
P_1 + P_2 + ... + P_N
P1+P2+...+PN的和。小写
σ
\sigma
σ用于统计学上的标准差。
MLE参数估计
数据集
X
X
X符合某分布,且是独立同分布的(
i
i
d
iid
iid),在 MLE 方法中,参数估计的方法如下:
θ
M
L
E
=
a
r
g
m
a
x
θ
log
∏
i
=
1
N
p
(
x
i
∣
θ
)
=
a
r
g
m
a
x
θ
∑
i
=
1
N
log
p
(
x
i
∣
θ
)
\theta_{MLE}=\mathop{argmax}\limits_{\theta}\log \prod\limits _{i=1}^{N}{ p(x_{i}|\theta)}\mathop{=}\limits \mathop{argmax}\limits _{\theta}\sum\limits _{i=1}^{N}\log p(x_{i}|\theta)
θMLE=θargmaxlogi=1∏Np(xi∣θ)=θargmaxi=1∑Nlogp(xi∣θ)
一维情况
数据符合一维高斯分布(独立同分布):
X
∼
N
(
μ
,
σ
2
)
X \sim \mathcal{N}(\mu,\sigma^{2})
X∼N(μ,σ2)
一维高斯分布的概率密度函数PDF写为:
p
(
x
∣
μ
,
σ
2
)
=
1
2
π
σ
e
−
(
x
−
μ
)
2
2
σ
2
p(x|\mu,\sigma^{2})=\frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x-\mu)^2}{2 \sigma^{2}}}
p(x∣μ,σ2)=2πσ1e−2σ2(x−μ)2
我们要使用MLE进行估计的参数为: θ = ( μ , σ 2 ) \theta=(\mu,\sigma^{2}) θ=(μ,σ2)
带入 MLE 中我们考虑一维的情况
log
p
(
X
∣
θ
)
=
∑
i
=
1
N
log
p
(
x
i
∣
θ
)
=
∑
i
=
1
N
log
1
2
π
σ
e
−
(
x
i
−
μ
)
2
2
σ
2
=
∑
i
=
1
N
log
1
2
π
σ
e
−
(
x
i
−
μ
)
2
2
σ
2
=
∑
i
=
1
N
log
1
2
π
σ
+
∑
i
=
1
N
log
e
−
(
x
i
−
μ
)
2
2
σ
2
=
∑
i
=
1
N
[
log
1
2
π
+
log
1
σ
−
(
x
i
−
μ
)
2
2
σ
2
]
\begin{aligned} \log p(X|\theta)=\sum\limits _{i=1}^{N}\log p(x_{i}|\theta)&=\sum\limits _{i=1}^{N}\log \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x_i-\mu)^2}{2 \sigma^{2}}}\\ \\ &=\sum\limits _{i=1}^{N}\log \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x_i-\mu)^2}{2 \sigma^{2}}}\\ \\&=\sum\limits _{i=1}^{N}\log \frac{1}{\sqrt{2\pi}\sigma} + \sum\limits _{i=1}^{N} \log e^{-\frac{(x_i-\mu)^2}{2 \sigma^{2}}}\\ \\&= \sum\limits _{i=1}^{N} [\ \log\frac{1}{\sqrt{2\pi}} +\log\frac{1}{\sigma} {-\frac{(x_i-\mu)^2}{2 \sigma^{2}}}] \end{aligned}
logp(X∣θ)=i=1∑Nlogp(xi∣θ)=i=1∑Nlog2πσ1e−2σ2(xi−μ)2=i=1∑Nlog2πσ1e−2σ2(xi−μ)2=i=1∑Nlog2πσ1+i=1∑Nloge−2σ2(xi−μ)2=i=1∑N[ log2π1+logσ1−2σ2(xi−μ)2]
首先对
μ
\mu
μ 的极值可以得到 :
μ
M
L
E
=
a
r
g
m
a
x
μ
log
p
(
X
∣
θ
)
=
a
r
g
m
a
x
μ
−
∑
i
=
1
N
(
x
i
−
μ
)
2
=
a
r
g
m
i
n
μ
∑
i
=
1
N
(
x
i
−
μ
)
2
\mu_{MLE}=\mathop{argmax}\limits _{\mu}\log p(X|\theta)=\mathop{argmax}\limits _{\mu}-\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2}=\mathop{argmin}\limits _{\mu}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2}
μMLE=μargmaxlogp(X∣θ)=μargmax−i=1∑N(xi−μ)2=μargmini=1∑N(xi−μ)2
于是:
∂
∂
μ
∑
i
=
1
N
(
x
i
−
μ
)
2
=
0
⟶
μ
M
L
E
=
1
N
∑
i
=
1
N
x
i
\frac{\partial}{\partial\mu}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2}=0\longrightarrow\mu_{MLE}=\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}
∂μ∂i=1∑N(xi−μ)2=0⟶μMLE=N1i=1∑Nxi
其次对
θ
\theta
θ 中的另一个参数
σ
\sigma
σ ,有:
σ
M
L
E
=
a
r
g
m
a
x
σ
log
p
(
X
∣
θ
)
=
a
r
g
m
a
x
σ
∑
i
=
1
N
[
−
log
σ
−
(
x
i
−
μ
)
2
2
σ
2
]
=
a
r
g
m
i
n
σ
∑
i
=
1
N
[
log
σ
+
(
x
i
−
μ
)
2
2
σ
2
]
\begin{aligned} \sigma_{MLE}=\mathop{argmax}\limits _{\sigma}\log p(X|\theta)&=\mathop{argmax}\limits _{\sigma}\sum\limits _{i=1}^{N}[-\log\sigma{-\frac{(x_i-\mu)^2}{2 \sigma^{2}}}]\\ &=\mathop{argmin}\limits _{\sigma}\sum\limits _{i=1}^{N}[\log\sigma+{\frac{(x_i-\mu)^2}{2 \sigma^{2}}}] \end{aligned}
σMLE=σargmaxlogp(X∣θ)=σargmaxi=1∑N[−logσ−2σ2(xi−μ)2]=σargmini=1∑N[logσ+2σ2(xi−μ)2]
于是:
∂
∂
σ
∑
i
=
1
N
[
log
σ
+
1
2
σ
2
(
x
i
−
μ
)
2
]
=
0
⟶
σ
M
L
E
2
=
1
N
∑
i
=
1
N
(
x
i
−
μ
)
2
\frac{\partial}{\partial\sigma}\sum\limits _{i=1}^{N}[\log\sigma+\frac{1}{2\sigma^{2}}(x_{i}-\mu)^{2}]=0\longrightarrow\sigma_{MLE}^{2}=\frac{1}{N}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2}
∂σ∂i=1∑N[logσ+2σ21(xi−μ)2]=0⟶σMLE2=N1i=1∑N(xi−μ)2
有偏VS无偏
值得注意的是,上面的推导中,首先对
μ
\mu
μ 求 MLE, 然后利用这个结果求
σ
M
L
E
\sigma_{MLE}
σMLE ,因此可以预期的是对
μ
M
L
E
\mu_{MLE}
μMLE求期望时, 可以发现
μ
M
L
E
\mu_{MLE}
μMLE是无偏差的:
E
D
[
μ
M
L
E
]
=
E
D
[
1
N
∑
i
=
1
N
x
i
]
=
1
N
∑
i
=
1
N
E
D
[
x
i
]
=
μ
\mathbb{E}_{\mathcal{D}}[\mu_{MLE}]=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}]=\frac{1}{N}\sum\limits _{i=1}^{N}\mathbb{E}_{\mathcal{D}}[x_{i}]=\mu
ED[μMLE]=ED[N1i=1∑Nxi]=N1i=1∑NED[xi]=μ
但是当对
σ
M
L
E
\sigma_{MLE}
σMLE 求 期望的时候由于使用了单个数据集的
μ
M
L
E
\mu_{MLE}
μMLE,因为
μ
M
L
E
\mu_{MLE}
μMLE不一定与所有数据的
μ
\mu
μ相等,因此对
σ
M
L
E
\sigma_{MLE}
σMLE 求期望的时候我们会发现
σ
M
L
E
\sigma_{MLE}
σMLE 是有偏差的:
E D [ σ M L E 2 ] = E D [ 1 N ∑ i = 1 N ( x i − μ M L E ) 2 ] = E D [ 1 N ∑ i = 1 N ( x i 2 − 2 x i μ M L E + μ M L E 2 ) = E D [ 1 N ∑ i = 1 N x i 2 − μ M L E 2 ] = E D [ 1 N ∑ i = 1 N x i 2 − μ 2 + μ 2 − μ M L E 2 ] = E D [ 1 N ∑ i = 1 N x i 2 − μ 2 ] − E D [ μ M L E 2 − μ 2 ] = σ 2 − ( E D [ μ M L E 2 ] − μ 2 ) = σ 2 − ( E D [ μ M L E 2 ] − E D 2 [ μ M L E ] ) = σ 2 − V a r [ μ M L E ] = σ 2 − V a r [ 1 N ∑ i = 1 N x i ] = σ 2 − 1 N 2 ∑ i = 1 N V a r [ x i ] = N − 1 N σ 2 \begin{aligned} \mathbb{E}_{\mathcal{D}}[\sigma_{MLE}^{2}]&=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}(x_{i}-\mu_{MLE})^{2}]=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}(x_{i}^{2}-2x_{i}\mu_{MLE}+\mu_{MLE}^{2}) \\ \\&=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}^{2}-\mu_{MLE}^{2}]=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}^{2}-\mu^{2}+\mu^{2}-\mu_{MLE}^{2}]\\\\ &= \mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}^{2}-\mu^{2}]-\mathbb{E}_{\mathcal{D}}[\mu_{MLE}^{2}-\mu^{2}]=\sigma^{2}-(\mathbb{E}_{\mathcal{D}}[\mu_{MLE}^{2}]-\mu^{2})\\\\&=\sigma^{2}-(\mathbb{E}_{\mathcal{D}}[\mu_{MLE}^{2}]-\mathbb{E}_{\mathcal{D}}^{2}[\mu_{MLE}])=\sigma^{2}-Var[\mu_{MLE}]\\\\ &=\sigma^{2}-Var[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}]=\sigma^{2}-\frac{1}{N^{2}}\sum\limits _{i=1}^{N}Var[x_{i}]=\frac{N-1}{N}\sigma^{2} \end{aligned} ED[σMLE2]=ED[N1i=1∑N(xi−μMLE)2]=ED[N1i=1∑N(xi2−2xiμMLE+μMLE2)=ED[N1i=1∑Nxi2−μMLE2]=ED[N1i=1∑Nxi2−μ2+μ2−μMLE2]=ED[N1i=1∑Nxi2−μ2]−ED[μMLE2−μ2]=σ2−(ED[μMLE2]−μ2)=σ2−(ED[μMLE2]−ED2[μMLE])=σ2−Var[μMLE]=σ2−Var[N1i=1∑Nxi]=σ2−N21i=1∑NVar[xi]=NN−1σ2
所以,无偏估计量
σ
^
2
\hat{\sigma}^{2}
σ^2如下式所示:
σ
^
2
=
1
N
−
1
∑
i
=
1
N
(
x
i
−
μ
)
2
\hat{\sigma}^{2}=\frac{1}{N-1}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2}
σ^2=N−11i=1∑N(xi−μ)2
多维情况
多维高斯分布的概率密度函数PDF写为:
p
(
x
∣
μ
,
Σ
)
=
1
(
2
π
)
p
/
2
∣
Σ
∣
1
/
2
e
−
1
2
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
p(x|\mu,\Sigma)=\frac{1}{(2\pi)^{p/2}|\Sigma|^{1/2}}e^{-\frac{1}{2}(x-\mu)^{T}\Sigma^{-1}(x-\mu)}
p(x∣μ,Σ)=(2π)p/2∣Σ∣1/21e−21(x−μ)TΣ−1(x−μ)
其中
x
,
μ
∈
R
p
,
Σ
∈
R
p
×
p
x,\mu\in\mathbb{R}^{p},\Sigma\in\mathbb{R}^{p\times p}
x,μ∈Rp,Σ∈Rp×p ,
Σ
\Sigma
Σ 为协方差矩阵,一般也是半正定矩阵且是对称矩阵。这里我们只考虑正定矩阵。
补充:
1、设
A
A
A是
n
n
n阶方阵,如果对任何非零向量
x
x
x,都有
x
T
A
x
>
0
x^TAx>0
xTAx>0,其中
x
T
x^T
xT表示
x
x
x的转置,就称
A
A
A为正定矩阵。
2、设
A
A
A是实对称矩阵,如果对任意的实非零列向量
x
x
x有
x
T
A
x
≥
0
x^TAx≥0
xTAx≥0,就称
A
A
A为半正定矩阵。
3、马氏距离公式:
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
\sqrt{(x-\mu)^{T}\Sigma^{-1}(x-\mu)}
(x−μ)TΣ−1(x−μ)。我们可以发现如果
Σ
−
1
\Sigma^{−1}
Σ−1是单位矩阵的时候,马氏距离简化为欧氏距离。马氏距离的这一项
Σ
−
1
\Sigma^{−1}
Σ−1起到了方差归一化的作用,可以拿一维的高斯分布举例,
−
1
2
(
x
−
μ
)
2
σ
2
-{\frac{1}{2}}{\frac{(x-\mu)^2}{ \sigma^{2}}}
−21σ2(x−μ)2,
σ
2
\sigma^{2}
σ2等价于
Σ
\Sigma
Σ。
首先我们处理指数上的数字,指数上的数字可以记为 x x x 和 μ \mu μ 之间的马氏距离。对于对称的协方差矩阵可进行特征值分解, Σ = U Λ U T = ( u 1 , u 2 , ⋯ , u p ) d i a g ( λ i ) ( u 1 , u 2 , ⋯ , u p ) T = ∑ i = 1 p u i λ i u i T \Sigma=U\Lambda U^{T}=(u_{1},u_{2},\cdots,u_{p})diag(\lambda_{i})(u_{1},u_{2},\cdots,u_{p})^{T}=\sum\limits _{i=1}^{p}u_{i}\lambda_{i}u_{i}^{T} Σ=UΛUT=(u1,u2,⋯,up)diag(λi)(u1,u2,⋯,up)T=i=1∑puiλiuiT ,其中 u i ∈ R p u_i\in\mathbb{R}^{p} ui∈Rp, U , d i a g ( λ i ) ∈ R p × p U,diag(\lambda_{i})\in\mathbb{R}^{p\times p} U,diag(λi)∈Rp×p, U U T = U T U = I UU^{T}=U^{T}U=I UUT=UTU=I,于是:
Σ − 1 = ∑ i = 1 p u i 1 λ i u i T \Sigma^{-1}=\sum\limits _{i=1}^{p}u_{i}\frac{1}{\lambda_{i}}u_{i}^{T} Σ−1=i=1∑puiλi1uiT
Δ
=
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
=
∑
i
=
1
p
(
x
−
μ
)
T
u
i
1
λ
i
u
i
T
(
x
−
μ
)
=
∑
i
=
1
p
y
i
2
λ
i
\Delta=(x-\mu)^{T}\Sigma^{-1}(x-\mu)=\sum\limits _{i=1}^{p}(x-\mu)^{T}u_{i}\frac{1}{\lambda_{i}}u_{i}^{T}(x-\mu)=\sum\limits _{i=1}^{p}\frac{y_{i}^{2}}{\lambda_{i}}
Δ=(x−μ)TΣ−1(x−μ)=i=1∑p(x−μ)Tuiλi1uiT(x−μ)=i=1∑pλiyi2
其中
y
i
=
(
x
−
μ
)
T
u
i
=
y
i
T
=
u
i
T
(
x
−
μ
)
y_{i}=(x-\mu)^{T}u_{i}= y_{i}^{T} = u_{i}^{T}(x-\mu)
yi=(x−μ)Tui=yiT=uiT(x−μ),
y
i
y_{i}
yi是一个实数。
我们注意到
y
i
y_{i}
yi 是
x
−
μ
x-\mu
x−μ 在特征向量
u
i
u_{i}
ui 上的投影长度,
因此上式子在二维情况下,
∑
i
=
1
2
y
i
2
λ
i
=
y
1
2
λ
1
+
y
2
2
λ
2
=
Δ
\sum\limits _{i=1}^{2}\frac{y_{i}^{2}}{\lambda_{i}}=\frac{y_{1}^{2}}{\lambda_{1}}+\frac{y_{2}^{2}}{\lambda_{2}}=\Delta
i=1∑2λiyi2=λ1y12+λ2y22=Δ就是
Δ
\Delta
Δ 取不同值时的同心椭圆。
我来换一个通俗易懂的讲法:
使用二维空间更直观
- X = { x 1 , x 2 , . . . , x N } X=\{x_1,x_2,...,x_N\} X={x1,x2,...,xN},其中 x i = ( x i 1 ; x i 2 ) , i = 1 , 2 , . . . , N x_i=(x_i^1;x_i^2),i=1,2,...,N xi=(xi1;xi2),i=1,2,...,N,这些数据集 X X X构成了一个二维空间。
- 使用 X X X分别在两个维度上确定均值, μ 1 \mu^1 μ1和 μ 2 \mu^2 μ2,即可得到 μ = ( μ 1 ; μ 2 ) \mu=(\mu^1;\mu^2) μ=(μ1;μ2)。
- 如果使用的是欧式距离, u i u_{i} ui 其实一一对应坐标轴 x i x_i xi所指方向,因此 ( x − μ ) T u i (x-\mu)^{T}u_{i} (x−μ)Tui两个向量相乘, y i y_{i} yi大小等于 ( x − μ ) T u i (x-\mu)^{T}u_{i} (x−μ)Tui,且 λ 1 = λ 2 \lambda_{1}=\lambda_{2} λ1=λ2,在二维空间上即为一个圆。
- 在上式为马氏距离, u i u_{i} ui 不对应坐标轴 x i x_i xi所指方向,因此 y i y_{i} yi大小等于 x − μ x-\mu x−μ 在特征向量 u i u_{i} ui 上的投影长度,在原二维空间上即为一个斜的椭圆。
- 因此马氏距离涵盖了欧式距离,它使用了各变量各自的方差去进行计算,起到了方差归一化的作用。
- 我们也可以直观地看到高斯二维分布其实为一个椭圆型。
化简了指数部分,我们重新看一下PDF:
p
(
x
∣
μ
,
Σ
)
=
1
(
2
π
)
p
/
2
∣
Σ
∣
1
/
2
e
−
1
2
Δ
p(x|\mu,\Sigma)=\frac{1}{(2\pi)^{p/2}|\Sigma|^{1/2}}e^{-\frac{1}{2}\Delta}
p(x∣μ,Σ)=(2π)p/2∣Σ∣1/21e−21Δ
当我们确定了
p
(
x
∣
μ
,
Σ
)
p(x|\mu,\Sigma)
p(x∣μ,Σ)的值,那么我们也确定了
Δ
\Delta
Δ的值,就可以得到满足该条件的特征向量形成的空间,其实在二维空间,构成了一座山的等高线,椭圆形的线。
下面我们看多维高斯模型在实际应用时的两个局限性
-
参数过多。参数 Σ , μ \Sigma,\mu Σ,μ 的自由度为 O ( p 2 ) O(p^{2}) O(p2) 对于维度很高的数据其自由度太高。高自由度的来源是 Σ \Sigma Σ 有 p ( p + 1 ) 2 \frac{p(p+1)}{2} 2p(p+1) 个自由参数。
解决方法:
可以假设其是对角矩阵,这样就不需要进行特征值分解, u i u_{i} ui的形式就满足欧式距离出现的第一种情况,然后直观展示为是正的椭圆而不是斜的椭圆。
甚至在各向同性假设中假设其对角线上的元素都相同。 u i u_{i} ui的形式就满足欧式距离出现的所有情况,然后直观展示为一个正圆形。
前一种的算法有 Factor Analysis,后一种有概率 PCA(p-PCA) 。 -
第二个问题是单个高斯分布是单峰的,对有多个峰的数据分布不能得到好的模型结果。
解决方法:
高斯混合GMM 模型。
边缘概率以及条件概率
我们记 x = ( x 1 , x 2 , ⋯ , x p ) T = ( x a , m × 1 , x b , n × 1 ) , μ = ( μ a , m × 1 , μ b , n × 1 ) , Σ = ( Σ a a Σ a b Σ b a Σ b b ) x=(x_1, x_2,\cdots,x_p)^T=(x_{a,m\times 1}, x_{b,n\times1}),\mu=(\mu_{a,m\times1}, \mu_{b,n\times1}),\Sigma=\begin{pmatrix}\Sigma_{aa}&\Sigma_{ab}\\\Sigma_{ba}&\Sigma_{bb}\end{pmatrix} x=(x1,x2,⋯,xp)T=(xa,m×1,xb,n×1),μ=(μa,m×1,μb,n×1),Σ=(ΣaaΣbaΣabΣbb),已知 x ∼ N ( μ , Σ ) x\sim\mathcal{N}(\mu,\Sigma) x∼N(μ,Σ)。
首先是一个高斯分布的定理:
定理:已知 x ∼ N ( μ , Σ ) , y ∼ A x + b x\sim\mathcal{N}(\mu,\Sigma), y\sim Ax+b x∼N(μ,Σ),y∼Ax+b,那么 y ∼ N ( A μ + b , A Σ A T ) y\sim\mathcal{N}(A\mu+b, A\Sigma A^T) y∼N(Aμ+b,AΣAT)。
证明: E [ y ] = E [ A x + b ] = A E [ x ] + b = A μ + b \mathbb{E}[y]=\mathbb{E}[Ax+b]=A\mathbb{E}[x]+b=A\mu+b E[y]=E[Ax+b]=AE[x]+b=Aμ+b, V a r [ y ] = V a r [ A x + b ] = V a r [ A x ] = A ⋅ V a r [ x ] ⋅ A T Var[y]=Var[Ax+b]=Var[Ax]=A\cdot Var[x]\cdot A^T Var[y]=Var[Ax+b]=Var[Ax]=A⋅Var[x]⋅AT。
下面利用这个定理得到 p ( x a ) , p ( x b ) , p ( x a ∣ x b ) , p ( x b ∣ x a ) p(x_a),p(x_b),p(x_a|x_b),p(x_b|x_a) p(xa),p(xb),p(xa∣xb),p(xb∣xa) 这四个量。
-
x a = ( I m × m O m × n ) ( x a x b ) x_a=\begin{pmatrix}\mathbb{I}_{m\times m}&\mathbb{O}_{m\times n}\end{pmatrix}\begin{pmatrix}x_a\\x_b\end{pmatrix} xa=(Im×mOm×n)(xaxb),代入上面的定理中可以得到:
E [ x a ] = ( I O ) ( μ a μ b ) = μ a V a r [ x a ] = ( I O ) ( Σ a a Σ a b Σ b a Σ b b ) ( I O ) = Σ a a \mathbb{E}[x_a]=\begin{pmatrix}\mathbb{I}&\mathbb{O}\end{pmatrix}\begin{pmatrix}\mu_a\\\mu_b\end{pmatrix}=\mu_a\\ Var[x_a]=\begin{pmatrix}\mathbb{I}&\mathbb{O}\end{pmatrix}\begin{pmatrix}\Sigma_{aa}&\Sigma_{ab}\\\Sigma_{ba}&\Sigma_{bb}\end{pmatrix}\begin{pmatrix}\mathbb{I}\\\mathbb{O}\end{pmatrix}=\Sigma_{aa} E[xa]=(IO)(μaμb)=μaVar[xa]=(IO)(ΣaaΣbaΣabΣbb)(IO)=Σaa
所以 x a ∼ N ( μ a , Σ a a ) x_a\sim\mathcal{N}(\mu_a,\Sigma_{aa}) xa∼N(μa,Σaa)。 -
同样的, x b ∼ N ( μ b , Σ b b ) x_b\sim\mathcal{N}(\mu_b,\Sigma_{bb}) xb∼N(μb,Σbb)。
-
对于两个条件概率,我们引入三个量(第一个式子是一个构造性证明,记住就行):
x b ⋅ a = x b − Σ b a Σ a a − 1 x a μ b ⋅ a = μ b − Σ b a Σ a a − 1 μ a Σ b b ⋅ a = Σ b b − Σ b a Σ a a − 1 Σ a b x_{b\cdot a}=x_b-\Sigma_{ba}\Sigma_{aa}^{-1}x_a\\ \mu_{b\cdot a}=\mu_b-\Sigma_{ba}\Sigma_{aa}^{-1}\mu_a\\ \Sigma_{bb\cdot a}=\Sigma_{bb}-\Sigma_{ba}\Sigma_{aa}^{-1}\Sigma_{ab} xb⋅a=xb−ΣbaΣaa−1xaμb⋅a=μb−ΣbaΣaa−1μaΣbb⋅a=Σbb−ΣbaΣaa−1Σab
特别的,最后一个式子叫做 Σ a a \Sigma_{aa} Σaa 的 Schur Complementary。可以看到:
x b ⋅ a = ( − Σ b a Σ a a − 1 I n × n ) ( x a x b ) x_{b\cdot a}=\begin{pmatrix}-\Sigma_{ba}\Sigma_{aa}^{-1}&\mathbb{I}_{n\times n}\end{pmatrix}\begin{pmatrix}x_a\\x_b\end{pmatrix} xb⋅a=(−ΣbaΣaa−1In×n)(xaxb)
我们重点使用第一条式子推导第二、三条式子,所以:
E [ x b ⋅ a ] = ( − Σ b a Σ a a − 1 I n × n ) ( μ a μ b ) = μ b ⋅ a V a r [ x b ⋅ a ] = ( − Σ b a Σ a a − 1 I n × n ) ( Σ a a Σ a b Σ b a Σ b b ) ( − Σ a a − 1 Σ b a T I n × n ) = Σ b b ⋅ a \mathbb{E}[x_{b\cdot a}]=\begin{pmatrix}-\Sigma_{ba}\Sigma_{aa}^{-1}&\mathbb{I}_{n\times n}\end{pmatrix}\begin{pmatrix}\mu_a\\\mu_b\end{pmatrix}=\mu_{b\cdot a}\\ Var[x_{b\cdot a}]=\begin{pmatrix}-\Sigma_{ba}\Sigma_{aa}^{-1}&\mathbb{I}_{n\times n}\end{pmatrix}\begin{pmatrix}\Sigma_{aa}&\Sigma_{ab}\\\Sigma_{ba}&\Sigma_{bb}\end{pmatrix}\begin{pmatrix}-\Sigma_{aa}^{-1}\Sigma_{ba}^T\\\mathbb{I}_{n\times n}\end{pmatrix}=\Sigma_{bb\cdot a} E[xb⋅a]=(−ΣbaΣaa−1In×n)(μaμb)=μb⋅aVar[xb⋅a]=(−ΣbaΣaa−1In×n)(ΣaaΣbaΣabΣbb)(−Σaa−1ΣbaTIn×n)=Σbb⋅a
利用这三个量可以得到 x b = x b ⋅ a + Σ b a Σ a a − 1 x a x_b=x_{b\cdot a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_a xb=xb⋅a+ΣbaΣaa−1xa。我们先推导一下下面的公式
若 x ∼ N ( μ , Σ ) x\sim\mathcal{N}(\mu,\Sigma_{}) x∼N(μ,Σ),则 M x ⊥ N x ⇔ M Σ N T = 0 Mx\perp Nx\Leftrightarrow M\Sigma N^T=0 Mx⊥Nx⇔MΣNT=0
如果两个随机变量均服从高斯分布,那么“不相关”等价于“独立”。证明: ∵ x ∼ N ( μ , Σ ) ∴ M x ∼ N ( M μ , M Σ M T ) , N x ∼ N ( N μ , N Σ N T ) ∴ C o v ( M x , N x ) = E [ ( M x − M μ ) ( N x − N μ ) T ] = E [ M ( x − μ ) ( x − μ ) T N ] = M E [ ( x − μ ) ( x − μ ) T ] N = M Σ N T ∵ M x ⊥ N 且 均 为 高 斯 ∴ C o v ( M x , N x ) = M Σ N T = 0 \begin{aligned} &\because x\sim\mathcal{N}(\mu,\Sigma_{})\\ &\therefore Mx\sim\mathcal{N}(M\mu,M\Sigma_{}M^T),Nx\sim\mathcal{N}(N\mu,N\Sigma_{}N^T)\\ &\therefore \mathbb{Cov}(Mx,Nx)\\ &= \mathbb{E}[(Mx-M\mu)(Nx-N\mu)^T]\\ &= \mathbb{E}[M(x-\mu)(x-\mu)^TN]\\ &=M \mathbb{E}[(x-\mu)(x-\mu)^T]N\\ &=M \Sigma N^T\\ &\because Mx\perp N且均为高斯\\ &\therefore \mathbb{Cov}(Mx,Nx) = M \Sigma N^T = 0 \end{aligned} ∵x∼N(μ,Σ)∴Mx∼N(Mμ,MΣMT),Nx∼N(Nμ,NΣNT)∴Cov(Mx,Nx)=E[(Mx−Mμ)(Nx−Nμ)T]=E[M(x−μ)(x−μ)TN]=ME[(x−μ)(x−μ)T]N=MΣNT∵Mx⊥N且均为高斯∴Cov(Mx,Nx)=MΣNT=0
我们回到原来的式子:
x b = x b ⋅ a + Σ b a Σ a a − 1 x a x_b=x_{b\cdot a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_a xb=xb⋅a+ΣbaΣaa−1xa
我们辛苦构造的 x b ⋅ a x_{b\cdot a} xb⋅a有什么作用呢,其实它和 x a x_{a} xa是相互独立的,可以使用上面的公式以及前面的构造进行推导。
∵ x b ⋅ a ⊥ x a ⇒ x b ⋅ a ∣ x a = x b ⋅ a ∴ x b ∣ x a = x b ⋅ a ∣ x a + Σ b a Σ a a − 1 x a ∣ x a = x b ⋅ a + Σ b a Σ a a − 1 x a \because x_{b\cdot a} \perp x_a \Rightarrow x_{b\cdot a}|x_a = x_{b\cdot a}\\ \therefore x_b|x_a = x_{b\cdot a}|x_a +\Sigma_{ba}\Sigma_{aa}^{-1}x_a|x_a= x_{b\cdot a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_a ∵xb⋅a⊥xa⇒xb⋅a∣xa=xb⋅a∴xb∣xa=xb⋅a∣xa+ΣbaΣaa−1xa∣xa=xb⋅a+ΣbaΣaa−1xa
所以
E [ x b ∣ x a ] = μ b ⋅ a + Σ b a Σ a a − 1 x a \mathbb{E}[x_b|x_a]=\mu_{b\cdot a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_a E[xb∣xa]=μb⋅a+ΣbaΣaa−1xaV a r [ x b ∣ x a ] = Σ b b ⋅ a Var[x_b|x_a]=\Sigma_{bb\cdot a} Var[xb∣xa]=Σbb⋅a
这里同样用到了定理。
-
同样:
x a ⋅ b = x a − Σ a b Σ b b − 1 x b μ a ⋅ b = μ a − Σ a b Σ b b − 1 μ b Σ a a ⋅ b = Σ a a − Σ a b Σ b b − 1 Σ b a x_{a\cdot b}=x_a-\Sigma_{ab}\Sigma_{bb}^{-1}x_b\\ \mu_{a\cdot b}=\mu_a-\Sigma_{ab}\Sigma_{bb}^{-1}\mu_b\\ \Sigma_{aa\cdot b}=\Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba} xa⋅b=xa−ΣabΣbb−1xbμa⋅b=μa−ΣabΣbb−1μbΣaa⋅b=Σaa−ΣabΣbb−1Σba
所以:
E [ x a ∣ x b ] = μ a ⋅ b + Σ a b Σ b b − 1 x b \mathbb{E}[x_a|x_b]=\mu_{a\cdot b}+\Sigma_{ab}\Sigma_{bb}^{-1}x_b E[xa∣xb]=μa⋅b+ΣabΣbb−1xbV a r [ x a ∣ x b ] = Σ a a ⋅ b Var[x_a|x_b]=\Sigma_{aa\cdot b} Var[xa∣xb]=Σaa⋅b
求 p ( y ) , p ( x ∣ y ) p(y),p(x|y) p(y),p(x∣y)
线性高斯模型常见求解
已知: p ( x ) = N ( μ , Λ − 1 ) , p ( y ∣ x ) = N ( A x + b , L − 1 ) p(x)=\mathcal{N}(\mu,\Lambda^{-1}),p(y|x)=\mathcal{N}(Ax+b,L^{-1}) p(x)=N(μ,Λ−1),p(y∣x)=N(Ax+b,L−1),求解: p ( y ) , p ( x ∣ y ) p(y),p(x|y) p(y),p(x∣y)。
解:令 y = A x + b + ϵ , ϵ ∼ N ( 0 , L − 1 ) y=Ax+b+\epsilon,\epsilon\sim\mathcal{N}(0,L^{-1}) y=Ax+b+ϵ,ϵ∼N(0,L−1),所以 E [ y ] = E [ A x + b + ϵ ] = A μ + b \mathbb{E}[y]=\mathbb{E}[Ax+b+\epsilon]=A\mu+b E[y]=E[Ax+b+ϵ]=Aμ+b, V a r [ y ] = A Λ − 1 A T + L − 1 Var[y]=A \Lambda^{-1}A^T+L^{-1} Var[y]=AΛ−1AT+L−1,因此:
p ( y ) = N ( A μ + b , L − 1 + A Λ − 1 A T ) p(y)=\mathcal{N}(A\mu+b,L^{-1}+A\Lambda^{-1}A^T) p(y)=N(Aμ+b,L−1+AΛ−1AT)
引入 z = ( x y ) z=\begin{pmatrix}x\\y\end{pmatrix} z=(xy),我们可以得到 C o v [ x , y ] = E [ ( x − E [ x ] ) ( y − E [ y ] ) T ] Cov[x,y]=\mathbb{E}[(x-\mathbb{E}[x])(y-\mathbb{E}[y])^T] Cov[x,y]=E[(x−E[x])(y−E[y])T]。对于这个协方差可以直接计算:
C o v ( x , y ) = E [ ( x − μ ) ( A x − A μ + ϵ ) T ] = E [ ( x − μ ) ( x − μ ) T A T ] = V a r [ x ] A T = Λ − 1 A T \begin{aligned} Cov(x,y)&=\mathbb{E}[(x-\mu)(Ax-A\mu+\epsilon)^T]\\ &=\mathbb{E}[(x-\mu)(x-\mu)^TA^T]\\ &=Var[x]A^T\\ &=\Lambda^{-1}A^T \end{aligned} Cov(x,y)=E[(x−μ)(Ax−Aμ+ϵ)T]=E[(x−μ)(x−μ)TAT]=Var[x]AT=Λ−1AT
注意到协方差矩阵的对称性,
所以 p ( z ) = N ( ( μ A μ + b ) , ( Λ − 1 Λ − 1 A T A Λ − 1 L − 1 + A Λ − 1 A T ) ) p(z)=\mathcal{N}(\begin{pmatrix}\mu\\A\mu+b\end{pmatrix},\begin{pmatrix}\Lambda^{-1}&\Lambda^{-1}A^T\\A\Lambda^{-1}&L^{-1}+A\Lambda^{-1}A^T\end{pmatrix}) p(z)=N((μAμ+b),(Λ−1AΛ−1Λ−1ATL−1+AΛ−1AT))。
根据之前的公式,我们可以得到:
E [ x ∣ y ] = μ + Λ − 1 A T ( L − 1 + A Λ − 1 A T ) − 1 ( y − A μ − b ) \mathbb{E}[x|y]=\mu+\Lambda^{-1}A^T(L^{-1}+A\Lambda^{-1}A^T)^{-1}(y-A\mu-b) E[x∣y]=μ+Λ−1AT(L−1+AΛ−1AT)−1(y−Aμ−b)V a r [ x ∣ y ] = Λ − 1 − Λ − 1 A T ( L − 1 + A Λ − 1 A T ) − 1 A Λ − 1 Var[x|y]=\Lambda^{-1}-\Lambda^{-1}A^T(L^{-1}+A\Lambda^{-1}A^T)^{-1}A\Lambda^{-1} Var[x∣y]=Λ−1−Λ−1AT(L−1+AΛ−1AT)−1AΛ−1