Loading

机器学习——线性高斯模型

高斯作为机器学习中的常客也是无法避免的,而线性模型作为比较简单的模型,两者结合出的线性高斯模型,在今后的机器学习中大量涉及到这方面的知识。例如在各种滤波中,高斯滤波,卡曼滤波,粒子滤波。

一维情况 MLE: Maximum Likelihood Estimation

高斯分布在机器学习中占有举足轻重的作用。在 MLE 方法中:

\[\theta=(\mu,\Sigma)=(\mu,\sigma^{2}),x_i \stackrel{i.i.d}{\longrightarrow} p(x|\theta),\\ \theta_{MLE}=\mathop{argmax}\limits _{\theta}\log p(X|\theta)\mathop{=}\limits _{i.i.d}\mathop{argmax}\limits _{\theta}\sum\limits _{i=1}^{N}\log p(x_{i}|\theta) \]

一般地,高斯分布的概率密度函数 PDF(Probability Density Function)写为:

\[p(x|\mu,\Sigma)=\frac{1}{(2\pi)^{p/2}|\Sigma|^{1/2}}e^{-\frac{1}{2}(x-\mu)^{T}\Sigma^{-1}(x-\mu)} \]

带入 MLE 中我们考虑一维的情况

\[\log p(X|\theta)=\sum\limits _{i=1}^{N}\log p(x_{i}|\theta)=\sum\limits _{i=1}^{N}\log\frac{1}{\sqrt{2\pi}\sigma}\exp(\frac{-(x_{i}-\mu)^{2}}{2\sigma^{2}}) \]

首先对 \(\mu\) 的极值可以得到 :

\[\mu_{MLE}=\mathop{argmax}\limits _{\mu}\log p(X|\theta)=\mathop{argmax}\limits _{\mu}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2} \]

于是:

\[\frac{\partial}{\partial\mu}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2}=0\longrightarrow\mu_{MLE}=\frac{1}{N}\sum\limits _{i=1}^{N}x_{i} \]

其次对 \(\theta\) 中的另一个参数 \(\sigma\) ,有:

\[\begin{align} \sigma_{MLE}=\mathop{argmax}\limits _{\sigma}\log p(X|\theta)&=\mathop{argmax}\limits _{\sigma}\sum\limits _{i=1}^{N}[-\log\sigma-\frac{1}{2\sigma^{2}}(x_{i}-\mu)^{2}]\nonumber\\ &=\mathop{argmin}\limits _{\sigma}\sum\limits _{i=1}^{N}[\log\sigma+\frac{1}{2\sigma^{2}}(x_{i}-\mu)^{2}] \end{align} \]

于是:

\[\frac{\partial}{\partial\sigma}\sum\limits _{i=1}^{N}[\log\sigma+\frac{1}{2\sigma^{2}}(x_{i}-\mu)^{2}]=0\longrightarrow\sigma_{MLE}^{2}=\frac{1}{N}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2} \]

值得注意的是,上面的推导中,首先对 \(\mu\) 求 MLE, 然后利用这个结果求 \(\sigma_{MLE}\) ,因此可以预期的是对数据集\(\mathcal{D}\)求期望时 \(\mathbb{E}_{\mathcal{D}}[\mu_{MLE}]\)无偏差的:

\[\mathbb{E}_{\mathcal{D}}[\mu_{MLE}]=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}]=\frac{1}{N}\sum\limits _{i=1}^{N}\mathbb{E}_{\mathcal{D}}[x_{i}]=\mu \]

但是当对 \(\sigma_{MLE}\) 求 期望的时候由于使用了单个数据集的 \(\mu_{MLE}\),因此对所有数据集求期望的时候我们会发现 \(\sigma_{MLE}\)有偏的:

