高斯分布|机器学习推导系列(二)

一、概述

假设有以下数据:

X=(x_{1},x_{1},\cdots ,x_{N})^{T}=\begin{pmatrix} x_{1}^{T}\\ x_{2}^{T}\\ \vdots \\ x_{N}^{T} \end{pmatrix}_{N \times p}\\ 其中x_{i}\in \mathbb{R}^{p}且x_{i}\overset{iid}{\sim }N(\mu ,\Sigma )\\ 则参数\theta =(\mu ,\Sigma )

二、通过极大似然估计高斯分布的均值和方差

1. 极大似然

\theta_{MLE}=\underset{\theta }{argmax}P(X|\theta )

2. 高斯分布

一维高斯分布p(x)=\frac{1}{\sqrt{2\pi }\sigma }exp(-\frac{(x-\mu )^{2}}{2\sigma ^{2}})\\ 多维高斯分布p(x)=\frac{1}{(2\pi )^{D/2}|\Sigma |^{1/2}}exp(-\frac{1}{2}(x-\mu)^{T}\Sigma ^{-1}(x-\mu))

3. 一维高斯分布下的估计

  • 关于\theta的似然函数

logP(X|\theta )=log\prod_{i=1}^{N}p(x_{i}|\theta )\\ =\sum_{i=1}^{N}log\frac{1}{\sqrt{2\pi }\sigma }exp(-\frac{(x_{i}-\mu )^{2}}{2\sigma ^{2}})\\ =\sum_{i=1}^{N}[log\frac{1}{\sqrt{2\pi }}+log\frac{1}{\sigma }-\frac{(x_{i}-\mu )^{2}}{2\sigma ^{2}}]

  • 通过极大似然估计法求解\mu _{MLE}

\mu _{MLE}=\underset{\mu }{argmax}logP(X|\theta)\\ =\underset{\mu }{argmax}\sum_{i=1}^{N}-\frac{(x_{i}-\mu )^{2}}{2\sigma ^{2}}\\ =\underset{\mu }{argmin}\sum_{i=1}^{N}(x_{i}-\mu )^{2}\\ 对\mu求导\frac{\partial \sum_{i=1}^{N}(x_{i}-\mu )^{2}}{\partial \mu}=\sum_{i=1}^{N}2(x_{i}-\mu )(-1)=0\\ \Leftrightarrow \sum_{i=1}^{N}(x_{i}-\mu )=0\\ \Leftrightarrow \sum_{i=1}^{N}x_{i}-\underset{N\mu }{\underbrace{\sum_{i=1}^{N}\mu }}=0\\ 解得\mu _{MLE}=\frac{1}{N}\sum_{i=1}^{N}x_{i}

  • 证明\mu _{MLE}是无偏估计

E[\mu _{MLE}]=\frac{1}{N}\sum_{i=1}^{N}E[x_{i}] =\frac{1}{N}\sum_{i=1}^{N}\mu =\frac{1}{N}N\mu =\mu

  • 通过极大似然估计法求解\sigma _{MLE}

\sigma _{MLE}^{2}=\underset{\sigma }{argmax}P(X|\theta )\\ =\underset{\sigma }{argmax}\underset{L}{\underbrace{\sum_{i=1}^{N}(-log\sigma -\frac{(x_{i}-\mu )^{2}}{2\sigma ^{2}})}}\\ \frac{\partial L}{\partial \sigma}=\sum_{i=1}^{N}[-\frac{1}{\sigma }+(x_{i}-\mu )^{2}\sigma ^{-3}]\\ \Leftrightarrow \sum_{i=1}^{N}[-\sigma ^{2}+(x_{i}-\mu )^{2}]=0\\ \Leftrightarrow -\sum_{i=1}^{N}\sigma ^{2}+\sum_{i=1}^{N}(x_{i}-\mu )^{2}=0\\ \sigma _{MLE}^{2}=\frac{1}{N}\sum_{i=1}^{N}(x_{i}-\mu )^{2}\\ \mu取\mu_{MLE}时,\sigma _{MLE}^{2}=\frac{1}{N}\sum_{i=1}^{N}(x_{i}-\mu _{MLE})^{2}

  • 证明\sigma _{MLE}^{2}是有偏估计

