Skip to main content

多元高斯分布

· 13 min read
PuQing
AI, CVer, Pythoner, Half-stack Developer

高斯分布 中我们分别介绍了一维高斯分布情况,以及对于多元高斯分布表达式中的 马氏距离 进行了解释。这一节将主要介绍在多元高斯分布的常用定理进行介绍。

多元高斯的线性性质

tip

已知:

XN(μ,Σ)Y=AX+b\begin{split} X\sim \mathcal{N}(\mu,\Sigma)\\ Y = AX+b \end{split}

那么可以得到:

YN(Aμ+b,AΣA)Y\sim \mathcal{N}(A\mu+b,A \Sigma A^\top)

这里 XRp,ARn×p,YRnX \in \mathbb{R}^{p},A \in \mathbb{R}^{n \times p},Y \in\mathbb{R}^{n}

证明
这意味着什么?

如果一个随机变量满足多元高斯分布,对这个随机变量做任意线性变换,得到的随机变量仍然满足多元高斯分布。

高斯边缘分布与联合分布

本节探究两个问题?

info
  1. 如果一个分布是联合高斯分布,从中任取一些随机变量得到的分布是否是高斯分布?
  2. 如果每一个随机变量的分布都是高斯分布,把他们组合在一起是否是联合高斯分布?

从联合分布到边缘概率

从联合高斯分布到边缘高斯分布是成立的

danger

这句话的正常说法就是第一个问题

info

如果一个分布是联合高斯分布,从中任取一些随机变量得到的分布是否是高斯分布?

对于具有 pp 个随机变量的联合高斯分布或者说多元高斯分布,证明其边缘概率还是高斯分布。

证明:

(Xn1Xnk)=A(X1Xn)\begin{pmatrix} X_{n_{1}} \\ \vdots \\ X_{n_{k}} \end{pmatrix}=A\begin{pmatrix} X_{1} \\ \vdots \\ X_{n} \end{pmatrix}

只要让第 n1n_{1}nkn_{k} 个随机变量所在的位置是 11 即可 (相当于选择出来了) ,根据上面的推论 多元高斯的线性性质 可以得到,仍然为高斯分布。

从边缘分布到联合分布

但是反过来不一定成立。如果 X1,,XnX_{1},\cdots,X_{n} 全部服从高斯分布,其 X1,,XnX_{1},\cdots,X_{n} 的联合概率不一定是高斯分布。

X1N,X2N,,XnNX=(X1,Xn)N\begin{split} X_{1}\sim \mathcal{N},X_{2}\sim \mathcal{N},\cdots,X_{n}\sim \mathcal{N}\\ \nRightarrow X=\left( X_{1}\cdots,X_{n} \right)^\top \sim \mathcal{N} \end{split}
info

我们可以构造一个概率密度函数 f(x,y)f(x,y),这个函数的边缘分布是高斯,但是联合分布不是高斯分布

函数主体是高斯的,但是边缘有波动

f(x,y)=12πexp(x2+y22)+g(x,y)f(x, y)=\frac{1}{2 \pi} \exp \left(-\frac{x^{2}+y^{2}}{2}\right)+g(x, y)

我们希望这个 g(x,y)g(x,y) 的边缘分布都是 00,即

+g(x,y)dx=+g(x,y)dy=0\int_{-\infty}^{+\infty} \mathrm{g}(\mathrm{x}, \mathrm{y}) \mathrm{dx}=\int_{-\infty}^{+\infty} \mathrm{g}(\mathrm{x}, \mathrm{y}) \mathrm{dy}=0

如果我们增加这样一项

g(x,y)=sinxsinyg(x,y) = \sin x \sin y

可是概率密度函数不能是负的,所以需要修正

g(x,y)=1+sinxsinyg(x,y) =1+ \sin x \sin y

因此,我们就可以得到一个例子

f(x,y)=12πexp(x2+y22)+(1+sinxsiny)\mathrm{f}(\mathrm{x}, \mathrm{y})=\frac{1}{2 \pi} \exp \left(-\frac{\mathrm{x}^{2}+\mathrm{y}^{2}}{2}\right)+(1+\sin \mathrm{x} \sin \mathrm{y})

