集成学习—Boosting、Bagging

目录

集成学习

1、Boosting

1.1、AdaBoost

1.2、GBDT

1.3、XGBoost

2、Bagging 

2.1、随机森林

3、Boosting与Bagging对比


 

集成学习

集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifier system).
集成学习的一般结构是:先产生一组“个体学习器”(individual learner),再用某种策略将它们结合起来。

个体学习器通常是用一个现有的学习算法从训练数据产生,例如C4.5决策树算法、BP神经网络算法等。此时集成中只包含同种类型的个体学习器,例如“决策树集成”中的个体学习器全是决策树,“神经网络集成”中就全是神经网络,这样的集成是“同质”(homogeneous)的,同质集成中的个体学习器也称为“基学习器”(base learner),相应的学习算法称为“基学习算法”(base learning algorithm)。有同质就有异质(heterogeneous),若集成包含不同类型的个体学习器,例如同时包含决策树和神经网络,那么这时个体学习器一般不称为基学习器,而称作“组件学习器”(component leaner)或直接称为个体学习器。

而根据个体学习器生成方式的不同,目前集成学习方法大致可分为两大类,即个体学习器间存在强依赖关系、必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系、可同时生成的并行化方法;前者的代表是Boosting,后者的代表是和Bagging和“随机森林”(Random Forest)。

1、Boosting

Boosting, 也称为增强学习或提升法,是一种重要的集成学习技术, 能够将预测精度仅比随机猜度略高的弱学习器增强为预测精度高的强学习器,

Boosting是一族可将弱学习器提升为强学习器的算法。这族算法的工作机制类似:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多的关注,(通过改变训练样本的概率分布,提高前一轮弱分类器的分类错误的样本权重,降低正确分类的样本权重)然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到预先指定的值T,最终将这T个基学习器进行加权结合。在产生单个的基分类器时可用相同的分类算法,也可用不同的分类算法,这些算法一般是不稳定的弱分类算法,如神经网络(BP) ,决策树(C4.5)等。

Boosting算法要求基学习器对特定的数据分布进行学习,这一点是通过“重赋权法”(re-weighting)实现的,即在训练过程的每一轮中,根据样本分布为每个训练样本重新赋予一个权重,对无法接受代全样本的基学习算法,则可通过“重采样法”(re-sampling)来处理,即在每一轮学习中,根据样本分布对训练集重新进行采样,再用重采样而得到的样本集对基学习器进行训练。一般而言,这两种做法没有显著的优劣差别。不过由于Boosting算法在训练的每一轮都会检查当前生成的基学习器的是否满足基本条件,若不符合则抛弃当前基学习器,并停止学习过程。在此种情况下,初始设置的学习轮数T也许还远未达到,这会导致最后的集成中只包含很少的基学习器而性能不佳。而若采用“重采样法”,则可以获得“重启动”机会以避免训练过程的过早停止,即在抛弃不满足条件的当前基学习器之后,再根据当前分布重新对训练样本进行重采样,再基于新的采样结果重新训练出基学习器,从而使得学习过程可以持续到预设的T轮完成。

而从偏差-方差分解的角度看,Boosting主要关注降低偏差(避免欠拟合),仔细想想便可理解,因为boosting算法每个分类器都是弱分类器,而弱分类器的特性就是high-bias & low variance(高偏差-低方差),其与生俱来的优点就是泛化性能好。因此,将多个算法组合起来之后,可以达到降偏差的效果,进而得到一个偏差小、方差小的泛化能力好的模型。因此Boosting能基于泛化性能相当弱的学习器构建出很强的集成。

Boosting也是集合了多个决策树,但是Boosting的每棵树是顺序生成的,每一棵树都依赖于前一颗树。顺序运行会导致运行速度慢

1.1、AdaBoost

AdaBoost算法是模型为加法模型、损失函数为指数函数、学习算法为前向分步算法时的二类分类学习方法。

AdaBoost是adaptive boosting( 自适应增强 )的缩写,其运行过程如下:

  训练数据中的每个样本,并赋予其一个权重,这些权重构成了向量D,一开始,这些权重都初始化成相等值。首先在训练数据上训练出一个若分类器并计算该分类器的错误率,然后在同一数据集上再次训练弱分类器。在分类器的第二次训练中,将会重新调整每个样本的权重,其中第一次分对的样本的权重将会降低,而第一次分错的样本的权重将会提高。为了从所有弱分类器中得到最终的分类结果,AdaBoost为每个分类器都分配了一个权重值alpha,这些alpha值是基于每个弱分类器的错误率进行计算的。 计算出alpha值之后,可以对权重向量D进行更新,以使得那些正确分类的样本的权重降低而错分样本的权重升高。AdaB

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值