高斯分布|機器學習推導系列(二)

一、概述

假設有以下數據:

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})