1.1.10.贝叶斯回归
贝叶斯回归技术可以用在估计过程中包含正则参数:正则化参数并不是严格意义上的定义,而是根据当前的数据进行调整。
这些可以通过模型的超参数中引入无信息的先验完成。岭回归中使用的正规化等于在
精度高于参数
情况下高斯先验下找到最大后验估计。不需要手动指定lambda的值,可以将其看做是数据中估计的随机变量。
为了等到完整的全概率模型,假设输出的
是服从高斯分布的:
alpha再一次的被视为一个随机变量,从数据中进行估计。
贝叶斯回归的优点:
*适用于当前的数据
*它可以被用来估计过程中包含的正则化参数
贝叶斯回归的缺点:
*模型的推测会消耗时间
参考
- A good introduction to Bayesian methods is given in C. Bishop: Pattern Recognition and Machine learning
- Original Algorithm is detailed in the book Bayesian learning for neural networks by Radford M. Nea
1.1.10.1贝叶斯的岭回归
如上所述,贝叶斯的岭回归估计概率模型,参数的先验值是球面高斯给出的:
先验和
是伽马分布,它高于高斯发精度。
最终的模型被叫成贝叶斯岭回归,它和岭回归很像。它的参数和
通过模型拟合计算出来,剩下的超参数是伽马先验的参数
。这些通常被选择为非信息性的。通过最大似然估计得到参数。
通过默认的。
贝叶斯岭回归用于回归:
from sklearn import linear_model
X=[[0,0],[1,1],[2,2],[3,3]]
Y=[0,1,2,3]
reg=linear_model.BayesianRidge()
print(reg.fit(X,Y))#BayesianRidge(alpha_1=1e-06, alpha_2=1e-06, compute_score=False, copy_X=True,fit_intercept=True, lambda_1=1e-06, lambda_2=1e-06, n_iter=300,normalize=False, tol=0.001, verbose=False)
拟合之后,该模型可以用来预测新值:
print(reg.predict([[1,0]]))#[0.50000013]
这里的权重的值是:
print(reg.coef_)#[0.49999993 0.49999993]
由于贝叶斯框架,发现的权重与普通的最小二乘法找到的权重稍有不用,然而,贝叶斯岭回归对于异常值问题更加的有效。
例子
贝叶斯回归模型计算合成数据集上的贝叶斯岭回归
有关回归的信息,请阅读贝叶斯岭回归
与最小二乘法相对,系数权重向零移动,从而是它们更加的稳定。
由于权重是高斯先验,估计权重的直方图也是高斯的。
通过迭代地最大化观测的对数似然来完成模型的估计。
我们通常画出预测使用多项特征拓展进行一维回归的贝叶斯岭回归的预测和不稳定性。请注意,右侧会出现不确定性。这时因为这些测试样本超出了训练样本的范围。(上面的标题就是代码的链接)
参考
更多的细节可以在MacKay的文章中找到
1.1.1.10.2自动相关性确定-ARD
AED回归与贝叶斯岭回归非常相似,但是会导致更稀疏的权重,ARD回归提出了另一个不同的结论,通过放弃高斯分布的假设。
相反,假设分布是一个轴平行的椭圆高斯分布。
这意味着每一个权重都是从高斯分布中绘制的,以零为中心并具有精度:
以及。
与贝叶斯零回归相比,每一个坐标都有自己的标准差
,先验概率由超参数λ1和λ2给出的相同的伽马分布λi。
ARD在文献中也被称为贝叶斯学习和相关向量。
例子
自动相关性确定回归(和之前的岭回归几乎是一样的,只是在建立模型的时候选择的是ARD)
用贝叶斯零回归拟合回归模型
有关回归的信息,请阅读贝叶斯岭回归
与最小二乘比奥,系数权重向零移动,从而使它们更加的稳定。
估计权重直方图非常的尖锐,暗示 权重先验的稀疏性。
通过迭代地最大似然对数来完成模型的估计
我们还是绘制使用多项式特征拓展进行一维回归的ARD预测和不稳定性。请注意,右侧会出现不确定性,这时因为这些测试样本超出了训练样本的范围。(标题就是代码的链接)
参考
[1] | Christopher M. Bishop: Pattern Recognition and Machine Learning, Chapter 7.2.1 |
[2] | David Wipf and Srikantan Nagarajan: A new view of automatic relevance determination |
[3] | Michael E. Tipping: Sparse Bayesian Learning and the Relevance Vector Machine |
[4] | Tristan Fletcher: Relevance Vector Machines explained |