xx 和对 yy 的边缘分布都是高斯的,但是联合分布不是高斯分布

联合高斯分布判据

info

那么,什么样的判据才能推出联合高斯分布呢?

对于一个随机变量向量 X=(X1,,Xn)X=(X_{1},\cdots,X_{n})^\top 是多元随机变量满足一下条件之一 1

tip
  1. 对于任意的线性组合 Y=a1X1++anXnY=a_{1}X_{1}+\cdots+a_{n}X_{n} 是正态分布,写成向量乘的形式就是对于任意的常向量 aRna \in \mathbb{R}^n,随机变量 Y=aTXY=a^TX单变量高斯分布
tip
  1. 有一个 μRn\mu \in \mathbb{R}^n 的向量,以及一个对称、半正定的协方差矩阵 Σn×n\Sigma_{n \times n},使得 X=(X1,,Xn)X=(X_{1},\cdots,X_{n})特征函数(This page is not published) 等于:
ρX(ω)=exp(iωTμ12ωTΣω)\rho_{X}(\omega) = \exp \left( i \omega^T\mu-\frac{1}{2}\omega^T \Sigma \omega \right)

.

证明

高斯分布的相关性与独立性

独立性和相关性

note

所谓两个随机变量不相关,就是两个随机变量的期望,等于其各自的期望的乘积

E[XY]=E[X]E[Y]\mathbb{E}\left[ XY \right] = \mathbb{E}\left[ X \right] \mathbb{E}\left[ Y \right]

.

tip

相关 实际上就是线性相关,也就是协方差或者 Pearson 的相关系数为 00

Cov[X,Y]=E[XY]E[X]E[Y]=0Cov\left[ X,Y \right] = \mathbb{E}\left[ XY \right] -\mathbb{E}\left[ X \right] \mathbb{E}\left[ Y \right]=0

而两个随机变量独立,是他们的联合分布等于各自概率密度的乘积

fXY(x,y)=fX(x)fY(y)f_{XY}(x,y) = f_{X}(x)f_{Y}(y)
info

独立一定不相关,但是不相关不一定独立。独立要求更高

warning

这可能过于抽象,下面举个例子

Untitled.bmp

随机变量 (X,Y)(X,Y) 均匀分布在单位圆 x2+y2=1x^{2}+y^{2}=1

但是 XXYY 的 (线性) 相关系数是 00,直观的来说,因为是一个圆,用一个线性的线描述都是不合适的,因为是对称的。数学上:

E[XY]=E[YX]=0\mathbb{E}\left[ X\mid Y \right] =\mathbb{E}\left[ Y\mid X \right]=0

所以

E[X]=E[Y]=0\mathbb{E}\left[ X \right] = \mathbb{E}\left[ Y \right] =0

并且

E[XY]=E[E[XYX]]=E[XE[YX]]=0\mathbb{E}\left[ XY \right] = \mathbb{E}\left[ \mathbb{E}\left[ XY\mid X \right] \right] = \mathbb{E}\left[X \mathbb{E}\left[ Y\mid X \right] \right]=0

所以

Cov[X,Y]=E[XY]E[X]E[Y]=0Cov\left[ X,Y \right] =\mathbb{E}\left[ XY \right] -\mathbb{E}\left[ X \right] \mathbb{E}\left[ Y \right]=0

但是显然,X,YX,Y 不是独立的。因为 XX 的取值对 YY 是有影响的,反之亦然。

y=±1x2y= \pm \sqrt{ 1-x^2 }

高斯分布的不相关和独立

info

如果两个高斯分布是不相关的,能够得到二者独立吗?

也是不行的

证明

联合高斯分布的不相关和独立

当两个随机变量是联合高斯分布的时候,二者如果不相关,则一定独立