要证明\sigma _{MLE}^{2}是有偏估计就需要判断E[\sigma _{MLE}^{2}]\overset{?}{=}\sigma ^{2},证明如下:

{\color{Blue}{Var[\mu _{MLE}]}}=Var[\frac{1}{N}\sum_{i=1}^{N}x_{i}]=\frac{1}{N^{2}}\sum_{i=1}^{N}Var[x_{i}]=\frac{1}{N^{2}}\sum_{i=1}^{N}\sigma ^{2}=\frac{\sigma ^{2}}{N}\\ {\color{Red}{\sigma _{MLE}^{2}}}=\frac{1}{N}\sum_{i=1}^{N}(x_{i}-\mu _{MLE})^{2}\\ =\frac{1}{N}\sum_{i=1}^{N}(x_{i}^{2}-2x_{i}\mu _{MLE}+\mu _{MLE}^{2})^{2}\\ =\frac{1}{N}\sum_{i=1}^{N}x_{i}^{2}-\frac{1}{N}\sum_{i=1}^{N}2x_{i}\mu _{MLE}+\frac{1}{N}\sum_{i=1}^{N}\mu _{MLE}^{2}\\ =\frac{1}{N}\sum_{i=1}^{N}x_{i}^{2}-2\mu _{MLE}^{2}+\mu _{MLE}^{2}\\ =\frac{1}{N}\sum_{i=1}^{N}x_{i}^{2}-\mu _{MLE}^{2}\\ E[{\color{Red}{\sigma _{MLE}^{2}}}]=E[\frac{1}{N}\sum_{i=1}^{N}x_{i}^{2}-\mu _{MLE}^{2}]\\ =E[(\frac{1}{N}\sum_{i=1}^{N}x_{i}^{2}-\mu ^{2})-(\mu _{MLE}^{2}-\mu ^{2})]\\ =E[\frac{1}{N}\sum_{i=1}^{N}(x_{i}^{2}-\mu ^{2})]-E[\mu _{MLE}^{2}-\mu ^{2}]\\ =\frac{1}{N}\sum_{i=1}^{N}E[x_{i}^{2}-\mu ^{2}]-(E[\mu _{MLE}^{2}]-E[\mu ^{2}])\\ =\frac{1}{N}\sum_{i=1}^{N}(E[x_{i}^{2}]-\mu ^{2})-(E[\mu _{MLE}^{2}]-\mu ^{2})\\ =\frac{1}{N}\sum_{i=1}^{N}(Var[x_{i}]+E[x_{i}]^{2}-\mu ^{2})-(E[\mu _{MLE}^{2}]-\mu_{MLE} ^{2})\\ =\frac{1}{N}\sum_{i=1}^{N}(Var[x_{i}]+\mu ^{2}-\mu ^{2})-(E[\mu _{MLE}^{2}]-E[\mu_{MLE}] ^{2})\\ =\frac{1}{N}\sum_{i=1}^{N}Var[x_{i}]-{\color{Blue}{Var[\mu _{MLE}]}}\\ =\sigma ^{2}-\frac{1}{N}\sigma ^{2}\\ =\frac{N-1}{N}\sigma ^{2}

可以理解为当\mu\mu_{MLE}就已经确定了所有x_{i}的和等于N\mu_{MLE},也就是说当N-1x_{i}确定以后,第Nx_{i}也就被确定了,所以少了一个“自由度”,因此E[{\sigma _{MLE}^{2}}]=\frac{N-1}{N}\sigma ^{2}

方差的无偏估计:

