秀站网,秀执着,秀梦想,一个爱秀的地方!

自媒体资讯网

热门关键词:  as  i hone  阿萨德  网站
贝叶斯线性回归方法的解释和优点
来源:
作者:
时间:2018-07-12
浏览热度:
#评论#
[ 导读 ] 本文对比了频率线性回归和贝叶斯线性回归两种方法,并对后者进行了详细的介绍,分析了贝叶斯线性回归的优点和直观特征。
本文对比了频率线性回归和贝叶斯线性回归两种方法,并对后者进行了详细的介绍,分析了贝叶斯线性回归的优点和直观特征。

我认为贝叶斯学派和频率学派之间的纷争是「可远观而不可亵玩」的学术争论之一。与其热衷于站队,我认为同时学习这两种统计推断方法并且将它们应用到恰当的场景之下会更加富有成效。出于这种考虑,最近我努力学习和应用贝叶斯推断方法,补充学校课程所学的频率统计方法。

贝叶斯线性模型是我最早对应用贝叶斯推断的关注点之一。在我们学习的过程中,最重要的部分也许就是将一个概念介绍给别人。本文是我介绍贝叶斯线性回归的一次尝试。我会对线性回归的频率派方法做一个简要的回顾,介绍贝叶斯解释(Bayesian interpretation),并查看将其应用于简单数据集的结果。

代码地址:https://github.com/WillKoehrsen/Data-Analysis/blob/master/bayesian_lr/Bayesian%20Linear%20Regression%20Demonstration.ipynbRecap of Frequentist Linear Regression

回顾频率派线性回归

线性回归的频率派视角可能是你所熟悉的、从学校学到的版本:模型假设反应变量(y,也称因变量)是一组权重和预测变量(x,也称自变量)乘积的线性组合。完整的公式还包含一个代表随机采样噪声的误差项。例如,如果我们有两个预测变量,公式可以写成:

 

贝叶斯线性回归方法的解释和优点

 

其中,y 是反应变量(也被称为因变量),β 为权重(也被称为模型参数),x 为预测变量,ε 为代表随机采样噪声的误差项或者没有被包含在模型中的变量的影响。

线性回归是一个易于解释的简单模型: β_0 是截距项,其它的权重(β's)表示预测变量的增加对反应变量的影响。例如:如果 β_1 为 1.2,那么 x_1 每增加一个单位,反应变量就会增加 1.2。

我们可以通过矩阵方程将线性模型泛化到有任意数量预测变量的情况。将一个值为 1 的常量项添加到预测变量矩阵中代表截距,这样我们就可以将矩阵公式写成:

 

贝叶斯线性回归方法的解释和优点

 

从训练数据中学习线性模型的目标是找出系数 β,该系数能够最好地解释数据。在频率派线性回归中,对数据最好的解释指的是系数 β 能够最小化残差平方和(RSS)。RSS 是已知的真实值(y)和预测模型的输出(,读作「y—hat」,表示一个估计值)之间差的平方的总和。残差平方和是关于模型参数的函数:

 

贝叶斯线性回归方法的解释和优点

 

这个求和涵盖了训练集中的 N 个数据点。我们在此并不深究细节(参考资料:http://www.stat.cmu.edu/~cshalizi/mreg/15/lectures/13/lecture-13.pdf),不过该方程具备模型参数β的封闭解,能够最小化误差。这就是对参数 β 的最大似然估计,因为它是在给定输入 X 和输出 y 的条件下最有可能的 β 值。矩阵形式表达的封闭解如下:

 

贝叶斯线性回归方法的解释和优点

 

(同样地,我们必须给 β 加一个「帽子」,因为它代表对模型参数的估计值。)别被这里的矩阵数学吓倒了!得益于像 Python 中的 Scikit-learn 这样的库,我们通常不需要对其进行手动的计算(尽管自己编写一个线性回归的代码是很好的做法)。这种通过最小化 RSS 来拟合模型参数的方法被称为普通最小二乘法(OLS)。

我们从频率线性回归中得到的是仅仅基于训练数据的对模型参数的单次估计。我们的模型是完全通过数据训练出来的:这样看来,我们所需要的所有关于模型的信息都被编码在了训练数据中。

当得到了 β hat 后,我们可以通过使用模型的等式来估计任意新数据点的输出值:

 

贝叶斯线性回归方法的解释和优点

 

举一个最小二乘法的例子,我们可以对真实世界中的数据进行线性回归,数据中包含对 15,000 次运动的持续时间和燃烧的卡路里的观测值。

 

贝叶斯线性回归方法的解释和优点

 

通过最小二乘法,我们得到了对模型参数的单次估计。在这个例子中,参数是直线的截距和斜率。我们可以写出通过 OLS 生成的方程:

calories = -21.83 + 7.17 * duration

从斜率上,我们可以看到每多锻炼一分钟就会额外消耗 7.17 卡路里的热量。这个例子中的截距貌似没有什么作用,因为它告诉我们如果运动 0 分钟,我们会消耗 -21.86 卡路里!这只是一个 OLS 拟合过程的案例,在不考虑它的物理意义是否说得通的情况下,它找到了在训练数据集上最小化误差的直线。

如果有一个新的数据点,假设运动持续时间为 15.5 分钟,我们可以将它带入到方程中得到消耗的卡路里的点估计:

calories = -21.83 + 7.17 * 15.5 = 89.2

普通最小二乘法给了我们对输出的单次点估计,我们可以将其解释为给定数据时可能性最大的估计。然而,如果有一个很小的数据集,我们可能希望将估计表示为一个可能值的分布。这就是贝叶斯估计起作用的地方。

贝叶斯线性回归

从贝叶斯学派的观点来看,我们使用概率分布而非点估计来构建线性回归。反应变量 y 不是被估计的单个值,而是假设从一个正态分布中提取而来。贝叶斯线性回归模型如下:

贝叶斯线性回归方法的解释和优点

 

输出 y 是从一个由均值和方差两种特征刻画的正态(高斯)分布生成的。线性回归的均值是权重矩阵的转置和预测变量矩阵之积。方差是标准差 σ 的平方(乘以单位矩阵,因为这是模型的多维表示)。

贝叶斯线性回归的目的不是找到模型参数的单一「最佳」值,而是确定模型参数的后验分布。不仅响应变量是从概率分布中生成的,而且假设模型参数也来自于概率分布。模型参数的后验分布是以训练的输入和输出作为条件的。

 

贝叶斯线性回归方法的解释和优点

 

相关文档:

在这个连开源标注数据集都没有的..

从图像处理到语音识别,25款数据..

用数据做酷的事!手把手教你搭建..