{ Joint Gaussian  Uncorrelated  independent \begin{cases} \text { Joint Gaussian } \\ \text { Uncorrelated } \end{cases}\Rightarrow \text { independent }
证明

高斯条件分布

条件高斯分布的计算

假设 XX 符合联合高斯分布,并且可以分成 XaX_{a}XbX_{b} 两个联合分布,则 XX 可以表示成

X=(XaXb)pmnm+n=pμ=(μaμb)Σ=(ΣaaΣabΣbaΣbb)X=\begin{pmatrix} X_{a} \\ X_{b} \end{pmatrix}_{p}\begin{matrix} \rightarrow m \\ \rightarrow n \end{matrix} \quad m+n=p \quad \mu=\begin{pmatrix} \mu_{a} \\ \mu_{b} \end{pmatrix} \quad \Sigma=\begin{pmatrix} \Sigma_{a a} & \Sigma_{a b} \\ \Sigma_{b a} & \Sigma_{b b} \end{pmatrix} XN(μ,Σ)X\sim \mathcal{N}\left( \mu,\Sigma \right)

由条件概率公式可知:

p(Xa,Xb)=p(Xb)p(XaXb)p(X_{a},X_{b}) = p(X_{b})p(X_{a}\mid X_{b})

下面分别求得 p(Xb),p(XaXb)p(X_{b}),p(X_{a}\mid X_{b})

求解边缘概率密度

可以将 XaX_{a} 写为:

Xb=(Om×mIn×n)A(XaXb)X_{b}= \underbrace{\begin{pmatrix} \mathbb{O}_{m \times m} & \mathbb{I}_{n \times n} \end{pmatrix}}_{{\color{Red} A} } \begin{pmatrix} X_{a} \\ X_{b} \end{pmatrix}

于是:

E[Xb]=(Om×mIn×n)(μaμb)=μb\mathbb{E}\left[ X_{b} \right] = \begin{pmatrix} \mathbb{O}_{m \times m} & \mathbb{I}_{n \times n} \end{pmatrix}\begin{pmatrix} \mu_{a} \\ \mu_{b} \end{pmatrix}=\mu_{b}

Var[Xb]=(Om×mIn×n)(ΣaaΣabΣbaΣbb)(Om×mIn×n)=ΣbbVar\left[ X_{b} \right] = \begin{pmatrix} \mathbb{O}_{m \times m} & \mathbb{I}_{n \times n} \end{pmatrix}\begin{pmatrix} \Sigma_{aa} & \Sigma_{ab} \\ \Sigma_{ba} & \Sigma_{bb} \end{pmatrix}\begin{pmatrix} \mathbb{O}_{m \times m} \\ \mathbb{I}_{n \times n} \end{pmatrix} = \Sigma_{bb}

所以,XbN(μb,Σbb)X_{b}\sim \mathcal{N}\left( \mu_{b},\Sigma_{bb} \right)

info

这是符合前文的推导的

求解条件概率密度

对于条件概率有:

p(XaXb)=pX(XaXb)p(Xb)p(X_{a}\mid X_{b}) = \frac{p_{X}(X_{a}X_{b})}{p(X_{b})}

即对 XbX_{b} 的条件概率等于 Xa,XbX_{a},X_{b} 的联合分布除以 XaX_{a} 的边缘概率。

由于联合高斯分布中取出来一部分还是高斯分布,所以上面是高斯,下面还是高斯。最终得到的还是一个高斯分布。

pX(XaXb)p(Xb)=c1exp(12(XaTμaT,XbTμbT)Σ1(Xaμa,Xbμb))c2exp(12(XbTμbT)Σbb1(Xbμb))\frac{p_{X}(X_{a}X_{b})}{p(X_{b})} = \frac{c_{1}\exp \left( -\frac{1}{2} \left( X_{a}^T-\mu_{a}^T,X_{b}^T-\mu_{b}^T \right)\Sigma^{-1}\left( X_{a}-\mu_{a}, X_{b}-\mu_{b}\right) \right)}{c_{2}\exp \left( -\frac{1}{2} \left( X_{b}^T-\mu_{b}^T\right)\Sigma_{bb}^{-1}\left( X_{b}-\mu_{b}\right) \right)}

其中

Σ=(ΣaaΣabΣbaΣbb)\Sigma=\begin{pmatrix} \Sigma_{a a} & \Sigma_{a b} \\ \Sigma_{b a} & \Sigma_{b b} \end{pmatrix}

指数相除部分可以转化为加减,所以指数部分可以写为:

12(XaTμaT,XbTμbT)Σ1(Xaμa,Xbμb)+12(XbTμbT)Σbb1(Xbμb)-\frac{1}{2} \left( X_{a}^T-\mu_{a}^T,X_{b}^T-\mu_{b}^T \right)\Sigma^{-1}\left( X_{a}-\mu_{a}, X_{b}-\mu_{b}\right)+\frac{1}{2}\left( X_{b}^T-\mu_{b}^T \right) \Sigma_{bb}^{-1}\left( X_{b}-\mu_{b} \right)

上式我们写成矩阵形式

12{([XaXb][μaμb])T[ΣaaΣabΣbaΣbb]1([XaXb][μaμb])(Xbμb)TΣbb1(Xbμb)}=12{[XaμaXbμb]T[ΣaaΣabΣbaΣbb]1[XaμaXbμb](Xbμb)TΣbb1(Xbμb)}=12{[XaμaXbμb]T[I0Σbb1ΣbaI][ΣaaΣabΣbb1Σba00Σbb][IΣabΣbb10I][XaμaXbμb](Xbμb)TΣbb1(Xbμb)}\begin{split} &-\frac{1}{2}\left\{ \left( \begin{bmatrix} X_{a} \\ X_{b} \end{bmatrix}-\begin{bmatrix} \mu_{a} \\ \mu_{b} \end{bmatrix} \right)^\mathrm{T} \begin{bmatrix} \Sigma_{aa} & \Sigma_{ab} \\ \Sigma_{ba} & \Sigma_{bb} \end{bmatrix}^{-1} \left( \begin{bmatrix} X_{a} \\ X_{b} \end{bmatrix}-\begin{bmatrix} \mu_{a} \\ \mu_{b} \end{bmatrix} \right) - \left( X_{b}-\mu_{b} \right) ^\mathrm{T} \Sigma_{bb}^{-1}\left( X_{b}-\mu_{b} \right) \right\} \\ =&-\frac{1}{2} \left\{ \begin{bmatrix} X_{a}-\mu_{a} \\ X_{b}-\mu_{b} \end{bmatrix}^\mathrm{T} \begin{bmatrix} \Sigma_{aa} & \Sigma_{ab} \\ \Sigma_{ba} & \Sigma_{bb} \end{bmatrix}^{-1} \begin{bmatrix} X_{a}-\mu_{a} \\ X_{b}-\mu_{b} \end{bmatrix}- \left( X_{b}-\mu_{b} \right) ^\mathrm{T} \Sigma_{bb}^{-1}\left( X_{b}-\mu_{b} \right) \right\} \\ =&-\frac{1}{2} \left\{ \begin{bmatrix} X_{a}-\mu_{a} \\ X_{b}-\mu_{b} \end{bmatrix}^\mathrm{T} \begin{bmatrix} I & 0 \\ -\Sigma_{bb}^{-1} \Sigma_{ba} & I \end{bmatrix} \begin{bmatrix} \Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba} & 0 \\ 0 & \Sigma_{bb} \end{bmatrix} \begin{bmatrix} I & -\Sigma_{ab}\Sigma_{bb}^{-1} \\ 0 & I \end{bmatrix} \begin{bmatrix} X_{a}-\mu_{a} \\ X_{b}-\mu_{b} \end{bmatrix}- \left( X_{b}-\mu_{b} \right) ^\mathrm{T} \Sigma_{bb}^{-1}\left( X_{b}-\mu_{b} \right) \right\} \\ \end{split}
warning

