集成学习(ensemble learning)


一 引言

集成学习(ensemble learning),它通过将多个学习器集成在一起来达到学习的目的。主要是将有限的模型相互组合,其名称有时也会有不同的叫法,有时也会被称为多分类器系统(multi-classifier system)、委员会学习(committee learning)。【1】

集成学习利用一些方法改变原始训练样本的分布,构建多个不同的学习者器,然后将这些学习器组合起来完成学习任务,集成学习可获得比单一学习器显著优越的泛化性能,对 “弱学习器” (weak learner) 尤为明显。

在这里插入图片描述

要获得好的集成,个体学习器要有一定的“准确性”,并且要有“多样性”(diversity),即学习器间具有差异。这些学习器的不同的地方可以是:

  • 不同的学习算法
  • 具有不同特征的数据集
  • 具有不同子集的数据集

根据是否使用不同的学习算法,集成学习可以分为同质集成与异质集成【2】:

  • 同质集成:集成中只包含同种类型的个体学习器,例如“决策树集成”中全是决策树,“神经网络集成”中全是神经网络,称集成是“同质”的(homogeneous)。同质集成中的个体学习器亦称 “基学习器”(base learner) ,相应的学习算法称为 “基学习算法”(base learning algorithm)。
  • 异质集成:集成中的个体学习器由不同的学习算法生成,例如同时包含决策树和神经网络,这样的集成是“异质”的(heterogenous)。异质集成中个体学习器常称为 “组件学习器”(component learner) 或直接称为个体学习器。

在同质学习中,可以根据不同的改变训练集的方法又可以分为:

  • Bagging:Resample training data。

    或个体学习器间不存在强依赖关系,可以同时生成的并行化方法。

  • Boosting:Reweight training data

    或个体学习器间存在强依赖关系,必须串行生成的序列化方法。

二 Bagging

从训练集从进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果。【3】算法描述如下:

在这里插入图片描述

  1. 在训练数据集中随机采样,所谓的随机采样(bootsrap)就是从我们的训练集里面采集固定个数的样本,但是每采集一个样本后,都将样本放回。也就是说,之前采集到的样本在放回后有可能继续被采集到。(初始训练集中约有63.2%的样本会出现在采样集中【1】)

    对于我们的Bagging算法,一般会随机采集和训练集样本数m一样个数的样本。这样得到的采样集和训练集样本的个数相同,但是样本内容不同。

  2. 训练一个基模型,对不同的子集进行训练。得到T个基模型。

  3. T个基模型对测试数据进行预测,得到测试结果。

  4. 将T中结果综合起来。分类任务通常使用投票的方式得出结果,回归任务用平均的方式得到结果。

整个过程如下图所示:

在这里插入图片描述

Bagging适用于不稳定的学习算法。Bagging会略微降低稳定的学习算法的性能。这里的稳定与不稳定的含义是:训练集的小变化可能导致预测结果有很大变化。

  • 不稳定学习算法:神经网络、决策树、回归树、线性回归中的子集选择
  • 稳定学习算法:K近邻

三 Boosting

Boosting是一类可以将弱学习器提升为强学习器的算法,这类算法的工作原理类似:

  1. 先从初始训练集训练出一个基学习器
  2. 根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注
  3. 基于调整后的样本分布来训练下一个学习器
  4. 如此重复进行,直至基学习器数目达到事先指定的值T
  5. 最终将这T个基学习器进行加权结合

在这里插入图片描述

Boosting中最流行的算法是AdaBoost(Adaptive Boosting)——自适应增强算法。其工作原理如下组图:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

具体的算法步骤【1】:

在这里插入图片描述

参考

【1】机器学习——周志华

【2】(13条消息) 机器学习入门学习笔记(七)集成学习_chengdong996的博客-CSDN博客

【3】集成学习–Bagging、Boosting、Stacking、Blending - 知乎 (zhihu.com)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sunburst7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值