Loading

机器学习-01-基础知识

基础知识

数据集和学习

数据集的矩阵表示:

\[X_{N\times p}=(x_{1},x_{2},\cdots,x_{N})^{T},x_{i}=(x_{i1},x_{i2},\cdots,x_{ip})^{T} \]

即表示有 \(N\) 个样本,每个样本都是 \(p\) 维向量,每个维度称作属性或者特征。每个样本可以看作是满足某个潜在规律(称为真实或真相)的分布中的采样。学习的过程就是让模型不断逼近真实的过程。
假设真实可以由参数为 \(\theta\) 的模型完全拟合,那么对一个样本而言,其出现的概率是: \(P(x|\theta)\)

频率派

\(P(x|\theta)\)中的 \(\theta\) 是一个常量。对于 \(N\) 个样本来说,观测到整个数据集的概率为: \(P(X|\theta)\mathop{=}\limits _{iid}\prod\limits _{i=1}^{N}P(x_{i}|\theta)\) 。频率派认为,之所以能观测到现在的数据集,是因为当前数据集被观测到的概率是最大的。因此采用最大似然估计(MLE)的方法可以求 \(\theta\) 的大小(用对数似然方便计算):

\[\theta_{MLE}=\mathop{argmax}\limits _{\theta}\log P(X|\theta)\mathop{=}\limits _{iid}\mathop{argmax}\limits _{\theta}\sum\limits _{i=1}^{N}\log P(x_{i}|\theta) \]

贝叶斯派

贝叶斯派认为 \(P(x|\theta)\) 中的 \(\theta\) 满足一个分布 \(\theta\sim P(\theta)\) ,随着不断获得样本,\(\theta\) 出现的后验概率将会被改变。根据贝叶斯定理,依赖数据集的后验可以写成:

\[P(\theta|X)=\frac{P(X|\theta)\cdot P(\theta)}{P(X)}=\frac{P(X|\theta)\cdot P(\theta)}{\int\limits _{\theta}P(X|\theta)\cdot P(\theta)d\theta} \]

那么 \(\theta\) 的值取什么呢?贝叶斯派认为应该取最大后验概率(MAP)的 \(\theta\)

\[\theta_{MAP}=\mathop{argmax}\limits _{\theta}\space P(\theta|X)=\mathop{argmax}\limits _{\theta}\space P(X|\theta)\cdot P(\theta) \]

其中第二个等号是由于分母和 \(\theta\) 没有关系。得到了参数的后验分布后,我们可以将这个分布用于贝叶斯预测:

\[P(x_{new}|X)=\int\limits _{\theta}P(x_{new}|\theta)\cdot P(\theta|X)d\theta \]

Tips

频率派和贝叶斯派分别给出了一系列的机器学习算法。频率派的观点导出了一系列的统计机器学习算法而贝叶斯派导出了概率图理论。在应用频率派的 MLE 方法时最优化理论占有重要地位。而贝叶斯派的算法无论是后验概率的建模还是应用这个后验进行推断时积分占有重要地位。

高斯分布

一维情况 MLE

高斯分布在机器学习中占有举足轻重的作用,所以我们以高斯分布为例来介绍 MLE 的计算方式。在 MLE 方法中:

\[\theta=(\mu,\Sigma)=(\mu,\sigma^{2}),\theta_{MLE}=\mathop{argmax}\limits _{\theta}\log P(X|\theta)\mathop{=}\limits _{iid}\mathop{argmax}\limits _{\theta}\sum\limits _{i=1}^{N}\log P(x_{i}|\theta) \]

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

\[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(-(x_{i}-\mu)^{2}/2\sigma^{2}) \]

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

\[\mu_{MLE}=\mathop{argmax}\limits _{\mu}\log P(X|\theta)=\mathop{argmin}\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}\) ,因此可以预期的是对数据集求期望时 \(\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}\)\(\Sigma\) 为协方差矩阵,一般而言也是半正定矩阵。为了推导方便,这里我们只考虑正定矩阵。首先我们处理指数上的数字,指数上的数字可以记为 \(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}=\sum\limits _{i=1}^{p}u_{i}\frac{1}{\lambda_{i}}u_{i}^{T} \]

\[\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{y_{i}^{2}}{\lambda_{i}} \]

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

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

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

  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}),\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 = 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} \]

转载自原文:https://www.yuque.com/bystander-wg876/yc5f72? ,对原文作了公式和表述上的修正

posted @ 2025-04-14 20:43  C_noized  阅读(15)  评论(0)    收藏  举报