集成学习简介

本文摘抄并总结自周志华教授的《机器学习》一书。特此声明,以表敬意!

  • 集成学习的概念

通过将多个学习器结合在一起来完成学习任务,有时也被称为多分类器系统、基于委员会的学习(集成学习的原理就像委员会投票一样,少数服从多数,因此得名)等。

  • 集成学习的结构

先产生一组个体学习器,再用某种策略将他们结合起来。

如果一个集成中只包含同种类型的个体学习器,例如:决策树集成中全是决策树,那么该集成是同质的。同质集成中的个体学习器称为基学习器,相应的学习算法称为基学习算法。

如果一个集成中包含不同类型的个体学习器,例如:同时包含决策树和神经网络,那么该集成是异质的。异质集成中的个体学习器称为组件学习器或直接称为个体学习器,且不再有基学习算法。

  • 集成学习研究的核心

集成学习的很多理论研究都是基于弱学习器(在二分类问题上精度略高于50%的分类器)进行的,但在实践中出于种种考虑,人们往往会使用比较强的分类器。接下来我们看一个简单的例子:

从这个例子中可以看出:要获得好的集成,个体学习器应“好而不同”。即个体学习器要有一定的准确性,也要有多样性(学习器间具有差异)。但是准确性与多样性之间本身就存在冲突,当准确性很高之后,要增加多样性就要牺牲准确性。如何产生并结合“好而不同”的个体学习器,是集成学习研究的核心。

  • 两类集成学习方法

根据个体学习器的生成方式,目前的集成学习方法大致可以分为两类:

  1. 个体学习器间存在强依赖关系,必须串行生成的序列化方法。代表方法为:Boosting
  2. 个体学习器间不存在强依赖关系,可同时生成的并行化方法。代表方法为:Bagging和随机森林(Random Forest)

从偏差-方差分解的角度看,Boosting主要关注降低偏差,因此它能基于泛化性能相当弱的学习器构建出很强的集成。Bagging主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效用更为明显。

Boosting

工作原理:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直到基学习器数目达到事先设定的值T,最终将这T个基学习器进行加权结合。

Boosting族算法最著名的代表是Adaboost,其可通过加性模型(基学习器的线性组合)来最小化指数损失函数的方法来推导。该算法的详细介绍就略了,具体去看书吧。从AdaBoost的算法流程来看,标准的AdaBoost只适用于二分类问题

Boosting算法对于数据分布的学习包括以下两种方法:

  1. 重赋权法:在训练过程的每一轮中,根据样本分布为每个训练样本重新赋予一个权重。
  2. 重采样法:对于无法接受带权样本的的基学习算法,在每一轮学习中,根据样本分布对训练集重新进行采样,再用新样本集对基学习器进行训练。

Bagging

先前提到集成学习研究的核心是好而不同,为了增加多样性,个体学习器应该尽可能的相互独立。因此Bagging使用有放回采样的方式来选取训练集。对于包含m个样本的训练集,进行m次有放回的随机采样操作,从而得到m个样本的采样集,这样训练集中有接近36.8%的样本没有被采到。按照相同的方式重复进行,我们就可以采集到T个包含m个样本的数据集,从而训练出T个基学习器,最终对这T个基学习器的输出进行结合(通常对分类任务使用简单投票法,对回归任务使用简单平均法)。

可以看出Bagging主要通过样本的扰动来增加基学习器之间的多样性,因此Bagging的基学习器应为那些对训练集十分敏感的不稳定学习算法,例如:神经网络与决策树等。可通过多次重复训练提高稳定性。不同于AdaBoost的是,Bagging可以十分简单地移植到多分类、回归等问题。

随机森林(Random Forest)

随机森林(Random Forest)是Bagging的一个拓展体,它的基学习器固定为决策树,多棵树也就组成了森林,而“随机”则在于选择划分属性的随机,随机森林在训练基学习器时,也采用有放回采样的方式添加样本扰动,同时它还引入了一种属性扰动,即在基决策树的训练过程中,在选择划分属性时,RF先从候选属性集中随机挑选出一个包含K个属性的子集,再从这个子集中选择最优划分属性,一般推荐K=log2(d)。

这样随机森林中基学习器的多样性不仅来自样本扰动,还来自属性扰动,从而进一步提升了基学习器之间的差异度。相比决策树的Bagging集成,随机森林的起始性能较差(由于属性扰动,基决策树的准确度有所下降),但随着基学习器数目的增多,随机森林往往会收敛到更低的泛化误差。同时不同于Bagging中决策树从所有属性集中选择最优划分属性,随机森林只在属性集的一个子集中选择划分属性,因此训练效率更高。

  • 结合策略

结合策略指的是在训练好基学习器后,如何将这些基学习器的输出结合起来产生集成模型的最终输出。主要有以下几种:

  1. 学习法:简单平均法和加权平均法。一般而言,在个体学习器性能相差较大时使用加权平均法,在个体学习器性能相近时使用简单平均法。学习法常用于回归问题。
  2. 投票法:绝对多数投票法、相对多数投票法、加权投票法。投票法常用于分类问题。
  3. 学习法学习法是一种更高级的结合策略,即学习出一种“投票”的学习器,Stacking是学习法的典型代表。
  • 多样性

在集成学习中,基学习器之间的多样性是影响集成器泛化性能的重要因素。因此增加多样性对于集成学习研究十分重要,一般的思路是在学习过程中引入随机性,常见的做法主要是对数据样本、输入属性、输出表示、算法参数进行扰动。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

进击的路飞桑

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

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

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

打赏作者

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

抵扣说明:

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

余额充值