\hat{\sigma} ^{2}=\frac{1}{N-1}\sum_{i=1}^{N}(x_{i}-\mu _{MLE})^{2}

三、为什么高斯分布的等高线是个“椭圆”

1. 高斯分布与马氏距离

  • 多维高斯分布

x\overset{iid}{\sim }N(\mu ,\Sigma )=\frac{1}{(2\pi )^{D/2}|\Sigma |^{1/2}}exp(-\frac{1}{2}\underset{二次型}{\underbrace{(x-\mu)^{T}\Sigma ^{-1}(x-\mu)}})\\ x\in \mathbb{R}^{p},r.v.\\ x=\begin{pmatrix} x_{1}\\ x_{2}\\ \vdots \\ x_{p} \end{pmatrix}\mu =\begin{pmatrix} \mu_{1}\\ \mu_{2}\\ \vdots \\ \mu_{p} \end{pmatrix}\Sigma = \begin{bmatrix} \sigma _{11}& \sigma _{12}& \cdots & \sigma _{1p}\\ \sigma _{21}& \sigma _{22}& \cdots & \sigma _{2p}\\ \vdots & \vdots & \ddots & \vdots \\ \sigma _{p1}& \sigma _{p2}& \cdots & \sigma _{pp} \end{bmatrix}_{p\times p}\\ \Sigma一般是半正定的,在本次证明中假设是正定的,即所有的特征值都是正的,没有0。

  • 马氏距离

