在机器学习中经常会遇到概率问题,而在概率问题中经常出现的就是频率学派和贝叶斯学派。
频率学派:使用随机事件的发生的频率描述概率的方法,就是通常说的古典概型,或者称为频率学派。它试图从事件的整体来建模整个事件。如想要计算抛掷一枚硬币时正面朝上的概率,我们需要不断地抛掷硬币,当抛掷次数趋向无穷时正面朝上的频率即为正面朝上的概率。其中最重要的就是不断的重复。
贝叶斯学派:贝叶斯学派认为概率是对事件不确定性的定量描述。如我们想获得这个事件的概率”whether the Arctic ice cap will have disappeared by the end of the century.” ,我们不可能通过重复试验来计算。这时贝叶斯观点就派上用场了,首先我们会通过以往的经验对北极冰川的融化速度进行一个合理的估计,当有新的观测数据出现的时候(如气象卫星的观察数据),我们可以利用新的数据对原有预估进行纠正。
关于频率学派和贝叶斯学派可以参考频率学派(Frequentists) 贝叶斯学派(Bayesians) 。
本文基于线性回归问题和逻辑回归问题叙述贝叶斯理论在机器学习的应用。
变量定义
为了后文论述方便,首先对下文中提到的线性回归和逻辑回归做如下说明。
假设训练集有N个样本,样本集的特征用$\mathrm X$表示,$x_i$表示第$i$个样本。样本集的lable值用$\mathrm T$表示,$t_i$表示第$i$个样本的lable值。即 $\mathbf{X}\equiv (x_{1} \dots x_{N})^{\mathrm{T}}$,$\mathrm{T}=\{t_{1} \dots t_{N} \}^{\mathrm{T}}$ ,样本集表示为$\mathcal D = \{\mathrm X, \mathrm{T} \}$ 。
基于该数据集训练一个模型$y(x;\mathrm w)$ ,使用该模型根据新数据的特征预测其lable值。
本文只论述线性回归问题和逻辑回归问题,其形式如下:
线性回归:$y(x ,\mathrm w) = \mathrm w ^{\mathrm T} x $
逻辑回归:$y(x , \mathrm w) = \frac {1}{1+ e ^{ - \mathrm w ^{\mathrm T} x} }$
在回归问题中,认为目标值$t$服从均值为$y(x,\mathrm w)$,方差为$\beta^{-1}$的高斯分布。
$$
p(t|x,\mathrm w, \beta)=\mathcal N(t|y(x , \mathrm w),\beta^{-1}) \tag 1
$$
$\beta$为高斯噪声,反应的是样本集的采样误差即噪声。
在逻辑回归问题中,目标值$t$服从Bernoulli distribution(伯努力分布,0-1分布)。$t$的取值为0或1。逻辑回归中使用的sigmoid函数:
$$
y = \sigma(a) \equiv \frac 1{1+exp(-a)}
$$
的一个重要特性就是:其输出值表示的是概率,即:$y(x , \mathrm w)$表示取$t=1$的概率,而$(1-y(x , \mathrm w))$表示取$t=0$的概率。所以对于任何一个样本$\{ x,t \}$ 满足参数为$y(x , \mathrm w)$的伯努力分布:
$$
p(t|x, \mathrm w)=y(x, \mathrm w)^t \{1-y(x , \mathrm w)\}^{(1-t)} \tag 2
$$
贝叶斯概率
在机器学习中,贝叶斯学派认为模型中的参数$\mathrm w$是一个不确定的值,使用概率分布对其进行建模。
首先我们对$\mathrm{w}$可能的分布做一个假设,这个假设是基于经验的、和观测数据无关的,这个分布即为先验分布$p(\mathrm{w})$。依据训练数据集纠正后的$\mathrm{w}$的概率分布为后验分布$p(\mathrm{w} | D)$。按照贝叶斯公式对后验概率分解,即:
$$
p(\mathrm{w}|\mathcal{D})=\frac{p(\mathcal{D}|\mathrm{w})p(\mathrm{w})}{p(\mathcal{D})}
$$
$\mathrm{w}$的后验分布$p(\mathrm{w}| D)$可以分解为三部分:
- $p(\mathrm{w})$ :先验分布(prior),是关于$\mathrm{w}$的函数,依赖于先验知识。
- $p(\mathcal{D}|\mathrm{w})$ :似然函数(likelihood),是关于$\mathrm{w}$的函数。表示对于$\mathrm{w}$的不同值,数据集$\mathcal D$被观测到的概率。
note,似然函数不是关于$\mathrm{w}$的概率分布函数,所以似然函数对w积分不是1,实际上是$\mathcal D$的概率分布函数。 - $p(\mathcal{D})$ :归一化项,用于保证公式右边对$\mathrm{w}$积分是1,即,保证后验分布是一个概率密度函数。$p(\mathcal{D})=\int p(\mathcal{D}|\mathrm{w})p(\mathrm{w})\mathrm{dw}$。对于固定数据集来说。
通过以上分析可知:
$$
\begin {aligned}
& p(\mathrm{w}|\mathcal{D}) \varpropto p(\mathcal{D}|\mathrm{w})p(\mathrm{w}) \\
& posterior \varpropto likelihood \times prior
\end{aligned}
$$
基于贝叶斯概率我们可以做两件事:
- 确定参数的分布
- 确定新样本预测值的分布
参数分布
下面论述使用贝叶斯方法计算参数$\mathrm{w}$的后验分布的方法。
若参数的先验概率与模型似然概率共轭,那么参数的后验分布概率与先验概率服从相同的分布。比如说:先验概率服从Beta分布,似然概率服从二项分布,这时先验概率分布与似然概率分布共轭了,那么后验概率也服从Beta分布。
也就是说在使用贝叶斯公式时,如果选择的先验概率分布与似然概率分布共轭,那后验概率分布就很容易计算出来了。
但现实是,它们二者之间经常是不共轭的,从而出现了三种常用的近似计算方法:
- 点估计(Point Estimate–MAP方法)
- 拉普拉斯近似方法(Laplace approximation)
- 采样法(Sampling–Metropolis-Hastings)
本文主要讲解三种情况:先验与后验同分布的情况、点估计(Point Estimate–MAP方法)、拉普拉斯近似方法(Laplace approximation)
先验与后验同分布的情况
note,在LDA模型中,先验分布和似然分布是共轭,分别为Multinomial分布和 Dirichlet分布。
如上所述,当先验分布与似然函数共轭,即后验分布是同分布时,是怎么求解参数的后验分布呢?下面以回归问题为例介绍。
首先假设参数$\mathrm{w}$的先验分布和后验分布都服从正态分布,如下:
$\mathrm{w}$的先验分布与回归问题的似然函数为:
$$
\begin {aligned}
& p(\mathrm{w})= \mathcal{N}(\mathrm{w}|\mathbf{m}_{0},\mathbf{S}_{0}) \
& p(\mathcal{D}| \mathrm{w})= p(\mathrm{T}|\mathbf X,\mathrm w, \beta)=\prod_{i=1}^N \mathcal N(t_i|y(x_i , \mathrm w),\beta^{-1}) \\
\end {aligned}
$$
则后验分布为:
$$
\begin {aligned}
& p(\mathrm{w}|\mathcal{D})= \mathcal{N}(\mathrm{w}|\mathbf{m}_{N},\mathbf{S}_{N}) \\
\end {aligned} \tag 3
$$
其中:
$$
\begin {aligned}
& \mathbf{m}_{N}= \mathbf{S}_{N}(\mathbf{S}_{0}^{-1}\mathbf{m}_{0}+\beta \mathrm{X}^{\mathrm{T}}\mathrm{T}) \\
& \mathbf{S}_{N}^{-1}= \mathbf{S}_{0}^{-1}+\beta \mathrm{X}^{\mathrm{T}}\mathrm{X} \\
\end {aligned}
$$
其求解方法来源于《Pattern Recognition and Machine Learning》2.2.3 Bayes’ theorem for Gaussian variables。其结论如下:
MAP
后验概率公式表示了 在给定数据集$\mathcal D$的前提下,$\mathrm w$的概率密度函数,MAP方法认为$\mathrm w$最可能的取值就是能使后验概率$p(\mathrm w| \mathcal D)$最大的$\mathrm w$ 。该方法称为 maximum posterior ,即 MAP。
线性回归MAP
先验概率
相对于上面$\mathrm{w}$的先验分布的一般化假设,在MAP中我们假设$\mathrm{w}$的先验分布是服从均值为$0$方差为${\alpha }^{-1}\mathbf{I}$的高斯分布, 即上文中的 $\mathbf{m}_0 = 0, \mathbf{S}_0 = {\alpha }^{-1}\mathbf{I}$:
$$
p(\mathrm{w}|\alpha )= \mathcal{N}(\mathrm{w}|0,{\alpha }^{-1}\mathbf{I})=(\frac{\alpha }{2\pi })^{(M +1)/2} \exp \{-\frac{\alpha }{2}\mathrm{w}^{\mathrm{T}}\mathrm{w}\} \tag 5
$$
其中:$\alpha$为精度,$M+1$为向量$\mathrm w$的维度。
似然函数
$$
p(\mathrm{T}|\mathbf X,\mathrm w, \beta)=\prod_{i=1}^N \mathcal N(t_i|y(x_i , \mathrm w),\beta^{-1}) \tag 6
$$
后验概率
$$
\begin {aligned}
p(\mathrm w| \mathcal D) &\varpropto p(\mathrm{T}|\mathbf X,\mathrm w, \beta) \times p(\mathrm{w}|\alpha ) \\
\end {aligned} \tag 8
$$
如果套用上面的公式:
$$
\begin {aligned}
p(\mathrm{w}|\mathcal{D}) &= \mathcal{N}(\mathrm{w}|\mathbf{m}_{N},\mathbf{S}_{N}) \\
\mathrm{where}: & \mathbf{m}_{N}\quad =\beta\mathbf{S}_{N}\mathbf{X}^{\mathrm T}\mathbf{T} \\
& \mathbf{S}_{N}^{-1}=\alpha \mathbf{I}+\beta \mathbf{X}^{\mathrm{T}}\mathbf{X}
\end {aligned}
$$
MAP计算
将公式5、6带入公式8,取两边取负对数:
$$
\begin {aligned}
-\ln p(\mathrm w| \mathcal D) &\varpropto -\ln \{p(\mathrm{T}|\mathbf X,\mathrm w, \beta) \times p(\mathrm{w}|\alpha ) \} \\
& \varpropto \frac{\beta }{2}\sum _{n=1}^{N}\{y(x_{n},\mathrm{w})-t_{n}\}^{2}+\frac{\alpha }{2}\mathrm{w}^{\mathrm{T }}\mathrm{w} + \mathrm{const}
\end {aligned} \tag 8
$$
最大化后验概率 等价于 最小化后验概率的负对数 等价于 最小化下式:
$$
\frac{\beta }{2}\sum _{n=1}^{N}\{y(x_{n},\mathrm{w})-t_{n}\}^{2}+\frac{\alpha }{2}\mathrm{w}^{\mathrm{T }}\mathrm{w}
$$
可以发现,对于回归问题使用最大似然估计(ML)求解时,其损失函数的正则化系数为$\lambda =\alpha / \beta $时,等价于MAP求解方法。
note: $\beta$ 是样本数据的协方差的倒数(精度),与样本数据有关的;$\alpha$ 是超参。
逻辑回归MAP
先验概率
相对于上面$\mathrm{w}$的先验分布的一般化假设,在MAP中我们假设$\mathrm{w}$的先验分布是服从均值为$0$方差为${\alpha }^{-1}\mathbf{I}$的高斯分布, 即上文中的 $\mathbf{m}_0 = 0, \mathbf{S}_0 = {\alpha }^{-1}\mathbf{I}$:
$$
p(\mathrm{w}|\alpha )= \mathcal{N}(\mathrm{w}|0,{\alpha }^{-1}\mathbf{I})=(\frac{\alpha }{2\pi })^{(M +1)/2} \exp \{-\frac{\alpha }{2}\mathrm{w}^{\mathrm{T}}\mathrm{w}\} \tag 5
$$
其中:$\alpha$为精度,$M+1$为向量$\mathrm w$的维度。
似然函数
$$
p(\mathrm{T}|\mathbf X, \mathrm w)=\prod_{i=1}^N y(x_i, \mathrm w)^{t_i} \{1-y(x_i , \mathrm w)\}^{(1-t_i)} \tag 7
$$
后验概率
$$
\begin {aligned}
p(\mathrm w| \mathcal D) &\varpropto p(\mathrm{T}|\mathbf X, \mathrm w) \times p(\mathrm{w}|\alpha )\\
\end {aligned} \tag 9
$$
MAP计算
将公式5、7带入公式9,取两边取负对数:
$$
\begin {aligned}
-\ln p(\mathrm w| \mathcal D) &\varpropto -\ln \{p(\mathrm{T}|\mathbf X, \mathrm w) \times p(\mathrm{w}|\alpha ) \} \\
\end {aligned} \tag 9
$$
最大化后验概率 等价于 最小化后验概率的负对数,能够使后验概率的负对数取最小值的$\mathrm w$即为$\mathrm w$的最优解。
逻辑回归的似然函数没有正态分布的特点,不能利用《Pattern Recognition and Machine Learning》2.2.3 Bayes’ theorem for Gaussian variables的结论,但是可以使用牛顿法求解。
Laplace approximation
很多时候,在使用贝叶斯方法时,似然函数和先验分布不是共轭了,在这种情况下可使用拉普拉斯近似来求解参数的后验分布。
本节以逻辑回归问题为例拉普拉斯近似在该问题中的应用。
拉普拉斯就是使用一个正态分布来近似一个未知分布,在本节中,我们是用一个正态分布来近似参数$\mathbf{w}$的后验分布的。
假设参数$\mathrm{w}$的先验分布为正态分布,参数为$\mathbf{m}_{0}$ 和 $\mathbf{S}_{0}$,则其先验分布和似然函数如下:
$$
\begin {aligned}
& p(\mathrm{w})= \mathcal{N}(\mathrm{w}|\mathbf{m}_{0},\mathbf{S}_{0}) \
& p(\mathcal{D}| \mathrm{w})=p(\mathrm{T}|\mathbf X, \mathrm w)=\prod_{i=1}^N y(x_i, \mathrm w)^{t_i} \{1-y(x_i , \mathrm w)\}^{(1-t_i)} \\
\end {aligned}
$$
将上式带入后验分布公式$p(\mathrm{w}|\mathcal{D}) \varpropto f(\mathbf {w}) = p(\mathcal{D}|\mathrm{w})p(\mathrm{w}) $左边并对两边取对数为:
$$
\begin {aligned}
\ln p(\mathbf w|\mathcal{D}) &\varpropto \ln f(\mathbf{w})= -\frac{1}{2}(\mathbf w - \mathbf m_0)^{\mathrm T} \mathbf{S}_0^{-1}(\mathbf w - \mathbf m_0) \\
&+\sum_{n=1}^{N}\{t_n \ln y_n+(1-t_{n})\ln (1-y_{n})\}+\mathrm{const}
\end {aligned}
$$
其中:$y_n = y(x_n, \mathbf w)$。为了说明方便,增加$f(\mathbf {w}) = p(\mathcal{D}|\mathrm{w})p(\mathrm{w})$。
我们是用一个正态分布来近似参数$\mathbf{w}$的后验分布的,那么后验分布的均值应该是能够使后验分布最大的$\mathbf{w}$的值,即为$\mathbf{w}_{MAP}$。后验分布的方差即为$\ln f(\mathbf w)$在$\mathbf{w}_{MAP}$处二阶导数的倒数,即:
$$
\mathbf{S}_{N}=-\nabla \nabla \ln f(\mathbf{w})= \mathbf{S}_{0}^{-1}+\sum _{n=1}^{N}y_{n}(1-y_{n})x_nx_n^{\mathrm T}
$$
$\mathbf{w}$的后验分布即为:
$$
p(\mathrm{w}|\mathcal D)= \mathcal{N}(\mathbf{w}|\mathbf{m}_{MAP},\mathbf{S}_{N}) \
$$
预测分布
实际应用中我们更关注的是对新数据的预测值,即,对于新数据预测值的后验分布$p(t|x,\mathcal{D}, \mathbf{m}_0, \mathbf{S}_0, \beta)$,而不太关注模型参数的值到底是多少。
如上文所述,线性回归问题中我们假设预测值服从正态分布即:
$$
p(t|x,\mathrm w, \beta)=\mathcal N(t|y(x , \mathrm w),\beta^{-1})\tag 1
$$
对于参数$ \mathrm w$的先验分布和后验分布都为正态分布的情况,$ \mathrm w$的后验分布为:
$$
\begin {aligned}
& p(\mathrm{w}|\mathcal{D})= \mathcal{N}(\mathrm{w}|\mathbf{m}_{N},\mathbf{S}_{N}) \\
\end {aligned} \tag 3
$$
其中:
$$
\begin {aligned}
& \mathbf{m}_{N}= \mathbf{S}_{N}(\mathbf{S}_{0}^{-1}\mathbf{m}_{0}+\beta \mathrm{X}^{\mathrm{T}}\mathrm{T}) \\
& \mathbf{S}_{N}^{-1}= \mathbf{S}_{0}^{-1}+\beta \mathrm{X}^{\mathrm{T}}\mathrm{X} \\
\end {aligned}
$$
注意:上面的后验分布只是标记的简化,可以写成如下形式:
$$
\begin {aligned}
& p(\mathrm{w}|\mathcal{D}, \mathbf{m}_0, \mathbf{S}_0, \beta) = p(\mathrm{w}|\mathcal{D})= \mathcal{N}(\mathrm{w}|\mathbf{m}_{N},\mathbf{S}_{N}) \\
\end {aligned}
$$
对于新数据的观测值$x$,其预测值的(后验)分布为:下面的分解需要参考贝叶斯网的理论(概率图模型)分解。
$$
p(t|x,\mathcal{D}, \mathbf{m}_0, \mathbf{S}_0, \beta )=\int p(t|x, \mathrm{w},\beta )p(\mathrm{w}|\mathcal{D}, \mathbf{m}_0, \mathbf{S}_0, \beta )\mathrm{dw}
$$
直接将式1、3带入上式可解。
同时该后验分布也可以通过《Pattern Recognition and Machine Learning》2.2.3 Bayes’ theorem for Gaussian variables 中结论 2.115式直接得到。
贝叶斯方法的逻辑回归的预测分布还没看懂,看懂了再补充。
参考资料
Pattern Recognition and Machine Learning