\[\begin{align} \mathbb{E}_{\mathcal{D}}[\sigma_{MLE}^{2}]&=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}(x_{i}-\mu_{MLE})^{2}]=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}(x_{i}^{2}-2x_{i}\mu_{MLE}+\mu_{MLE}^{2})\nonumber \\&=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}^{2}-\mu_{MLE}^{2}]=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}^{2}-\mu^{2}+\mu^{2}-\mu_{MLE}^{2}]\nonumber\\ &= \mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}^{2}-\mu^{2}]-\mathbb{E}_{\mathcal{D}}[\mu_{MLE}^{2}-\mu^{2}]=\sigma^{2}-(\mathbb{E}_{\mathcal{D}}[\mu_{MLE}^{2}]-\mu^{2})\nonumber\\&=\sigma^{2}-(\mathbb{E}_{\mathcal{D}}[\mu_{MLE}^{2}]-\mathbb{E}_{\mathcal{D}}^{2}[\mu_{MLE}])=\sigma^{2}-Var[\mu_{MLE}]\nonumber\\&=\sigma^{2}-Var[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}]=\sigma^{2}-\frac{1}{N^{2}}\sum\limits _{i=1}^{N}Var[x_{i}]=\frac{N-1}{N}\sigma^{2} \end{align} \]

所以:

\[\hat{\sigma}^{2}=\frac{1}{N-1}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2} \]

多维情况MLE

多维高斯分布表达式为:

\[p(x|\mu,\Sigma)=\frac{1}{(2\pi)^{p/2}|\Sigma|^{1/2}}e^{-\frac{1}{2}(x-\mu)^{T}\Sigma^{-1}(x-\mu)} \]

其中 \(x,\mu\in\mathbb{R}^{p},\Sigma\in\mathbb{R}^{p\times p}\) ,$\mu \(是期望,\)\Sigma$ 为协方差矩阵,一般而言也是半正定矩阵。这里我们只考虑正定矩阵,以方便计算。

什么是正定?
\(A\in \mathbb{R}^{n\times n}, A^T=A\)时,对任意\(x\neq0,x \in R^n\),都有\(x^TAx\gt0\)

什么是半正定?

​ 当\(A\in \mathbb{R}^{n\times n}, A^T=A\)时,对任意\(x\neq0,x \in R^n\),都有\(x^TAx\ge0\)

常用的正定判定有

1. $\lambda(A)\gt0$
2. 各阶主子式均大于0

首先我们处理指数上的数字,指数上的数字可以记为 \(x\)\(\mu\) 之间的马氏距离。对于对称的协方差矩阵可进行特征值分解,

\[\Sigma=U\Lambda U^{T}=(u_{1},u_{2},\cdots,u_{p})diag(\lambda_{i})(u_{1},u_{2},\cdots,u_{p})^{T}=\sum\limits _{i=1}^{p}u_{i}\lambda_{i}u_{i}^{T} \]

,于是:

\[\Sigma^{-1}={(U\Lambda U^{T})}^{-1}=U{\Lambda}^{-1} U^{T}=\sum\limits _{i=1}^{p}u_{i}\frac{1}{\lambda_{i}}u_{i}^{T} \]

\[\begin{align} \Delta &=(x-\mu)^{T}\Sigma^{-1}(x-\mu)\\ &=\sum\limits _{i=1}^{p}(x-\mu)^{T}u_{i}\frac{1}{\lambda_{i}}u_{i}^{T}(x-\mu)\\ &=\sum\limits _{i=1}^{p}\frac{{[(x-u)^{T}u_i]}^{2}}{\lambda_{i}}=\sum\limits _{i=1}^{p}\frac{y_{i}^{2}}{\lambda_{i}} \end{align} \]

我们注意到 \(y_{i}\)\(x-\mu\) 在特征向量 \(u_{i}\) 上的投影长度,相当于是坐标轴的平移与旋转。因此上式子就是 \(\Delta\) 取不同值时的同心椭圆。

image

