美文网首页
集成学习

集成学习

作者: 克里斯托弗的梦想 | 来源:发表于2019-03-26 23:41 被阅读0次
集成学习

集成学习通过构建并结合多个学习器来完成学习任务。集成学习一般结构:先产生一组“个体学习器”,再用某种策略将它们结合起来。而个体学习器通常由现有的学习算法从训练数据产生,比如C4.5决策树算法,BP神经网络算法等。

集成学习把多个学习器结合起来,如何能获得比最好的单一学习器更好的性能呢?
好而不同,即个体学习器要有一定的准确性,不能“太坏”,并且要有“多样性”,也就是学习器间的差异。(可以参考西瓜书集成学习P172例子理解)。

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

Boosting

Boosting是一族可将弱学习器提升为强学习器的算法。工作机制类似:从初始训练集训练出一个基学习器(这个学习器不能太坏,要有一定的准确性),再根据基学习器的表现对样本分布进行调整,使得先前基学习器做错的训练样本在后续得到更多的关注(也就是提高前一轮弱分类器错误分类样本的权值,而降低那些被正确分类的样本权值),然后基于调整后的样本分布来训练下一个基学习器,如此重复进行,直到基学习器数目达到事先指定的值T,最终将T个学习器进行加权结合。
而Boosting算法族中最具代表性的是AdaBoost。

AdaBoost
AdaBoost算法解释

AdaBoost算法还有另一种解释,即可认为AdaBoost算法是模型为加法模型、损失函数为指数函数、学习算法为前向分步算法时的二类分类学习方法。

前向分步算法求解的想法是:因为学习的是加法模型,如果能够从前往后,每一步只学习一个基函数,逐步逼近优化目标函数式,那么就可以简化优化的复杂度。


前向分步算法与AdaBoost
用前向分步算法可以推导出AdaBoost。
AdaBoost算法是前向分步算法的特例,这时,模型是有基本分类器组成的加法模型,损失函数是指数函数。这里不做证明,详细查看李航统计学习方法一书。

提升树模型

以决策树为基函数的提升方法称为提升树,对分类问题决策树是二叉分类树,对回归问题决策树是二叉回归树。


梯度提升

提升树利用加法模型与前向分步算法实现学习的优化过程,当损失函数是平方损失和指数损失函数时,每一步优化是很简单的。当对一般损失函数而言,往往每一步不是那么容易,因此提出了梯度提升算法,这是利用最速下降的近似方法,其关键是利用损失函数的负梯度在当前模型的值。


Bagging和随机森林

Bagging
Bagging是并行式集成学习方法最著名的代表。从给定的m个样本的数据集,先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中,这样,经过m次随机采样操作,我们得到含m个样本的采样集,对于初始训练集有的样本在采样集中多次出现,有的从未出现,可以算得初始训练集中约有63.2%的样本出现在采样集中。
这样,我们可采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些学习器结合。这就是Bagging的基本流程。在对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法。若分类预测时出现两个类收到同样票数情形,则最简单做法是随机选择一个,也可以考察学习器投票的置信度来确定最终胜利者。

随机森林
随机森林是Bagging的一个扩展变体,RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。
具体来说,传统决策树在选择划分属性时,是在当前结点的属性集合(假定有d个属性)中选择一个最优属性;而在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这里的参数k控制了随机性的引入程度,若令k=d,则基决策树的构建与传统决策树相同,若令k=1,则是随机选择一个属性用于划分;一般情况下,推荐值k=logd

相关文章

  • 11 集成学习 - XGBoost案例 - 波士顿房价进行预测

    08 集成学习 - XGBoost概述09 集成学习 - XGBoost公式推导10 集成学习 - XGBoost...

  • 2019-03-02

    ML——集成学习 个体与集成 集成学习:构建并结合多个学习器来完成学习任务。 同质:集成中只包含同种类型的个体学习...

  • 3.1.1.8 集成学习

    集成学习 原理 《机器学习》周志华 8.1 个体与集成 集成学习(ensemble learning) 通过构建并...

  • 10.machine_learning_model_ensemb

    机器学习集成学习与boosting模型 机器学习中的集成学习 顾名思义,集成学习(ensemble learnin...

  • 西瓜书学习笔记-集成学习

    集成学习 个体与集成 集成学习通过构造多个学习器来完成学习任务。集成学习的构造是先产生一组个体学习器,然后用某种策...

  • Task5 模型集成

    这次主要学习的知识点是:集成学习方法、深度学习中的集成学习和结果后处理思路。 1、集成学习方法 在机器学习中的集成...

  • AdaBoost模型

    集成学习是目前很流行的一种机器学习方法,kaggle比赛取得好成绩的队伍几乎都是用的集成学习。 一、集成学习 集成...

  • CV-模型集成

    集成学习方法 集成学习能够提高预测精度,常见的集成学习方法有stacking、bagging和boosting,同...

  • 集成学习

    集成学习与个体学习器 集成学习是机器学习中常用的一种方法,常用的集成学习方法有boosting,bagging以及...

  • 使用sklearn进行集成学习 理论与实践 Random For

    《使用sklearn进行集成学习——理论》 《使用sklearn进行集成学习——实践》

网友评论

      本文标题:集成学习

      本文链接:https://www.haomeiwen.com/subject/rbtovqtx.html