【机器学习】贝叶斯线性回归(最大后验估计+高斯先验)
引言
如果要将极大似然估计应用到线性回归模型中,模型的复杂度会被两个因素所控制:基函数的数目(的维数)和样本的数目。尽管为对数极大似然估计加上一个正则项(或者是参数的先验分布),在一定程度上可以限制模型的复杂度,防止过拟合,但基函数的选择对模型的性能仍然起着决定性的作用。
上面说了那么大一段,就是想说明一个问题:由于极大似然估计总是会使得模型过于的复杂以至于产生过拟合的现象,所以单纯的使用极大似然估计并不是特别的有效。
当然,交叉验证是一种有效的限制模型复杂度,防止过拟合的方法,但是交叉验证需要将数据分为训练集合测试集,对数据样本的浪费也是非常的严重的。
贝叶斯回归
基于上面的讨论,这里就可以引出本文的核心内容:贝叶斯线性回归。
贝叶斯线性回归不仅可以解决极大似然估计中存在的过拟合的问题。
它对数据样本的利用率是100%,仅仅使用训练样本就可以有效而准确的确定模型的复杂度。
在极大似然估计线性回归中我们把参数看成是一个未知的固定值,而贝叶斯学派则把看成是一个随机变量。
线性回归模型是一组输入变量的基函数的线性组合,在数学上其形式如下:
这里就是前面提到的基函数,总共的基函数的数目为个,如果定义的话,那个上面的式子就可以简单的表示为:
以下是对应的目标输出,即样本为,并且假设样本集合满足正态分布,参数也满足正态分布,和分别对应于与样本集合的高斯分布方差。
则参数满足以下分布:
线性模型的概率表示如下:
参数有点多。表示样本的输出关于输入特征、模型参数以及样本分布方差的概率密度函数。其服从于正态分布,这个正态分布在线性回归的概率解释中出现过,表示均值为,方差为的正态分布(),可以通过残差的独立正态分布性质推导得到。
一般来说,我们称为共轭先验(conjugate prior)。
在贝叶斯统计中,如果后验分布与先验分布属于同类,则先验分布与后验分布被称为共轭分布,而先验分布被称为似然函数的共轭先验。
共轭先验的好处主要在于代数上的方便性,可以直接给出后验分布的封闭形式,否则的话只能数值计算。共轭先验也有助于获得关于似然函数如何更新先验分布的直观印象。
那么,线性模型的后验概率函数:下面笔误。
且注意,到这一步之后与最大似然估计其实一模一样了,最大后验估计与最大似然估计的唯一区别就在于是否加上先验也就是这里的,乘上之后不必再纠结在中为随机变量,此时的完全可以理解为MLE中的待估参数,在先验给定下是已经确定了的,只是我们还不知道。
对数后验概率函数为:
最后我们可以化为:
这不就是加了L2正则的loss function吗,于是我们就利用贝叶斯估计准确来讲是最大后验估计加上高斯先验推导出了带有L2正则的线性回归!
这里可以看出,先验概率对应的就是正则项,其正则参数为。
可以假设,复杂的模型有较小的先验概率,而相对简单的模型有较大的先验概率。
贝叶斯线性回归的学习过程
根据前面关于贝叶斯估计的增量学习可以很容易得到下面这个式子,这个就是贝叶斯学习过程:在前一个训练集合的后验概率上,乘以新的测试样本点的似然估计,得到新的集合的后验概率,这样,相当于成为了的先验概率分布:
有了上面的基础知识,这里就着重的讲下面这幅图,这个图是从RMPL第155页截取下来的,这幅图清晰的描述了贝叶斯线性回归的学习过程,下面结合这幅图,详细的说明一下贝叶斯学习过程。
首先,说一下这里的模型:
第一行:
第一行是初始状态,此时只有关于的先验信息,即:。先看中间这幅图,这幅图是关于的先验分布,由于我们假设初始为高斯分布,故其图形是以为中心的圆组成的。由于此时还没有样本点进入,所以没有关于样本的似然估计,故第一行中左边likelihood没有图。第一行右边data space的那幅图显示的是从第二幅图prior/posterior中随机抽取一些点,并以为参数,画出来的直线,此时这些直线是随机的。
第二行:
此时有了第一个样本点,那么根据就可以得到第二行中,关于的似然估计,由于,似然估计的结果其实是这个式子的对偶式(单个样本hypothesis就是结果,完全拟合),即。从第二行的最右边data space中的图中可以估计出,第一个样本点的坐标大概为:,所以其第一幅图中,似然估计的中心线的方程为:
近似为左边那幅图的画法。由于第二行的先验分布是第一行的后验分布,也就是第一行的中间那幅图。则,第二行的后验分布的求法就是:将第二行的第左边那幅图和第一行的中间那幅图相乘,就可以得到第二行中间那幅图。第二行最右边那幅图就是从第二行中间那幅图中随机抽取一些点,并以为参数,画出来的直线。
第三行之后,就可以一次类推了。
上面就是贝叶斯学习过程的完整描述。
贝叶斯回归的优缺点
优点:
贝叶斯回归对数据有自适应能力,可以重复的利用实验数据,并防止过拟合
贝叶斯回归可以在估计过程中引入正则项
先验分布:如果具备领域知识或者对于模型参数的猜测,我们可以在模型中将它们包含进来,而不是像在线性回归的频率方法那样:假设所有关于参数的所需信息都来自于数据。如果事先没有没有任何的预估,我们可以为参数使用无信息先验,比如一个正态分布。(例如高斯先验引入了L2正则化)
后验分布:使用贝叶斯线性回归的结果是一个基于训练数据和先验概率的模型参数的分布。这使得我们能够量化对模型的不确定性:如果我们拥有较少的数据点,后验分布将更加分散。
缺点:
贝叶斯回归的学习过程开销太大
参考文章:
贝叶斯回归
线性回归概率解释(Linear Regression)
原文链接:https://blog.csdn.net/qq_32742009/article/details/81485887