\sqrt{(x-\mu)^{T}\Sigma ^{-1}(x-\mu)}为马氏距离(x与\mu之间,当\Sigma为I时马氏距离即为欧氏距离。

2. 证明高斯分布等高线为椭圆

  • 协方差矩阵的特征值分解

任意的N \times N实对称矩阵都有N个线性无关的特征向量。并且这些特征向量都可以正交单位化而得到一组正交且模为 1 的向量。故实对称矩阵\Sigma可被分解成\Sigma=U\Lambda U^{T}

将\Sigma进行特征分解,\Sigma=U\Lambda U^{T}\\ 其中UU^{T}=U^{T}U=I,\underset{i=1,2,\cdots ,p}{\Lambda =diag(\lambda _{i})},U=(u _{1},u _{2},\cdots ,u _{p})_{p\times p}\\ 因此\Sigma=U\Lambda U^{T}\\ =\begin{pmatrix} u _{1} & u _{2} & \cdots & u _{p} \end{pmatrix}\begin{bmatrix} \lambda _{1} & 0 & \cdots & 0 \\ 0 & \lambda _{2} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda _{p} \end{bmatrix}\begin{pmatrix} u_{1}^{T}\\ u_{2}^{T}\\ \vdots \\ u_{p}^{T} \end{pmatrix}\\ =\begin{pmatrix} u _{1}\lambda _{1} & u _{2}\lambda _{2} & \cdots & u _{p}\lambda _{p} \end{pmatrix}\begin{pmatrix} u_{1}^{T}\\ u_{2}^{T}\\ \vdots \\ u_{p}^{T} \end{pmatrix}\\ =\sum_{i=1}^{p}u_{i}\lambda _{i}u_{i}^{T}\\ \Sigma ^{-1}=(U\Lambda U^{T})^{-1}=(U^{T})^{-1}\Lambda ^{-1}U^{-1}=U{\Lambda^{-1}}U^{T}=\sum_{i=1}^{p}u_{i}\frac{1}{\lambda _{i}}u _{i}^{T},其中\Lambda^{-1}=diag(\frac{1}{\lambda _{i}}),i=1,2,\cdots ,p

  • 将概率密度整理成椭圆方程的形式

\Delta =(x-\mu )^{T}\Sigma ^{-1}(x-\mu )\\ =(x-\mu )^{T}\sum_{i=1}^{p}u _{i}\frac{1}{\lambda _{i}}u _{i}^{T}(x-\mu )\\ =\sum_{i=1}^{p}(x-\mu )^{T}u _{i}\frac{1}{\lambda _{i}}u _{i}^{T}(x-\mu )\\ (令y_{i}=(x-\mu )^{T}u _{i})\\ =\sum_{i=1}^{p}y_{i}\frac{1}{\lambda _{i}}y_{i}^{T}\\ =\sum_{i=1}^{p}\frac{y_{i}^{2}}{\lambda _{i}}

上式中y_{i}=(x-\mu )^{T}u _{i}可以理解为将x减去均值进行中心化以后再投影到u _{i}方向上,相当于做了一次坐标轴变换。

x的维度为2即p=2\Delta =\frac{y_{1}^{2}}{\lambda _{1}}+\frac{y_{2}^{2}}{\lambda _{2}},得到类似椭圆方程的等式,所以也就可以解释为什么其等高线是椭圆形状。二维高斯分布的图像如下所示:

四、高斯分布的局限性

1. 参数过多

协方差矩阵\Sigma _{p\times p}中的参数共有1+2+\cdots +p=\frac{p(p+1)}{2}个(\Sigma _{p\times p}是对称矩阵),因此当x的维度p很大时,高斯分布的参数就会有很多,其计算复杂度为O(p^{2})

可以通过假设高斯分布的协方差矩阵为对角矩阵来减少参数,当高斯分布的协方差矩阵为对角矩阵时,特征向量的方向就会和原坐标轴的方向平行,因此高斯分布的等高线(同心椭圆)就不会倾斜。

另外如果在高斯分布的协方差矩阵为对角矩阵为对角矩阵的基础上使得其特征值全部相等(即\lambda _{1}=\lambda _{2}=\cdots=\lambda _{i}),则高斯分布的等高线就会成为一个圆形,而且不会倾斜,称为各向同性。

2. 单个高斯分布拟合能力有限

解决方案是使用多个高斯分布,比如高斯混合模型。

五、求高斯分布的边缘概率与条件概率

1. 概述

首先将变量、均值和方差进行划分:

x=\begin{pmatrix} x_{a}\\ x_{b} \end{pmatrix},其中x_{a}是m维的,x_{b}是n维的。\\ \mu =\begin{pmatrix} \mu_{a}\\ \mu_{b} \end{pmatrix}\Sigma =\begin{pmatrix} \Sigma _{aa}&\Sigma _{ab}\\ \Sigma _{ba}&\Sigma _{bb} \end{pmatrix}

本部分旨在根据上述已知来求P(x_{a}),P(x_{b}|x_{a}),P(x_{b}),P(x_{a}|x_{b})

2. 定理

以下定义为推导过程中主要用到的定理,这里只展示定理的内容,不进行证明:

已知x\sim N(\mu ,\Sigma ),x\in \mathbb{R}^{p}\\ y=Ax+B,y\in \mathbb{R}^{q}\\ 结论:y\sim N(A\mu +B,A\Sigma A^{T})

一个简单但不严谨的证明:

E[y]=E[Ax+B]=AE[x]+B=A\mu +B\\ Var[y]=Var[Ax+B]\\ =Var[Ax]+Var[B]\\ =AVar[x]A^{T}+0\\ =A\Sigma A^{T}

3. 求边缘概率P(x_{a})

x_{a}=\underset{A}{\underbrace{\begin{pmatrix} I_{m} & 0_{n} \end{pmatrix}}}\underset{x}{\underbrace{\begin{pmatrix} x_{a}\\ x_{b} \end{pmatrix}}}\\ E[x_{a}]=\begin{pmatrix} I_{m} & 0_{n} \end{pmatrix}\begin{pmatrix} \mu _{a}\\ \mu _{b} \end{pmatrix}=\mu _{a}\\ Var[x_{a}]=\begin{pmatrix} I_{m} & 0_{n} \end{pmatrix}\begin{pmatrix} \Sigma _{aa}&\Sigma _{ab}\\ \Sigma _{ba}&\Sigma _{bb} \end{pmatrix}\begin{pmatrix} I_{m}\\ 0_{n} \end{pmatrix}\\ =\begin{pmatrix} \Sigma _{aa}&\Sigma _{ab} \end{pmatrix}\begin{pmatrix} I_{m}\\ 0_{n} \end{pmatrix}=\Sigma _{aa}

所以x_{a}\sim N(\mu _{a},\Sigma _{aa}),同理x_{b}\sim N(\mu _{b},\Sigma _{bb})

4. 求条件概率P(x_{b}|x_{a})

构造\left\{\begin{matrix} 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} \end{matrix}\right.\\ (\Sigma _{bb\cdot a}是\Sigma _{aa}的舒尔补)\\ x_{b\cdot a}=\underset{A}{\underbrace{\begin{pmatrix} \Sigma _{ba}\Sigma _{aa}^{-1}& I_{n} \end{pmatrix}}}\underset{x}{\underbrace{\begin{pmatrix} x_{a}\\ x_{b} \end{pmatrix}}}\\ E[x_{b\cdot a}]=\begin{pmatrix} -\Sigma _{ba}\Sigma _{aa}^{-1}& I_{n} \end{pmatrix}\begin{pmatrix} \mu _{a}\\ \mu _{b} \end{pmatrix}=\mu_{b}-\Sigma _{ba}\Sigma _{aa}^{-1}\mu_{a}=\mu _{b\cdot a}\\ Var[x_{b\cdot a}]=\begin{pmatrix} -\Sigma _{ba}\Sigma _{aa}^{-1}& I_{n} \end{pmatrix}\begin{pmatrix} \Sigma _{aa}&\Sigma _{ab}\\ \Sigma _{ba}&\Sigma _{bb} \end{pmatrix}\begin{pmatrix} -\Sigma _{aa}^{-1}\Sigma _{ba}^{T}\\ I_{n} \end{pmatrix}\\ =\begin{pmatrix} -\Sigma _{ba}\Sigma _{aa}^{-1}\Sigma _{aa}+\Sigma _{ba}& -\Sigma _{ba}\Sigma _{aa}^{-1}\Sigma _{ab}+\Sigma _{bb} \end{pmatrix}\\ =\begin{pmatrix} 0& -\Sigma _{ba}\Sigma _{aa}^{-1}\Sigma _{ab}+\Sigma _{bb} \end{pmatrix}\begin{pmatrix} -\Sigma _{aa}^{-1}\Sigma _{ba}^{T}\\ I_{n} \end{pmatrix}\\ =\Sigma _{bb}-\Sigma _{ba}\Sigma _{aa}^{-1}\Sigma _{ab}\\ =\Sigma _{bb\cdot a}

现在可以得到x_{b\cdot a}\sim N(\mu _{b\cdot a},\Sigma _{bb\cdot a})。根据x_{b}x_{b\cdot a}的关系可以得到x_{b}|x_{a}的分布:

x_{b}=\underset{x}{\underbrace{x_{b\cdot a}}}+\underset{B}{\underbrace{\Sigma _{ba}\Sigma _{aa}^{-1}x_{a}}}\\ (在求条件概率P(x_{b}|x_{a})时x_{a}对于x_{b}来说可以看做已知,因此上式中\Sigma _{ba}\Sigma _{aa}^{-1}x_{a}看做常量B)\\ E[x_{b}|x_{a}]=\mu _{b\cdot a}+\Sigma _{ba}\Sigma _{aa}^{-1}x_{a}\\ Var[x_{b}|x_{a}]=Var[x_{b\cdot a}]=\Sigma _{bb\cdot a}

因此可以得到x_{b}|x_{a}\sim N(\mu _{b\cdot a}+\Sigma _{ba}\Sigma _{aa}^{-1}x_{a},\Sigma _{bb\cdot a}),同理可以得到x_{a}|x_{b}\sim N(\mu _{a\cdot b}+\Sigma _{ab}\Sigma _{bb}^{-1}x_{b},\Sigma _{aa\cdot b})

六、求高斯分布的联合概率分布

1. 概述

p(x)=N(x|\mu ,\Lambda ^{-1})\\ p(y|x)=N(y|Ax+b ,L ^{-1})\\ \Lambda和L是精度矩阵(precision\,matrix), precision\,matrix=(covariance\,matrix)^{T}。

本部分旨在根据上述已知来求p(y),p(x|y)

2. 求解p(y)

由上述已知可以确定yx的关系为线性高斯模型,则yx符合下述关系:

y=Ax+b+\varepsilon ,\varepsilon\sim N(0,L ^{-1})

然后求解y的均值和方差:

E[y]=E[Ax+b+\varepsilon]=E[Ax+b]+E[\varepsilon]=A\mu+b\\ Var[y]=Var[Ax+b+\varepsilon]=Var[Ax+b]+Var[\varepsilon]=A\Lambda ^{-1}A^{T}+L ^{-1}\\ 则可以得出y\sim N(A\mu+b,L ^{-1}+A\Lambda ^{-1}A^{T})

3. 求解p(x|y)

求解p(x|y)需要首先求解xy的联合分布,然后根据上一部分的公式直接得到p(x|y)

构造z=\begin{pmatrix} x\\ y \end{pmatrix}\sim N\left ( \begin{bmatrix} \mu \\ A\mu+b \end{bmatrix} , \begin{bmatrix} \Lambda ^{-1} & \Delta \\ \Delta ^{T} & L ^{-1}+A\Lambda ^{-1}A^{T} \end{bmatrix}\right )\\ 现在需要求解\Delta\\ \Delta=Cov(x,y)\\ =E[(x-E[x])(y-E[y])^{T}]\\ =E[(x-\mu )(y-A\mu-b)^{T}]\\ =E[(x-\mu )(Ax+b+\varepsilon-A\mu-b)^{T}]\\ =E[(x-\mu )(Ax-A\mu+\varepsilon)^{T}]\\ =E[(x-\mu )(Ax-A\mu)^{T}+(x-\mu)\varepsilon^{T}]\\ =E[(x-\mu )(Ax-A\mu)^{T}]+E[(x-\mu)\varepsilon^{T}]\\ (因为x\perp \varepsilon,所以(x-\mu)\perp \varepsilon,所以E[(x-\mu)\varepsilon^{T}]=E[(x-\mu)]E[\varepsilon^{T}])\\ =E[(x-\mu )(Ax-A\mu)^{T}]+E[(x-\mu)]E[\varepsilon^{T}]\\ =E[(x-\mu )(Ax-A\mu)^{T}]+E[(x-\mu)]\cdot 0\\ =E[(x-\mu )(Ax-A\mu)^{T}]\\ =E[(x-\mu )(x-\mu )^{T}A^{T}]\\ =E[(x-\mu )(x-\mu )^{T}]A^{T}\\ =Var[x]A^{T}\\ =\Lambda ^{-1}A^{T}\\ 由此可得z=\begin{pmatrix} x\\ y \end{pmatrix}\sim N\left ( \begin{bmatrix} \mu \\ A\mu+b \end{bmatrix} , \begin{bmatrix} \Lambda ^{-1} & \Lambda ^{-1}A^{T} \\ A\Lambda ^{-1} & L ^{-1}+A\Lambda ^{-1}A^{T} \end{bmatrix}\right )\\ 套用上一部分的公式可以得到x|y\sim N(\mu _{x\cdot y}+\Lambda ^{-1}A^{T} (L ^{-1}+A\Lambda ^{-1}A^{T})^{-1}y,\Sigma _{xx\cdot y})