首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

集成学习方法bagging,boosting,stacking

因为看到一些有名的公众号也会翻译一些国外的博客和新论文作为内容,本期我们也做一个这方面的尝试。译者是白银时代和黄金时代。

虽是翻译,但我们也做了整改以保持语意连贯和内容充实,结尾给出相关文献以便后续的学习。(图片来自于博客和网络)

集成学习通过组合多种模型来改善机器学习的结果,与单一的模型相比,这种方法允许产生更好的预测性能。这就是为什么在许多著名的机器学习竞赛中,集成学习方法总是被优先考虑。集成学习属于元算法,即结合数个“好而不同”的机器学习技术,形成一个预测模型,以此来降方差(bagging),减偏差(boosting),提升预测准确性(stacking)。

集成学习方法可以分成如下两个大类:

1.串行集成学习:基学习器串行产生(如Adaboost)

串行方法的基本动机是在训练当前学习器之前通过给予被先前学习器错误标记的样本更高的权值,让当前学习器在先前学习器的错误样本上有更好的表现。

2.并行集成学习:基学习器并行产生(如随机森林)

其基本动机是想利用基学习器的独立性,因为平均化可以大大减少错误。大多数集成学习方法使用单一的基学习算法,来产生同质基学习器,即相同类型的基学习器,产生同质的集成系统。也有一些方法使用异质的学习器,即不同类型的学习器,来产生异质的集成系统。

总而言之,集成的学习器要想比它的任一个体学习器有更高的准确率,基学习器必须“好而不同”。

Bagging

Bagging是bootstrap aggregation的简写。一种减少估计方差的方法是平均多个估计,我们可以随机抽取(有放回)数据集里的样本,训练一个学习器,重复抽取M次,训练得到M个baselearner,这种有放回的抽样方法叫做bootstrapsampling,对于分类任务用投票的方法集成,对于回归任务用取平均的方法。

基于Iris数据集的分类任务,我们可以用bagging法来进行学习。我们选择2种基学习器:决策树和kNN分类器。图1显示了基学习器学习的决策边界,以及他们的bagging集成,使用的数据集是Iris。

决策树显示了轴的平行边界,当k=1时,最近邻贴近数据点。这个bagging集成使用10个基学习器,当对0.8的训练样本进行采样之后,决策树bagging集成达到的准确率高于kNNbagging集成。kNN因为对样本扰动不太敏感,被称为stablelearners, 而根据相关证明,unstable的learner对于bagging的效果更佳[1]。一类常用的集成算法是随机化的决策森林。在随机森林中,集合中的每棵树都是由从训练集中提取的样本(一个自助采样)构建的。此外,不再使用所有特征,而使用随机的子特征集,进一步随机化决策树,其结果是,森林的偏差略有增加,但由于树之间的相关性地低,平均之后,方差会降低,使整个模型更好。

Boosting

Boosting是指能够将弱学习器转化为强学习器的一类算法。Boosting的主要原则是用一系列仅比随机猜测稍微好一些的弱学习器模型(如小决策树)来拟合加权版本的数据。被前一个学习器分类错误的样本会被给予更高的权重。然后通过加权多数表决(分类任务)或加权求和和(回归任务)来产生最终预测。以下的算法描述的是被最广泛使用的boosting方法,Adaboosting算法,即adaptiveboosting,这个算法帮助算法的发明人获得了哥德尔奖!

我们看到,第一个基分类器Y1(x)使用所有相等的加权系数来训练。在此之后的算法训练轮数中,对于被正确分类的数据点权重系数减少,对被错误分类的数据点权重系数增加。在最后集成时,给准确的分类器较大的权重,不准确的分类器较小的权重。ε代表每个基分类器的加权错误率,有证明宣称,只要每个基分类器的表现都好于random guess,这些基分类器的组合将极大的减少误差[2]。

Adaboost算法如图所示。每个基学习器由具有深度为1的决策树(即树桩决策树)组成,从而基于特征阈值对数据进行分类,该特征阈值用平行于坐标轴的线性决策面将空间划分为两个区域。该图还显示了测试精度如何随着集成规模而提升的,以及训练和测试数据的学习曲线。

Stacking

Stacking [3] 是指一种通过元分类器或元回归器(元:meta 即是组合的意思)来组合多个分类或回归模型的集成学习方法,简单来说,就是把两种学习器叠在一起。基础层模型在完整的训练数据集上训练,然后其输出特征再训练新的数据。基础层通常包括不同的学习算法,因此stacking ensemble往往是异构的。下面是stacking的总结。

Conclusion

除了在本文中研究的方法之外,在deeplearning中使用集成方法,来训练多样和准确的分类器是很常见的。多样性可以通过改变体系结构、超参数设置和训练技术来实现。 集成方法在具有挑战性的数据集上有过很多记录,如在kaggle数据竞赛中,优胜者通常会使用。

[1] Breiman L. Baggingpredictors[J]. Machine learning, 1996, 24(2): 123-140.

[2] Schapire R E, Freund Y.Boosting: Foundations and algorithms[M]. MIT press, 2012.

[3] Breiman L. Stackedregressions[J]. Machine learning, 1996, 24(1): 49-64.

想关注更多有趣的机器学习/计算物理/医疗影像的科普/前沿研究,请关注我们的公众号

这是一群致力于科研传播的faculty & PhD记录分享点滴思考的平台,这里有我们在各自领域(机器学习,医疗影像,材料科学,凝聚态物理)涉猎研究的点滴感悟,有我们在国内,海外求学工作奋斗的酸甜苦辣,亦有偶尔的风月和我们的诗与远方

Stacked Regressions S

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180531G1ZE2800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券