前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ensemble Learning

Ensemble Learning

作者头像
老肥码码码
发布2020-01-17 15:06:22
4620
发布2020-01-17 15:06:22
举报

集成学习(ensemble [ɒnˈsɒmbl] learning)通过构建并结合多个学习器来完成任务,有时也被称为多分类器系统(multi-classifier system)。

根据基学习器的生成方式,目前的集成学习大体可以分成以下两类:

序列集成方法,其中参与训练的基学习器按照顺序生成。序列方法的原理是利用基础学习器之间的强依赖关系,通过对之前训练中错误标记的样本赋值较高的权重,来提高整体的预测效果。

并行集成方法,其中参与训练的基学习器并行生成。并行方法的原理是利用基学习器之间的独立性来显著降低错误率。

前者的代表是Boosting,而后者的代表是Bagging,我们一个一个来聊。

Bagging

Bagging这个名字是由Bootstrap Aggregating缩写而来,包含自助和合计两个单词。

Bootstrap是指它利用了自助采样法(Bootstrap Sampling),这是一种有放回的抽样方法。【给定包含m个样本的数据集,我们先随机抽取出一个样本放入采样集中,再把该样本放回原始数据集,使得下次采样时该样本仍然有可能被选中。】这样经过m次随机采样操作(【】视为一次随机采样操作),我们可以得到一个含m个样本的采样集。

按照相同的方式,我们可以采样出T个含m个训练样本的采样集,然后基于每一个采样集训练出一个基学习器,再将这些基学习器结合,也就是Aggregating。

下面给出了bagging的流程示意图:

Boosting

Boosting是一族将弱学习器提升为强学习器的算法。

  • Boosting的两个核心问题

Q1:在每一轮如何改变训练数据的权值或概率分布?

Q2:如何将弱分类器组合成一个强分类器?

A1:通过提高那些在前一轮被弱分类器分错样例的权值,减小前一轮分对样例的权值,来使得分类器对误分的数据有较好的效果。

A2:通过加法模型将弱分类器进行线性组合。

之前写过一篇手写AdaBoost算法的文章,里面介绍的正是Boosting族算法中最著名的AdaBoost算法。另外还有GBDT(Gradient Boost Decision Tree),以及机器学习比赛大杀器XGBoost都是Boosting族的算法。

二者差别

  1)样本选择

  Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。

  Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化,而其权值是根据上一轮的分类结果进行调整。

  2)样例权重

  Bagging:使用均匀取样,每个样例的权重相等

  Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大

  3)基分类器权重

  Bagging:所有基分类器权重相等

  Boosting:每个基分类器都有相应的权重,对于分类误差小的分类器会有更大的权重

  4)并行计算

  Bagging:各个基分类器可以并行生成

  Boosting:各个基分类器只能顺序生成,因为后一个模型参数需要前一轮模型的结果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与数据之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档