这里最后一步的变换就是在 Schur complement 中提到的舒尔补求矩阵逆方法

这里有 ABCDEABCDE 矩阵连乘,我们转换成 (AB)C(DE)(AB)C(DE),同时令 k~=kμk\tilde{k}=k-\mu_k

于是上式等于:

Φ=12{[X~aX~bΣbb1ΣbaX~b]T[ΣaaΣabΣbb1Σba00Σbb][X~aΣabΣbb1X~bX~b](X~bTΣbbX~b)}=12{[X~aX~bΣbb1Σba]T(ΣaaΣabΣbb1Σba)[X~aΣabΣbb1X~b]}\begin{split} \Phi &= -\frac{1}{2}\left\{ \begin{bmatrix} \tilde{X}_{a} - \tilde{X}_{b}\Sigma_{bb}^{-1}\Sigma_{ba} \\ \tilde{X}_{b} \end{bmatrix}^\mathrm{T} \begin{bmatrix} \Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba} & 0 \\ 0 & \Sigma_{bb} \end{bmatrix} \begin{bmatrix} \tilde{X}_{a}-\Sigma_{ab}\Sigma_{bb}^{-1}\tilde{X}_{b} \\ \tilde{X}_{b} \end{bmatrix}-\left( \tilde{X}_{b}^\mathrm{T}\Sigma_{bb}\tilde{X}_{b} \right) \right\} \\ &=-\frac{1}{2}\left\{ \begin{bmatrix} \tilde{X}_{a} - \tilde{X}_{b}\Sigma_{bb}^{-1}\Sigma_{ba} \end{bmatrix}^\mathrm{T} \left( \Sigma_{aa}-\Sigma_{ab}\Sigma _{bb}^{-1}\Sigma_{ba} \right) \begin{bmatrix} \tilde{X}_{a}-\Sigma_{ab}\Sigma_{bb}^{-1}\tilde{X}_{b} \end{bmatrix} \right\} \end{split}

