- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
集成学习(Ensemble Learning)阮兴茂.pdf
集成学习 (Ensemble Learning)
阮兴茂 rjf@tju.edu.cn
集成学习概观
集成学习是机器学习中的一种新型技术,它主要训练多种学习器来解决同一
问题[1]。与传统的机器学习总是尝试从训练集中学习一个假设不同,集成学习
是尝试构建一个一个假设集,并且将这个集合结合起来使用[2]。组成集成学习
的单个学习器经常被称为基础学习器。
最早的集成学习的研究是 Dasarathy 和 Sheela 在 1979 年开始的,这项研
究主要讨论了采用两个或更多的分类器对特征空间进行划分。在 1990 年 Hansen
和 Salamon 展示了人工神经网络的泛化性能能够被显著提高,而采用的方法是就
是集成配置相似的人工神经网络[3]。当Schapire 证明一个强分类器的效果可以
由一些弱分类器通过Boosting [4]算法结合起来的效果,这也是 AdaBoost 算法
的前身。由于这些前期的研究工作,集成学习研究现在发展的特别迅速,在这个
领域中经常出现很多创造性的名词和想法。
集成学习方法的泛化能力比单个学习算法的泛化能力增强了很多,这使得集
成学习方法很受瞩目。在实践生活中,为了获得一个好的集成学习器,必须满足
两个条件:准确性和多样性。在下面,我们主要讲述三种流行的集成学习方法,
它们分别是 Bagging 算法,Boosting 算法,Stacking 算法。
Bagging 算法
Bagging(bootstrap aggregating 的缩写)算法是最早的集成学习算法[5]。
它也是最具有指导意义和实施最简单,而且效果惊人的好的集成学习算法。
Bagging 算法的多样性是通过由有放回抽取训练样本来实现的,用这种方式随机
产生多个训练数据的子集,在每一个训练集的子集上训练一个分类器,最终分类
结果是由多个分类器的分类结果多数投票而产生的。虽然这个算法很简单,但是
当这种方法集成基础学习器的泛化策略可以降低偏差。
Bagging 算法当可用的数据量是有限时的结果更加吸引人,为了保证各个子
集中有充分的训练集,每个子集都包含 75-100%这样高比例的样本数据,这使得
每个训练数据的子集明显覆盖整个训练数据,并且在大多数的训练数据子集中的
数据内容是相同的,而且有一些数据在某个子集中出现多次。为了确保这种情况
下得多样性,Bagging 算法采用相对不稳定的基础学习器可以使在不同的数据集
中只要有一点微小的扰动就可以观察到不同的决策边界。
Bagging 算法实现的伪代码如下 Fig.1 所示:
Boosting 算法
Boosting 算法[4]包含了一系列方法。与 Bagging 不同,Boosting 算法通过
顺序给训练集中的数据项重新加权创造不同的基础学习器。Boosting 算法的核
心思想是重复应用一个基础学习器来修改训练数据集,这样在预定数量的迭代下
可以产生一系列的基础学习器。在训练开始,所有的数据项都被初始化为同一个
权重,在这次初始化之后,每次增强的迭代都会生成一个适应加权之后的训练数
据集的基础学习器。每一次迭代的错误率都会计算出来,而且正确划分的数据项
的权重会被降低,然后错误划分的数据项权重将会增大。Boosting 算法的最终
模型是一系列基础学习器的线性组合而且系数依赖于各个基础学习器的表现。虽
然 Boosting 算法有很多的版本,但是使用目前最广泛的是 AdaBoost 算法。
AdaBoost 算法实现的伪代码如下 Fig.2 所示:
Stacking 算法
Stacking 算法是另外一种流行的集成学习和泛化方法,它主要利用高级的
基础学习器结合低级的基础学习器来获得更好的预测的准确性 [6]。虽然
Stacking 算法起步很早,但是相对于 Bagging 算法和 Boosting 算法来说应用得
还不是很广泛,原因是 Stacking 算法很难进行理论分析。与 Bagging 和 Boosting
算法不同,Stacking 算法并不是简单的结合同一类型的基础学习器。取而代之
的是采用不同的学习算法构造的学习器。
Stacking 算法处理的任务是学习一个元级的基础学习器来学习多个基本的
基础学习器的预测。基本的基础学习器集合主要是将不同的学习算法到给定的数
据集生成的。Stacking 算法的第一步便是搜集每个基础学习器的输出信息到一
个新的数据集中。对于原始的训练集的各个数据项而言,这个新的数据集代表
您可能关注的文档
- 长发集团长江投资实业股份有限公司2016年年度报告摘要.PDF
- 长坑中心学校2017年春季我是长卿好声音演唱.doc
- 长城环球通借记卡系统进行维护升级-重要公告.PDF
- 长安基金管理有限公司关于旗下基金调整长期停牌股票估值方.PDF
- 长寿区公共资源交易中心国有建设用地使用权出让结果公示.PDF
- 长寿湖寿岛及水上通廊绿化生态修复工程监理.PDF
- 长江中下游降水异常特征及其与全国降水和气温异常的关系.PDF
- 长江君享金鑫个人养老保障管理产品.PDF
- 长江大宗周期行业.PDF
- 长江投资实业股份有限公司六届三十六次董事会决议公告.PDF
- 2022年部编人教版九年级数学上册期末考试题及答案【最新】.doc
- 人教部编版四年级数学(上册)期末质量分析卷及答案.doc
- 人教版一年级科学下册期中试卷及答案【一套】.doc
- 2023年人教版九年级地理(上册)期末考试卷及答案.doc
- 2022-2023年人教版七年级数学下册期中测试卷及答案【全面】.doc
- 苏教版五年级《数学》下册全单元测试题【附答案】.docx
- 人教版三年级语文上册期末考试卷及答案【全面】.doc
- 部编版五年级数学下册期中考试题及答案【完美版】.doc
- 2022年部编版六年级数学上册期末试卷加答案.doc
- 2021—2022年部编人教版三年级语文上册期末试卷(参考答案).doc
文档评论(0)