【机器学习】贝叶斯线性回归(最大后验估计+高斯先验)

24 篇文章 60 订阅
6 篇文章 2 订阅

引言

如果要将极大似然估计应用到线性回归模型中,模型的复杂度会被两个因素所控制:基函数的数目(\theta的维数)样本的数目。尽管为对数极大似然估计加上一个正则项(或者是参数的先验分布),在一定程度上可以限制模型的复杂度,防止过拟合,但基函数的选择对模型的性能仍然起着决定性的作用。

上面说了那么大一段,就是想说明一个问题:由于极大似然估计总是会使得模型过于的复杂以至于产生过拟合的现象,所以单纯的使用极大似然估计并不是特别的有效。

当然,交叉验证是一种有效的限制模型复杂度,防止过拟合的方法,但是交叉验证需要将数据分为训练集合测试集,对数据样本的浪费也是非常的严重的。

贝叶斯回归

基于上面的讨论,这里就可以引出本文的核心内容:贝叶斯线性回归

  1. 贝叶斯线性回归不仅可以解决极大似然估计中存在的过拟合的问题。
  2. 它对数据样本的利用率是100%,仅仅使用训练样本就可以有效而准确的确定模型的复杂度。

在极大似然估计线性回归中我们把参数w看成是一个未知的固定值,而贝叶斯学派则把w看成是一个随机变量。 

线性回归模型是一组输入变量x的基函数的线性组合,在数学上其形式如下: 

这里\phi_{j}(x)就是前面提到的基函数,总共的基函数的数目为M个,如果定义\phi_{0}(x)=1的话,那个上面的式子就可以简单的表示为: 

以下tx对应的目标输出,即样本为(x,t),并且假设样本集合满足正态分布,参数w也满足正态分布,\alpha^{-1}\beta^{-1}分别对应于w与样本集合的高斯分布方差。

则参数\ww满足以下分布:

线性模型的概率表示如下:

参数有点多。p(t|x,w,\beta)表示样本(x,t)的输出t关于输入特征x、模型参数w以及样本分布方差\beta的概率密度函数。其服从于N(t|y(x,w),\beta^{-1}I)正态分布,这个正态分布在线性回归的概率解释中出现过,表示均值为y(x,w),方差为\beta^{-1}I的正态分布(I表示单位矩阵),可以通过残差的独立正态分布性质推导得到。

一般来说,我们称p(w)为共轭先验(conjugate prior)。

贝叶斯统计中,如果后验分布先验分布属于同类,则先验分布与后验分布被称为共轭分布,而先验分布被称为似然函数的共轭先验

共轭先验的好处主要在于代数上的方便性,可以直接给出后验分布的封闭形式,否则的话只能数值计算。共轭先验也有助于获得关于似然函数如何更新先验分布的直观印象。

那么,线性模型的后验概率函数:L(\theta)=L(w)下面笔误。

且注意,到这一步之后与最大似然估计其实一模一样了,最大后验估计与最大似然估计的唯一区别就在于是否加上先验也就是这里的p(w),乘上p(w)之后不必再纠结在p(t_i|x_i,w,\beta^{-1}I)w为随机变量,此时的w完全可以理解为MLE中的待估参数,在先验p(w)给定下是已经确定了的,只是我们还不知道。

对数后验概率函数为:

最后我们可以化为:

这不就是加了L2正则的loss function吗,于是我们就利用贝叶斯估计准确来讲是最大后验估计加上高斯先验推导出了带有L2正则的线性回归!

这里可以看出,先验概率对应的就是正则项,其正则参数为\lambda=\alpha/\beta

可以假设,复杂的模型有较小的先验概率,而相对简单的模型有较大的先验概率。

 

贝叶斯线性回归的学习过程

根据前面关于贝叶斯估计的增量学习可以很容易得到下面这个式子,这个就是贝叶斯学习过程:在前一个训练集合D^{n-1}的后验概率p(\theta |D^{n-1})上,乘以新的测试样本点x_n的似然估计,得到新的集合D^n的后验概率p(\theta|D^n),这样,相当于p(\theta |D^{n-1})成为了p(\theta|D^n)的先验概率分布:

有了上面的基础知识,这里就着重的讲下面这幅图,这个图是从RMPL第155页截取下来的,这幅图清晰的描述了贝叶斯线性回归的学习过程,下面结合这幅图,详细的说明一下贝叶斯学习过程。

image_1almvfrg71b51132bg166ndsbs9.png-442.7kB

首先,说一下这里的模型:

第一行: 
第一行是初始状态,此时只有关于w的先验信息,即:p(\theta|D^0)=p(\theta)=N(w|0,\alpha^{-1}I)。先看中间这幅图,这幅图是关于w的先验分布,由于我们假设w初始为高斯分布N(w|0,\alpha^{-1}I),故其图形是以(0,0)为中心的圆组成的。由于此时还没有样本点进入,所以没有关于样本的似然估计,故第一行中左边likelihood没有图。第一行右边data space的那幅图显示的是从第二幅图prior/posterior中随机抽取一些点(w_0,w_1),并以(w_0,w_1)为参数,画出来的直线,此时这些直线是随机的。

第二行: 
此时有了第一个样本点x_1,那么根据x_1就可以得到第二行中,关于x_1的似然估计,由于y=w_0+w_1x,似然估计的结果其实是这个式子的对偶式(单个样本hypothesis就是结果,完全拟合),即w_1=\frac{1}{x}y-\frac{1}{x}w_0。从第二行的最右边data space中的图中可以估计出,第一个样本点的坐标大概为:(0.9,0.1),所以其第一幅图中,似然估计的中心线的方程为:

近似为左边那幅图的画法。由于第二行的先验分布是第一行的后验分布,也就是第一行的中间那幅图。则,第二行的后验分布的求法就是:将第二行的第左边那幅图和第一行的中间那幅图相乘,就可以得到第二行中间那幅图。第二行最右边那幅图就是从第二行中间那幅图中随机抽取一些点(w_0,w_1),并以(w_0,w_1)为参数,画出来的直线。

第三行之后,就可以一次类推了。

上面就是贝叶斯学习过程的完整描述。

 

贝叶斯回归的优缺点

优点: 

  1. 贝叶斯回归对数据有自适应能力,可以重复的利用实验数据,并防止过拟合 
  2. 贝叶斯回归可以在估计过程中引入正则项 
  3. 先验分布:如果具备领域知识或者对于模型参数的猜测,我们可以在模型中将它们包含进来,而不是像在线性回归的频率方法那样:假设所有关于参数的所需信息都来自于数据。如果事先没有没有任何的预估,我们可以为参数使用无信息先验,比如一个正态分布。(例如高斯先验引入了L2正则化)
  4. 后验分布:使用贝叶斯线性回归的结果是一个基于训练数据和先验概率的模型参数的分布。这使得我们能够量化对模型的不确定性:如果我们拥有较少的数据点,后验分布将更加分散。

缺点: 

  1. 贝叶斯回归的学习过程开销太大

 

参考文章:

贝叶斯回归

线性回归概率解释(Linear Regression)

  • 22
    点赞
  • 158
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值