所以很容易看出当前的 p(XaXb)p(X_{a}\mid X_{b}) 服从 N(μab,Σab)\mathcal{N}(\mu_{a\mid b},\Sigma_{a\mid b}) 分布:

μab=μa+ΣabΣbb1(Xbμb)Σab=ΣaaΣabΣbb1Σba\begin{split} \mu_{a\mid b} = \mu_{a}+\Sigma_{ab}\Sigma_{bb}^{-1}(X_{b}-\mu_{b})\\ \Sigma_{a\mid b} = \Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba} \end{split}
tip

可以看到的是其方差就等于 Σ\Sigma 对于 Σaa\Sigma_{aa} 的舒尔补

求解线性模型

danger

已知:p(x)=N(μ,Λ1),p(yx)=N(Ax+b,L1)p(x)=\mathcal{N}\left(\mu, \Lambda^{-1}\right), p(y \mid x)=\mathcal{N}\left(A x+b, L^{-1}\right),求解:p(y),p(xy)p(y),p(x\mid y)

根据上文提到的 多元高斯的线性性质 ,我们可以设

y=Ax+b+ϵy=Ax+b+\epsilon

其中 ϵN(0,L1)\epsilon \sim \mathcal{N}(0,L^{-1})

于是有边缘概率:

E[y]=E[Ax+b+ϵ]=E[Ax+b]+E[ϵ]=Aμ+bVar[y]=Var[Ax+b+ϵ]=Var[Ax]+Var[ϵ]=AΛ1AT+L1\begin{split} &\mathbb{E}\left[ y \right] =\mathbb{E}\left[ Ax+b+\epsilon \right] =\mathbb{E}\left[ Ax+b \right] +\mathbb{E}\left[ \epsilon \right] = A\mu+b \\ &Var\left[ y \right] = Var\left[ Ax+b+\epsilon \right] =Var\left[ Ax \right]+Var\left[ \epsilon \right] = A \Lambda ^{-1}A^{\mathrm{T}}+L^{-1} \end{split}

于是有 p(y)N(Aμ+b,AΛ1AT+L1)p(y) \sim \mathcal{N}(A\mu+b,A \Lambda ^{-1}A^{\mathrm{T}}+L^{-1})

对于条件概率,我们有:

p(yx)=p(x,y)p(x)p(y\mid x) = \frac{p(x,y)}{p(x)}

这样我们就能和上面推导的 求解条件概率密度 联系上

这里我们假设 xxyy 的协方差为 Δ\Delta,于是协方差矩阵可以写为:

