本节将介绍高斯分布相关的推断问题。
在概率图模型——推断任务介绍中提到推断的本质就是求解变量的概率。已知随机变量集合
X
\mathcal X
X的变量表示如下:
X
=
(
x
1
,
x
2
,
⋯
,
x
p
)
T
\mathcal X = (x_1,x_2,\cdots,x_p)^T
X=(x1,x2,⋯,xp)T
这里不过多赘述,具体详见隐马尔可夫模型——解码问题在该系列第一篇文章极大似然估计与最大后验概率估计中,就已经介绍了概率分布和概率模型之间可以看作相同的事物。已知样本集合 X \mathcal X X:
从采样的角度观察,概率模型中的样本数量是无穷大的,是采不完的;从模型估计的角度观察,除非概率模型极为简单,否则极难得到概率模型的精确解,只能通过有限的样本对概率模型进行估计。
高斯分布(Gaussian Distribution),它既是概率分布,也是概率模型。本节将对高斯分布概率模型的条件概率分布、边缘概率分布进行推断。
在概率图模型中,特别是动态模型中,包含关于高斯分布的条件概率推断过程。如卡尔曼滤波(线性高斯模型),以及未来要介绍的[高斯网络]这里挖一个坑,后续来补~
样本集合
X
\mathcal X
X是包含
p
p
p维随机变量的随机变量集合,并且
X
\mathcal X
X服从
p
p
p维高斯分布:
X
∼
N
(
μ
,
Σ
)
=
1
(
2
π
)
p
2
∣
Σ
∣
1
2
exp
[
−
1
2
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
]
X
∈
R
p
,
Random Variable
X∼N(μ,Σ)=1(2π)p2|Σ|12exp[−12(x−μ)TΣ−1(x−μ)]X∈Rp,Random Variable
其中随机变量集合
X
\mathcal X
X,均值
μ
\mu
μ,协方差矩阵
Σ
\Sigma
Σ向量形式表示如下:
X
=
(
x
1
x
2
⋮
x
p
)
p
×
1
μ
=
(
μ
1
μ
2
⋮
μ
p
)
p
×
1
Σ
=
(
σ
11
,
σ
12
,
⋯
,
σ
1
p
σ
21
,
σ
22
,
⋯
,
σ
2
p
⋮
σ
p
1
,
σ
p
2
,
⋯
,
σ
p
p
)
p
×
p
\mathcal X = (x1x2⋮xp)
任务描述:已知一个多维高斯分布,求解它的边缘概率分布和条件概率分布:
给定了概率分布,意味着给定了‘概率模型’。因而这个多维高斯分布中的‘均值’
μ
\mu
μ,协方差
Σ
\Sigma
Σ全部是已知项。
这里将随机变量集合
X
\mathcal X
X分成两组:
这里只是将随机变量集合分成两组,并不一定是有序的。
X
=
(
X
a
X
b
)
X
a
∈
R
m
;
X
b
∈
R
n
{
X
a
∩
X
b
=
ϕ
X
a
∪
X
b
=
X
\mathcal X = (XaXb)
同理,
μ
,
Σ
\mu,\Sigma
μ,Σ同样对其进行划分:
需要注意的点,
Σ
a
a
,
Σ
a
b
,
Σ
b
a
,
Σ
b
b
\Sigma_{aa},\Sigma_{ab},\Sigma_{ba},\Sigma_{bb}
Σaa,Σab,Σba,Σbb中,只有
Σ
a
a
,
Σ
b
b
\Sigma_{aa},\Sigma_{bb}
Σaa,Σbb分别表示
X
a
,
X
b
\mathcal X_a,\mathcal X_b
Xa,Xb的协方差矩阵,
Σ
a
b
,
Σ
b
a
\Sigma_{ab},\Sigma_{ba}
Σab,Σba表示
X
a
,
X
b
\mathcal X_a,\mathcal X_b
Xa,Xb之间的相关性信息,并且
Σ
a
b
T
=
Σ
b
a
\Sigma_{ab}^T = \Sigma_{ba}
ΣabT=Σba.
μ
=
(
μ
a
μ
b
)
Σ
=
(
Σ
a
a
,
Σ
a
b
Σ
b
a
,
Σ
b
b
)
=
[
C
o
n
v
(
X
a
,
X
a
)
,
C
o
n
v
(
X
a
,
X
b
)
C
o
n
v
(
X
b
,
X
a
)
,
C
o
n
v
(
X
b
,
X
b
)
]
=
[
D
(
X
a
)
,
C
o
n
v
(
X
a
,
X
b
)
C
o
n
v
(
X
b
,
X
a
)
,
D
(
X
b
)
]
\mu= (μaμb)
上述全部是已知项。可以将概率分布
P
(
X
)
\mathcal P(\mathcal X)
P(X)看作关于
X
a
,
X
b
\mathcal X_a,\mathcal X_b
Xa,Xb的联合概率分布:
P
(
X
)
=
P
(
X
a
,
X
b
)
\mathcal P(\mathcal X) = \mathcal P(\mathcal X_a,\mathcal X_b)
P(X)=P(Xa,Xb)
需要求解的量:
P
(
X
a
)
,
P
(
X
b
)
,
P
(
X
b
∣
X
a
)
\mathcal P(\mathcal X_a),\mathcal P(\mathcal X_b),\mathcal P(\mathcal X_b \mid \mathcal X_a)
P(Xa),P(Xb),P(Xb∣Xa)
已知某随机变量
X
\mathcal X
X服从高斯分布,并且随机变量
Y
\mathcal Y
Y与随机变量
X
\mathcal X
X之间存在线性关系:
X
∼
N
(
μ
,
Σ
)
Y
=
A
X
+
B
X∼N(μ,Σ)Y=AX+B
那么随机变量
Y
\mathcal Y
Y同样服从高斯分布,并且高斯分布表示如下:
Y
∼
N
(
A
μ
+
B
,
A
Σ
A
T
)
\mathcal Y \sim \mathcal N(\mathcal A \mu + \mathcal B,\mathcal A \Sigma \mathcal A^{T})
Y∼N(Aμ+B,AΣAT)
并且,关于随机变量
Y
\mathcal Y
Y的期望
E
P
(
Y
)
[
Y
]
\mathbb E_{\mathcal P(\mathcal Y)}[\mathcal Y]
EP(Y)[Y]与
E
P
(
X
)
[
X
]
\mathbb E_{\mathcal P(\mathcal X)}[\mathcal X]
EP(X)[X]之间存在如下关系:
E
P
(
Y
)
[
Y
]
=
E
P
(
X
)
[
A
X
+
B
]
=
A
E
P
(
X
)
[
X
]
+
B
=
A
μ
+
B
EP(Y)[Y]=EP(X)[AX+B]=AEP(X)[X]+B=Aμ+B
关于随机变量
Y
\mathcal Y
Y的协方差矩阵
Var
(
Y
)
\text{Var}(\mathcal Y)
Var(Y)和随机变量
X
\mathcal X
X的协方差矩阵
Var
(
X
)
\text{Var}(\mathcal X)
Var(X)之间存在如下关系:
由于
B
\mathcal B
B自身是一个常量,因此
Var
(
B
)
=
0
\text{Var}(\mathcal B)=0
Var(B)=0,常数哪来的什么波动~
Var
(
Y
)
=
Var
(
A
X
+
B
)
=
Var
(
A
X
)
+
Var
(
B
)
=
Var
(
A
X
)
=
A
Σ
A
T
Var(Y)=Var(AX+B)=Var(AX)+Var(B)=Var(AX)=AΣAT
关于随机变量子集合
X
a
\mathcal X_a
Xa的边缘概率分布
P
(
X
a
)
\mathcal P(\mathcal X_a)
P(Xa),可以将其定义成如下形式:
关于‘边缘概率分布’
P
(
X
b
)
\mathcal P(\mathcal X_b)
P(Xb)的推导同理,这里仅介绍
P
(
X
a
)
\mathcal P(\mathcal X_a)
P(Xa).
基于上述定理,可以假设‘系数矩阵’
A
=
(
I
m
,
0
)
1
×
p
\mathcal A = (\mathcal I_m,0)_{1 \times p}
A=(Im,0)1×p'偏置矩阵'
B
=
0
\mathcal B = 0
B=0省略。
X
a
=
1
⋅
X
a
+
0
⋅
X
b
=
(
I
m
,
0
)
(
X
a
X
b
)
I
m
=
(
1
,
1
,
⋯
,
1
)
⏟
m
项
=
A
X
Xa=1⋅Xa+0⋅Xb=(Im,0)(XaXb)Im=(1,1,⋯,1)⏟m项=AX
至此,基于上述定理,
X
a
\mathcal X_a
Xa的期望结果
E
P
(
X
a
)
[
X
a
]
\mathbb E_{\mathcal P(\mathcal X_a)}[\mathcal X_a]
EP(Xa)[Xa]可表示为:
E
P
(
X
a
)
[
X
a
]
=
(
I
m
,
0
)
(
μ
a
μ
b
)
=
μ
a
EP(Xa)[Xa]=(Im,0)(μaμb)=μa
同理,
X
a
\mathcal X_a
Xa的协方差矩阵结果
Var
(
X
a
)
\text{Var}(\mathcal X_a)
Var(Xa)可表示为:
Var
(
X
a
)
=
A
Σ
A
T
=
(
I
m
,
0
)
(
Σ
a
a
,
Σ
a
b
Σ
b
a
,
Σ
b
b
)
(
I
m
0
)
=
(
Σ
a
a
,
Σ
a
b
)
(
I
m
0
)
=
Σ
a
a
Var(Xa)=AΣAT=(Im,0)(Σaa,ΣabΣba,Σbb)(Im0)=(Σaa,Σab)(Im0)=Σaa
因此,随机变量子集
X
a
\mathcal X_a
Xa的边缘概率分布服从高斯分布,其高斯分布表示为:
X
a
∼
N
(
μ
a
,
Σ
a
a
)
\mathcal X_a \sim \mathcal N(\mu_a,\Sigma_{aa})
Xa∼N(μa,Σaa)
针对条件概率
P
(
X
b
∣
X
a
)
\mathcal P(\mathcal X_b \mid \mathcal X_a)
P(Xb∣Xa),引入一个量:
构造量本身可能无意义,针对推导的技巧性创造出的量。
与
X
b
,
X
a
\mathcal X_b,\mathcal X_a
Xb,Xa相关联的量
X
b
.
a
\mathcal X_{b.a}
Xb.a表示如下:
注意:
X
b
.
a
\mathcal X_{b.a}
Xb.a本质上是
X
a
,
X
b
\mathcal X_a,\mathcal X_b
Xa,Xb之间的线性关系,并且下标是有序的。单纯从格式角度观察,
X
b
.
a
\mathcal X_{b.a}
Xb.a是一个
n
×
1
n \times 1
n×1向量,和
X
b
\mathcal X_b
Xb大小相同。构造
X
b
.
a
\mathcal X_{b.a}
Xb.a的动机在于构造
X
b
\mathcal X_b
Xb和
X
a
\mathcal X_a
Xa之间的关联关系。如果将 X b . a \mathcal X_{b.a} Xb.a看作一组随机变量,结合上述定理,我们尝试求解该随机变量的边缘概率分布:
使用
μ
b
.
a
\mu_{b.a}
μb.a这个符号表示期望结果。可以将
(
−
Σ
b
a
Σ
a
a
−
1
,
I
p
)
(- \Sigma_{ba} \Sigma_{aa}^{-1},\mathcal I_p)
(−ΣbaΣaa−1,Ip)看作系数矩阵
A
\mathcal A
A.根据矩阵逆的定义,
Σ
a
a
−
1
Σ
a
a
=
E
\Sigma_{aa}^{-1}\Sigma_{aa} = \mathcal E
Σaa−1Σaa=E,因而
Σ
b
a
−
Σ
b
a
Σ
a
a
−
1
Σ
a
a
=
0
\Sigma_{ba} - \Sigma_{ba}\Sigma_{aa}^{-1}\Sigma_{aa} = 0
Σba−ΣbaΣaa−1Σaa=0同理,使用
Σ
b
b
.
a
\Sigma_{bb.a}
Σbb.a来表示协方差结果。至此,我们得到了
X
b
.
a
,
μ
b
.
a
,
Σ
b
b
.
a
\mathcal X_{b.a},\mu_{b.a},\Sigma_{bb.a}
Xb.a,μb.a,Σbb.a,从而可以确定这个引入的变量,它的概率分布:
X
b
.
a
∼
N
(
μ
b
.
a
,
Σ
b
b
.
a
)
{
μ
b
.
a
=
μ
b
−
Σ
b
a
Σ
a
a
−
1
μ
a
Σ
b
b
.
a
=
Σ
b
b
−
Σ
b
a
Σ
a
a
−
1
Σ
a
b
Xb.a∼N(μb.a,Σbb.a){μb.a=μb−ΣbaΣ−1aaμaΣbb.a=Σbb−ΣbaΣ−1aaΣab
回过头来重新观察
X
b
\mathcal X_b
Xb和
X
a
\mathcal X_a
Xa之间的关系:
X
b
=
X
b
.
a
+
Σ
b
a
Σ
a
a
−
1
X
a
\mathcal X_b = \mathcal X_{b.a} + \Sigma_{ba} \Sigma_{aa}^{-1} \mathcal X_a
Xb=Xb.a+ΣbaΣaa−1Xa
由于上面描述的高斯分布的相关定理可知,
X
b
\mathcal X_b
Xb是
X
b
.
a
\mathcal X_{b.a}
Xb.a和
Σ
b
a
Σ
a
a
−
1
X
a
\Sigma_{ba} \Sigma_{aa}^{-1} \mathcal X_a
ΣbaΣaa−1Xa的线性计算结果,因此它必然也是高斯分布。
因此,关于
X
b
∣
X
a
\mathcal X_b \mid \mathcal X_a
Xb∣Xa的期望
E
[
X
b
∣
X
a
]
\mathbb E_[\mathcal X_b \mid \mathcal X_a]
E[Xb∣Xa],方差
Var
[
X
b
∣
X
a
]
\text{Var}[\mathcal X_b \mid \mathcal X_a]
Var[Xb∣Xa]分别表示如下:
将
X
b
.
a
+
Σ
b
a
Σ
a
a
−
1
X
a
\mathcal X_{b.a} + \Sigma_{ba} \Sigma_{aa}^{-1} \mathcal X_a
Xb.a+ΣbaΣaa−1Xa看作
A
X
+
B
\mathcal A\mathcal X + \mathcal B
AX+B的形式,有:
{
X
→
X
b
.
a
A
→
E
B
→
Σ
b
a
Σ
a
a
−
1
X
a
{X→Xb.aA→EB→ΣbaΣ−1aaXa
为什么要这么分:因为
X
b
.
a
\mathcal X_{b.a}
Xb.a中包含
X
b
\mathcal X_b
Xb变量,而
X
b
,
X
a
\mathcal X_b,\mathcal X_a
Xb,Xa由于相互独立,因此视作常数:
{
X
a
∩
X
b
=
ϕ
X
a
∪
X
b
=
X
{Xa∩Xb=ϕXa∪Xb=X
其中
E
\mathcal E
E表示单位向量。该部分可参考这篇文章【PRML】高斯分布
{
E
[
X
b
∣
X
a
]
=
E
⋅
μ
b
.
a
+
Σ
b
a
Σ
a
a
−
1
X
a
=
μ
b
.
a
+
Σ
b
a
Σ
a
a
−
1
X
a
=
μ
b
+
Σ
b
a
Σ
a
a
−
1
(
X
a
−
μ
a
)
Var
[
X
b
∣
X
a
]
=
E
⋅
Σ
b
b
.
a
⋅
E
T
=
Σ
b
b
.
a
=
Σ
b
b
−
Σ
b
a
Σ
a
a
−
1
Σ
a
b
{E[Xb∣Xa]=E⋅μb.a+ΣbaΣ−1aaXa=μb.a+ΣbaΣ−1aaXa=μb+ΣbaΣ−1aa(Xa−μa)Var[Xb∣Xa]=E⋅Σbb.a⋅ET=Σbb.a=Σbb−ΣbaΣ−1aaΣab
最终,条件概率分布
P
(
X
b
∣
X
a
)
\mathcal P(\mathcal X_b \mid \mathcal X_a)
P(Xb∣Xa)表示如下:
P
(
X
b
∣
X
a
)
∼
N
(
μ
b
.
a
+
Σ
b
a
Σ
a
a
−
1
X
a
,
Σ
b
b
.
a
)
\mathcal P(\mathcal X_b \mid\mathcal X_a) \sim \mathcal N(\mu_{b.a} + \Sigma_{ba} \Sigma_{aa}^{-1} \mathcal X_a , \quad \Sigma_{bb.a})
P(Xb∣Xa)∼N(μb.a+ΣbaΣaa−1Xa,Σbb.a)
最大的疑问点在于给出了
X
b
\mathcal X_b
Xb的表示:
X
b
=
X
b
.
a
+
Σ
b
a
Σ
a
a
−
1
X
a
\mathcal X_b = \mathcal X_{b.a} + \Sigma_{ba} \Sigma_{aa}^{-1} \mathcal X_a
Xb=Xb.a+ΣbaΣaa−1Xa
为什么等式右边关于
X
b
\mathcal X_b
Xb的表示,它的期望、方差组成的概率分布是条件概率分布?
X
b
∣
X
a
→
?
N
(
μ
b
.
a
+
Σ
b
a
Σ
a
a
−
1
X
a
,
Σ
b
b
.
a
)
\mathcal X_b \mid \mathcal X_a \overset{\text{?}}{\to} \mathcal N(\mu_{b.a} + \Sigma_{ba} \Sigma_{aa}^{-1} \mathcal X_a , \quad \Sigma_{bb.a})
Xb∣Xa→?N(μb.a+ΣbaΣaa−1Xa,Σbb.a)
针对该场景,条件概率
P
(
X
b
∣
X
a
)
\mathcal P(\mathcal X_b \mid \mathcal X_a)
P(Xb∣Xa)的本质是给定
X
a
\mathcal X_a
Xa的条件下,
X
b
\mathcal X_b
Xb的概率分布。思路可以理解成 由已知随机变量集合
X
a
\mathcal X_a
Xa参与的,关于
X
b
\mathcal X_b
Xb的概率分布。
基于这种思路,创建了中间量
X
b
.
a
\mathcal X_{b.a}
Xb.a。这个中间量本身没有实际意义,但是这个中间量的出现,使得对
X
b
\mathcal X_b
Xb的均值、方差的表示有了
X
a
\mathcal X_a
Xa的参与,并且所有参数都是已知的。
相关参考:
概率分布——百度百科
机器学习-数学基础-概率-高斯分布5-已知联合概率分布求边缘概率及条件概率
协方差矩阵的简单介绍
【PRML】高斯分布