下面我们看多维高斯模型在实际应用时的两个问题

  1. 参数 \(\Sigma,\mu\) 的自由度为 \(O(p^{2})\) 对于维度很高的数据其自由度太高。解决方案:高自由度的来源是 \(\Sigma\)\(\frac{p(p+1)}{2}\) 个自由参数,可以假设其是对角矩阵,甚至在各向同性假设中假设其对角线上的元素都相同。前一种的算法有 Factor Analysis,后一种有概率 PCA: Principal Component Analysis(p-PCA) 。

    \(\forall i,j \in 1 \cdots p,i\neq j,\lambda_{i}=\lambda_{j},\Sigma\)为对角矩阵,可判定各特征各自同性

  2. 第二个问题是单个高斯分布是单峰的,对有多个峰的数据分布不能得到好的结果。解决方案:高斯混合模型 GMM。

下面对多维高斯分布的常用定理进行介绍。

我们记 \(x=(x_1, x_2,\cdots,x_p)^T=(x_{a,m\times 1}, x_{b,n\times1})^T,\mu=(\mu_{a,m\times1}, \mu_{b,n\times1})^{T},\Sigma=\begin{pmatrix}\Sigma_{aa}&\Sigma_{ab}\\\Sigma_{ba}&\Sigma_{bb}\end{pmatrix}\),已知 \(x\sim\mathcal{N}(\mu,\Sigma)\)

