- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
弱学习器集成算法《机器学习简明教程》高延增侯跃恩罗志坚机械工业出版社06
本章目标?了解三种常用的弱学习器集成方法?理解GBDT算法?掌握XGBoost算法的使用英文Boost有增加、提升的意思,机器学习中Boost的意思是将多个较弱的算法集成在一起形成更强的算法。以决策树为例,单棵决策树学习易于实现和解释,但单棵树的效果往往不理想,就可以考虑通过改变学习过程中的权重等方法生成多棵随机树再组成随机森林,来对算法能力进行提升(Boosting)。近几年,在Kaggle、阿里云天池等数据挖掘竞赛中XGBoost算法特别受参赛选手青睐,取得过不俗战绩。XGBoost是Boost算法家族中的一员,它是GBDT(GradientBoostedDecisionTree,梯度提升决策树)的一种高效实现,是本章的重点内容。本章在讲解Boosting、AdaBoost、XGBT等算法基础上,详细介绍XGBoost的算法原理和特点,并通过一个实际案例讲解XGBoost的应用方法。
目录/Contents6.16.2三种常用的弱学习器集成方法AdaBoost与GBDT6.3XGBoost
6.1三种常用的弱学习器集成方法集成学习的思路是通过训练样本集训练出多个(弱)学习器,然后将这些弱学习器集成为一个更强的学习器(1)由训练集训练出多个弱学习器;(2)将多个弱学习器集成为一个强学习器。
6.1三种常用的弱学习器集成方法弱学习器和强学习器分别是什么意思呢?以分类器为例,弱学习器和强学习器的区别主要是通过学习后对分类结果的正确率,如果仅略高于随机猜测的正确率则为弱学习器,如果分类的正确率很高则为强学习器。在多个弱学习器的训练阶段,训练集较大时可以将训练集分成若干子集分别训练生成弱学习器然后再集成;当训练集较小时也可以进行有放回的抽取进行模型训练得到多个弱学习器再集成。被集成的多个弱学习器,可能是同一种算法只是训练参数不同而生成的,像这样的多个弱学习器被称为是“同质”的。如果被用来集成的是不同学习算法训练生成的弱学习器被称为“异质”的。集成方法不特指某一种具体的机器学习算法,而是训练多个模型然后再以什么样的方法将它们集成在一起。常见的方法有三种:Bagging(装袋法)、Boosting(提升法)、Stacking(堆叠法)。
6.1三种常用的弱学习器集成方法——装袋法Bagging是Bootstrapaggregating(引导聚集算法)的缩写,集成算法初始阶段会通过有放回随机采样(装袋法名字的由来)的方式创建K个数据集;由这K个子训练集训练出K个模型,生成这K个模型的具体算法不做限制;然后将得到的K个弱学习器模型整合成一个强学习器模型。Bagging算法提升效果的本质是人为引入样本扰动,通过增加样本随机性,达到降低方差的效果,避免过拟合发生。Bagging算法过程示意??
6.1三种常用的弱学习器集成方法——提升法初始阶段,Boosting对于样本的采样逻辑与Bagging算法一致。但是Boosting的K个弱学习器并不是同时训练的,而是串行训练的,当前弱学习器的效果会用来更新下一个弱学习器的学习权重,当全部训练完成后再将所得到的所有弱学习器集成。Boosting算法的基本思想有两个重点:(1)提高那些在前一轮被弱分类器错误分类的样例的权值,减小前一轮被正确分类的样本的权值,让被错误分类的样本在后续受到更多的关注;(2)使用一定策略将弱分类器进行组合,比如AdaBoost通过加权多数表决的方式,即增大错误率小的分类器的权值,同时减小错误率较大的分类器的权值。
6.1三种常用的弱学习器集成方法——堆叠法?Stacking训练M1过程
6.1三种常用的弱学习器集成方法——堆叠法类似M1的方法训练另外三个初级学习器,就得到了次级学习器M的训练集上所有样本点的对应的特征,如图:Stacking次级学习器M的训练与测试集构成示意(1)训练各个初级学习器,使用初级学习器对验证子集的预测结果作为次级学习器的特征、验证子集的实际标签值作为Y值得到次级学习器的训练样本集;(2)使用各个初级学习器对测试集的预测作为特征,测试集的实际标签作为Y得到次级学习器的测试集;(3)训练并测试次级学习器。
目录/Contents6.16.2三种常用的弱学习器集成方法AdaBoost与GBDT6.3XGBoost
6.2AdaBoost与GBDT——AdaBoostAdaboost是Boosting算法的一种,是一种迭代算法,其核心思想是针对同一个训练集训练不同的弱学习器,然后把这些弱学习器集合起来,构成一个强学习器。一个简单的AdaBoost集成算法示例。首先,原始训练集得到一个弱学习器M1;然后,M1在原始训练集中错误标记的点在下一次训练时得到加
您可能关注的文档
- 《学前儿童卫生保健》 试卷及答案 共3套 .docx
- 机器学习简明教程---基于Python语言实现 课件 第1章概述.pptx
- 机器学习简明教程---基于Python语言实现 课件 第2章基础知识.pptx
- 机器学习简明教程---基于Python语言实现 课件 第3章回归分析.pptx
- 机器学习简明教程---基于Python语言实现 课件 第4章基于距离的算法.pptx
- 机器学习简明教程---基于Python语言实现 课件 第5章决策树.pptx
- 机器学习简明教程---基于Python语言实现 课件 第7章支持向量机.pptx
- 机器学习简明教程---基于Python语言实现 课件 第8章人工神经网络.pptx
- 机器学习简明教程---基于Python语言实现 课件 第9章卷积神经网络.pptx
- 机器学习简明教程---基于Python语言实现 课件 第10章用于处理时间序列的网络.pptx
文档评论(0)