z=(xy)N((μAμ+b),(Λ1ΔΔAΛ1AT+L1))z = \begin{pmatrix} x \\ y \end{pmatrix} \sim \mathcal{N}\left( \begin{pmatrix} \mu \\ A\mu+b \end{pmatrix}, \begin{pmatrix} \Lambda ^{-1} & \Delta \\ \Delta & A \Lambda ^{-1}A^{\mathrm{T}}+L^{-1} \end{pmatrix} \right)

其中的 Δ\Delta 是多少,我们并不知道,需要求解。

求解 Δ\Delta

直接使用协方差的定义进行求解

Δ=Cov(x,y)=E[(xE[x])(yE[y])T]=E[(xμ)(y(Aμ+b))T]=E[(xμ)(Ax+ϵAμ)T]=E[(xμ)(AxAμ+ϵ)T]=E[(xμ)(AxAμ)T+(xμ)ϵT]=E[(xμ)(AxAμ)T]+E[(xμ)ϵT]\begin{split} \Delta & =\operatorname{Cov}(x, y)=\mathbb{E}\left[(x-\mathbb{E}[x])(y-\mathbb{E}[y])^{T}\right] \\ & =\mathbb{E}\left[(x-\mu)(y-(A \mu+b))^{T}\right] \\ & =\mathbb{E}\left[(x-\mu)(A x+\epsilon-A \mu)^{T}\right] \\ & =\mathbb{E}\left[(x-\mu)(A x-A \mu+\epsilon)^{T}\right] \\ & =\mathbb{E}\left[(x-\mu)(A x-A \mu)^{T}+(x-\mu) \epsilon^{T}\right] \\ & =\mathbb{E}\left[(x-\mu)(A x-A \mu)^{T}\right]+\mathbb{E}\left[(x-\mu) \epsilon^{T}\right] \end{split}

而由于 xμx-\muϵ\epsilon 之间是独立的,那么 E[(xμ)ϵT]=E[(xμ)]E[ϵT]=0\mathbb{E}\left[ (x-\mu)\epsilon^{\mathbf{T}} \right]=\mathbb{E}\left[ (x-\mu) \right]\mathbb{E}\left[ \epsilon^{\mathbf{T}} \right]=0,所以我们有:

Δ=E[(xμ)(AxAμ)T]=E[(xμ)(xμ)T]AT=Var[x]AT=Λ1AT\begin{split} \Delta & = \mathbb{E}\left[ (x-\mu)(Ax-A\mu)^{\mathbf{T}} \right] \\ & =\mathbb{E}\left[ (x-\mu)(x-\mu)^{\mathbf{T}} \right]\cdot A^{\mathbf{T}} \\ & =Var\left[ x\right] \cdot A^{\mathbf{T}}\\ & =\Lambda ^{-1}A^{\mathbf{T}} \end{split}

所以,xxyy 之间的联合概率分布可表达为

z=(xy)N((μAμ+b),(Λ1Λ1ATΛ1ATAΛ1AT+L1))z=\begin{pmatrix} x \\ y \end{pmatrix} \sim \mathcal{N}\left( \begin{pmatrix} \mu \\ A \mu+b \end{pmatrix}, \begin{pmatrix} \Lambda^{-1} & \Lambda^{-1} A^{T} \\ \Lambda^{-1} A^{T} & A \Lambda^{-1} A^{T}+L^{-1} \end{pmatrix} \right)

利用上面推导的公式,可以得到 p(xy)p(x\mid y)。结果如下:

E[xy]=μ+Λ1AT(L1+AΛ1AT)1(yAμb)Var[xy]=Λ1Λ1AT(L1+AΛ1AT)1AΛ1\begin{array}{c} \mathbb{E}[x \mid y]=\mu+\Lambda^{-1} A^{T}\left(L^{-1}+A \Lambda^{-1} A^{T}\right)^{-1}(y-A \mu-b) \\ \operatorname{Var}[x \mid y]=\Lambda^{-1}-\Lambda^{-1} A^{T}\left(L^{-1}+A \Lambda^{-1} A^{T}\right)^{-1} A \Lambda^{-1} \end{array}
info

之后可能有单独的一章说 线性高斯模型(This page is not published)

相关资料

Footnotes

  1. Multivariate normal distribution - Wikipedia