首先是一个高斯分布的定理:`

定理:已知 \(x\sim\mathcal{N}(\mu,\Sigma), y\sim Ax+b\),那么 \(y\sim\mathcal{N}(A\mu+b, A\Sigma A^T)\)

证明:\(\mathbb{E}[y]=\mathbb{E}[Ax+b]=A\mathbb{E}[x]+b=A\mu+b\)\(Var[y]=Var[Ax+b]=Var[Ax]=A\cdot Var[x]\cdot A^T\)

下面利用这个定理得到 \(p(x_a),p(x_b),p(x_a|x_b),p(x_b|x_a)\) 这四个量。

  1. \(x_a=\begin{pmatrix}\mathbb{I}_{m\times m}&\mathbb{O}_{m\times n})\end{pmatrix}\begin{pmatrix}x_a\\x_b\end{pmatrix}\),代入定理中得到:

    \[\mathbb{E}[x_a]=\begin{pmatrix}\mathbb{I}&\mathbb{O}\end{pmatrix}\begin{pmatrix}\mu_a\\\mu_b\end{pmatrix}=\mu_a\\ Var[x_a]=\begin{pmatrix}\mathbb{I}&\mathbb{O}\end{pmatrix}\begin{pmatrix}\Sigma_{aa}&\Sigma_{ab}\\\Sigma_{ba}&\Sigma_{bb}\end{pmatrix}\begin{pmatrix}\mathbb{I}\\\mathbb{O}\end{pmatrix}=\Sigma_{aa} \]

    所以 \(x_a\sim\mathcal{N}(\mu_a,\Sigma_{aa})\)

  2. 同样的,\(x_b\sim\mathcal{N}(\mu_b,\Sigma_{bb})\)

  3. 对于两个条件概率,我们引入三个量:

    \[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} \]

    特别的,最后一个式子叫做 \(\Sigma_{bb}\) 的 Schur Complementary。可以看到:

    \[x_{b\cdot a}=\begin{pmatrix}-\Sigma_{ba}\Sigma_{aa}^{-1}&\mathbb{I}_{n\times n}\end{pmatrix}\begin{pmatrix}x_a\\x_b\end{pmatrix} \]

    所以:

    \[\mathbb{E}[x_{b\cdot a}]=\begin{pmatrix}-\Sigma_{ba}\Sigma_{aa}^{-1}&\mathbb{I}_{n\times n}\end{pmatrix}\begin{pmatrix}\mu_a\\\mu_b\end{pmatrix}=\mu_{b\cdot a}\\Var[x_{b\cdot a}]=\begin{pmatrix}-\Sigma_{ba}\Sigma_{aa}^{-1}&\mathbb{I}_{n\times n}\end{pmatrix}\begin{pmatrix}\Sigma_{aa}&\Sigma_{ab}\\\Sigma_{ba}&\Sigma_{bb}\end{pmatrix}\begin{pmatrix}-\Sigma_{aa}^{-1}\Sigma_{ba}^T\\\mathbb{I}_{n\times n}\end{pmatrix}=\Sigma_{bb\cdot a} \]

    利用这三个量可以得到 \(x_b=x_{b\cdot a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_a\)。因此:

    \[\mathbb{E}[x_b|x_a]=\mu_{b\cdot a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_a \]

    \[Var[x_b|x_a]=\Sigma_{bb\cdot a} \]

    这里同样用到了定理。

  4. 同样:

    \[x_{a\cdot b}=x_a-\Sigma_{ab}\Sigma_{bb}^{-1}x_b\\ \mu_{a\cdot b}=\mu_a-\Sigma_{ab}\Sigma_{bb}^{-1}\mu_b\\ \Sigma_{aa\cdot b}=\Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba} \]

    所以:

    \[\mathbb{E}[x_a|x_b]=\mu_{a\cdot b}+\Sigma_{ab}\Sigma_{bb}^{-1}x_b \]

    \[Var[x_a|x_b]=\Sigma_{aa\cdot b} \]

下面利用上边四个量,求解线性模型:

已知:\(p(x)=\mathcal{N}(\mu,\Lambda^{-1}),p(y|x)=\mathcal{N}(Ax+b,L^{-1})\),求解:\(p(y),p(x|y)\)

解:令 \(y=Ax+b+\epsilon,\epsilon\sim\mathcal{N}(0,L^{-1})\),所以 \(\mathbb{E}[y]=\mathbb{E}[Ax+b+\epsilon]=A\mu+b\)\(Var[y]=A \Lambda^{-1}A^T+L^{-1}\),因此:

\[p(y)=\mathcal{N}(A\mu+b,L^{-1}+A\Lambda^{-1}A^T) \]

引入 \(z=\begin{pmatrix}x\\y\end{pmatrix}\),我们可以得到 \(Cov[x,y]=\mathbb{E}[(x-\mathbb{E}[x])(y-\mathbb{E}[y])^T]\)。对于这个协方差可以直接计算:

\[\begin{align} Cov(x,y)&=\mathbb{E}[(x-\mu)(Ax-A\mu+\epsilon)^T]\\ &=\mathbb{E}[(x-\mu)(x-\mu)^TA^T]\\ &=Var[x]A^T=\Lambda^{-1}A^T \end{align} \]

注意到协方差矩阵的对称性,所以 \(p(z)=\mathcal{N}\begin{pmatrix}\mu\\A\mu+b\end{pmatrix},\begin{pmatrix}\Lambda^{-1}&\Lambda^{-1}A^T\\A\Lambda^{-1}&L^{-1}+A\Lambda^{-1}A^T\end {pmatrix}\)。根据之前的公式,我们可以得到:

\[\mathbb{E}[x|y]=\mu+\Lambda^{-1}A^T(L^{-1}+A\Lambda^{-1}A^T)^{-1}(y-A\mu-b) \]

\[Var[x|y]=\Lambda^{-1}-\Lambda^{-1}A^T(L^{-1}+A\Lambda^{-1}A^T)^{-1}A\Lambda^{-1} \]

这里的\(\Lambda^{-1}\)是精度矩阵,\(\mathit{L}^{-1}\)是协方差矩阵。

\[Precision Matrix = Covariance Matrix ^ {-1} \]

这里补充一些小知识

  1. 一般情况下,两个随机变量\(x ,y\)独立不相关,不相关不一定独立
  2. \(x,y\sim N(\mu,\Sigma)\),不相关等价于独立
posted @ 2022-01-17 15:55  Christopher·阳  阅读(3217)  评论(0编辑  收藏  举报