本节将介绍高斯分布相关的推断问题。
在概率图模型——推断任务介绍中提到推断的本质就是求解变量的概率。已知随机变量集合 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 \begin{aligned} & \mathcal X \sim \mathcal N(\mu,\Sigma) = \frac{1}{(2\pi)^{\frac{p}{2}} |\Sigma|^{\frac{1}{2}}} \exp \left[-\frac{1}{2} (x - \mu)^T\Sigma^{-1}(x- \mu)\right] \\ & \mathcal X \in \mathbb R^p ,\text{Random Variable} \end{aligned} X∼N(μ,Σ)=(2π)2p∣Σ∣211exp[−21(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 = \begin{pmatrix}x_1 \\ x_2 \\ \vdots \\ x_p\end{pmatrix}_{p \times 1}\quad \mu = \begin{pmatrix}\mu_1 \\ \mu_2 \\ \vdots \\ \mu_{p}\end{pmatrix}_{p \times 1} \quad \Sigma = \begin{pmatrix} \sigma_{11},\sigma_{12},\cdots,\sigma_{1p} \\ \sigma_{21},\sigma_{22},\cdots,\sigma_{2p} \\ \vdots \\ \sigma_{p1},\sigma_{p2},\cdots,\sigma_{pp} \end{pmatrix}_{p \times p} X=⎝⎜⎜⎜⎛x1x2⋮xp⎠⎟⎟⎟⎞p×1μ=⎝⎜⎜⎜⎛μ1μ2⋮μp⎠⎟⎟⎟⎞p×1Σ=⎝⎜⎜⎜⎛σ11,σ12,⋯,σ1pσ21,σ22,⋯,σ2p⋮σp1,σp2,⋯,σpp⎠⎟⎟⎟⎞p×p
任务描述:已知一个多维高斯分布,求解它的边缘概率分布和条件概率分布:
给定了概率分布,意味着给定了‘概率模型’。因而这个多维高斯分布中的‘均值’
μ \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 = \begin{pmatrix} \mathcal X_a \\ \mathcal X_b \end{pmatrix}\quad \mathcal X_a \in \mathbb R^m;\mathcal X_b \in \mathbb R^n \quad \begin{cases} \mathcal X_a \cap \mathcal X_b = \phi \\ \mathcal X_a \cup \mathcal X_b = \mathcal X \end{cases} X=(XaXb)Xa∈Rm;Xb∈Rn{Xa∩Xb=ϕXa∪Xb=X
同理, μ , Σ \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= \begin{pmatrix}\mu_a \\ \mu_b\end{pmatrix} \quad \Sigma = \begin{pmatrix}\Sigma_{aa},\Sigma_{ab} \\ \Sigma_{ba},\Sigma_{bb}\end{pmatrix} = \begin{bmatrix}Conv(\mathcal X_a,\mathcal X_a),Conv(\mathcal X_a,\mathcal X_b) \\ Conv(\mathcal X_b,\mathcal X_a),Conv(\mathcal X_b,\mathcal X_b)\end{bmatrix} = \begin{bmatrix}\mathcal D(\mathcal X_a),Conv(\mathcal X_a,\mathcal X_b) \\ Conv(\mathcal X_b,\mathcal X_a),\mathcal D(\mathcal X_b)\end{bmatrix} μ=(μaμb)Σ=(Σaa,ΣabΣba,Σbb)=[Conv(Xa,Xa),Conv(Xa,Xb)Conv(Xb,Xa),Conv(Xb,Xb)]=[D(Xa),Conv(Xa,Xb)Conv(Xb,Xa),D(Xb)]
上述全部是已知项。可以将概率分布 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 \begin{aligned} \mathcal X \sim \mathcal N (\mu,\Sigma) \\ \mathcal Y = \mathcal A \mathcal X + \mathcal B \end{aligned} 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 \begin{aligned} \mathbb E_{\mathcal P(\mathcal Y)}[\mathcal Y] & = \mathbb E_{\mathcal P(\mathcal X)}[\mathcal A \mathcal X + \mathcal B] \\ & = \mathcal A \mathbb E_{\mathcal P(\mathcal X)}[\mathcal X] + \mathcal B \\ & = \mathcal A \mu + \mathcal B \end{aligned} 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 \begin{aligned} \text{Var}(\mathcal Y) & = \text{Var}(\mathcal A \mathcal X + \mathcal B) \\ & = \text{Var}(\mathcal A \mathcal X) + \text{Var}(\mathcal B) \\ & = \text{Var}(\mathcal A \mathcal X) \\ & = \mathcal A \Sigma \mathcal A^T \end{aligned} 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 \begin{aligned} \mathcal X_a & = 1 \cdot \mathcal X_a + 0 \cdot \mathcal X_b\\ & = (\mathcal I_m,0)\begin{pmatrix}\mathcal X_a \\ \mathcal X_b\end{pmatrix} \quad \mathcal I_m = \underbrace{(1,1,\cdots,1)}_{m项} \\ & = \mathcal A \mathcal X \end{aligned} Xa=1⋅Xa+0⋅Xb=(Im,0)(XaXb)Im=m项 (1,1,⋯,1)=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 \begin{aligned} \mathbb E_{\mathcal P(\mathcal X_a)}[\mathcal X_a] = (\mathcal I_m ,0)\begin{pmatrix}\mu_a \\ \mu_b\end{pmatrix} = \mu_a \end{aligned} 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 \begin{aligned} \text{Var}(\mathcal X_a) & = \mathcal A\Sigma\mathcal A^T \\ & = (\mathcal I_m,0) \begin{pmatrix}\Sigma_{aa},\Sigma_{ab} \\ \Sigma_{ba},\Sigma_{bb}\end{pmatrix} \begin{pmatrix}\mathcal I_m \\ 0\end{pmatrix} \\ & = (\Sigma_{aa},\Sigma_{ab})\begin{pmatrix}\mathcal I_m \\ 0\end{pmatrix} \\ & = \Sigma_{aa} \end{aligned} 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 \begin{aligned} \mathcal X_{b.a} & \sim \mathcal N(\mu_{b.a},\Sigma_{bb.a}) \quad \begin{cases} \mu_{b.a} = \mu_b - \Sigma_{ba} \Sigma_{aa}^{-1} \mu_a \\ \Sigma_{bb.a} = \Sigma_{bb} - \Sigma_{ba} \Sigma_{aa}^{-1}\Sigma_{ab} \end{cases} \end{aligned} Xb.a∼N(μb.a,Σbb.a){μb.a=μb−ΣbaΣaa−1μaΣbb.a=Σbb−ΣbaΣaa−1Σ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 \begin{cases} \mathcal X \to \mathcal X_{b.a} \\ \mathcal A \to \mathcal E \\ \mathcal B \to \Sigma_{ba} \Sigma_{aa}^{-1} \mathcal X_a \end{cases} ⎩⎪⎨⎪⎧X→Xb.aA→EB→ΣbaΣaa−1Xa
为什么要这么分:因为
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 \begin{cases} \mathcal X_{a} \cap \mathcal X_{b} = \phi \\ \mathcal X_{a} \cup \mathcal X_{b} = \mathcal X \end{cases} \\ {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 \begin{cases} \begin{aligned} \mathbb E[\mathcal X_b \mid \mathcal X_a] & = \mathcal E \cdot \mu_{b.a} + \Sigma_{ba} \Sigma_{aa}^{-1} \mathcal X_a \\ & = \mu_{b.a} + \Sigma_{ba} \Sigma_{aa}^{-1} \mathcal X_a \\ & = \mu_b + \Sigma_{ba}\Sigma_{aa}^{-1}(\mathcal X_a - \mu_a) \end{aligned} \\ \begin{aligned}\text{Var}[\mathcal X_b \mid \mathcal X_a] & = \mathcal E \cdot \Sigma_{bb.a} \cdot \mathcal E^T\\ & = \Sigma_{bb.a} \\ & = \Sigma_{bb} - \Sigma_{ba} \Sigma_{aa}^{-1}\Sigma_{ab} \end{aligned}\end{cases} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧E[Xb∣Xa]=E⋅μb.a+ΣbaΣaa−1Xa=μb.a+ΣbaΣaa−1Xa=μb+ΣbaΣaa−1(Xa−μa)Var[Xb∣Xa]=E⋅Σbb.a⋅ET=Σbb.a=Σbb−ΣbaΣaa−1Σ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】高斯分布