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