集成学习
Posted kamekin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集成学习相关的知识,希望对你有一定的参考价值。
本篇博客主要是对周志华“机器学习”中集成学习这一章的摘抄,总结,以及自己使用过程中的一点经验。
1、集成学习的基本概念、条件及意义
集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifier system)、基于委员会学习(committee-base learning)等。
弱学习器:泛化性能略优于随机猜测的学习器;例如在二分类问题上精度略高于50%的分类器。
基学习器:集成中只包含同种类型的个体学习器,如“决策树集成”中全是决策树,“神经网络集成”中全是神经网络。
组件学习器:集成中由不同的学习算法生成的个人学习器,或者直接称个体学习器。
假设在一个二分类任务中,假定三个分类器在三个测试样本上的表现如图1所示,其中√表示分类正确,×表示分类错误。
集成学习的结果通过投票法(voting)产生,即“少数服从多数”。图1-(a)中,每个分类器精度只有66.6%,但集成学习却达到了100%;
图1-(b)中,三个分类器没有差别,集成之后性能不变;图1-(c)中,每个分类器精度只有33.3%,集成只有结果变得更糟。
测试1 测试2 测试3 测试1 测试2 测试3 测试1 测试2 测试3 |
h1 √ √ × h1 √ √ × h1 √ × × h2 × √ √ h2 √ √ × h2 × √ × h3 √ × √ h3 √ √ × h3 × × √ |
集成 √ √ √ 集成 √ √ × 集成 × × × |
(a) 集成提升性能 (b) 集成不起作用 (c) 集成起负作用
图1 集成个体应“好而不同”(hi表示第i个分类器)
从上述例子我们可以知道,要想获得好的集成效果,个体学习器应“好而不同”,即个体学习器要有一定的“准确性”,即学习器不能太坏(不差于弱学习器),
并且要有“多样性”(diversity),即学习器之间具有差异。
因此集成学习的研究核心并是如何产生并结合“好而好同”的个体学习器。
2、Boosting
Boosting这类算法的工作机理类似,代表的是Adaboost算法,标准的Adaboost算法只适用于二分类。Boosting的具体过程如下:
i)根据初始训练集训练一个基学习器;
ii)根据基学习器的表现对训练集样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注;
iii)基于调整后的样本分布来训练下一个基学习器;
iv)重复(ii)和(iii)过程,直到基学习器数目达到事先指定的值T,将这T个基学习器进行加权结合。
因此从上述过程可以看到:Boosting算法的核心在于对训练集样本分布的调整,这可以通过“重赋权法”(re-weighting)来实现,
对于无法接受带权样本的基学习算法,则可通过“重采样法”(re-sampling)来处理。
需要注意的是,Boosting算法在训练的每一轮都要检查当前生成的基学习器是否满足基本条件(例如是否比随机猜测好),若不满足条件
则当前基学习器即被抛弃且学习过程停止,而重采样法则不会遇到这种问题。
总结:对于Boosting算法,学习过程中涉及到的分类算法为一种。另外,基于Boosting的思想,我们在训练完一个模型时,
可以根据模型对每个样本的预测概率或者准确率来作为每个样本的权重来改变初始训练集,对该模型重新训练;对于深度学习这种,
可以根据每个样本的权重或者准确率来修正损失函数,使得网络能够分类错的多的那些类。上述做法能对分类结果起到不错的作用。
3、Bagging
Bagging是并行式集成学习方法最著名的代表。它直接基于自助采样法(bootstap sampling)即有放回采样。最终的采样结果是,
初始训练集中约有63.2%的样本出现在采样集中。
按照自助采样法采样出T个含m个样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合,这就是Bagging的基本流程。
在对新样本进行预测时,Bagging通常对分了任务使用简单投票法,对回归任务使用简单平均法。
随机森林(Random Forest,RF)是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。
具体来说,传统决策树在选择划分属性时是在当前结点的属性集合(假设有d个属性)中选择一个最优属性;而在RF中,对基决策树
的每个结点,选从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。
若k=d,则基决策树的构建与传统决策树相同;若k=1,则随机选择一个属性用于划分;一般情况下k=log2(d)。
参考文献:
以上是关于集成学习的主要内容,如果未能解决你的问题,请参考以下文章