您的位置:首页 > 其它

机器学习笔记(七) 集成学习概述

2017-08-09 22:23 225 查看
       集成学习(ensemble learning)是通过组合多个基分类器(baseclassifier)来完成学习任务。基分类器一般采用的是弱可学习分类器,通过集成学习,组合成一个强可学习分类器。
      LeslieValiant提出了“强可学习(strongly learnable)”和”弱可学习(weakly learnable)”的概念,指出:在概率近似正确(probably approximately correct, PAC)学习的框架中,一个概念(一个类),如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么就称这个概念是强可学习的,如果正确率不高,仅仅比随即猜测略好,那么就称这个概念是弱可学习的。那么对于分类问题而言,给定一个训练数据,求一个比较粗糙的分类器(即弱分类器)要比求一个精确的分类器(即强分类器)容易得多,集成学习就是这一点。
      集成学习主要分为两类:一是个体学习器间存在强大依赖关系、必须串行生成的序列化方法,代表算法:Boosting;二是个体学习器间不存在依赖关系、可同时生成的并行化方法,代表算法Bagging和“随机森林”。
 

1.  偏差和方差

      偏差bias度量了学习算法与真实结果的偏离程度,刻画了学习算法本身的拟合能力;方差variance度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动所造成的影响。
      偏差-方差分解说明,泛化能力是由学习算法的能力,数据的充分性和学习任务本身的难度共同决定的。给定学习任务,为了取得较好的泛化能力,需要偏差较小来充分拟合数据,并且使方差较小来是数据扰动的影响小。但是,两者往往是不可兼得的,当训练不足时,学习器的拟合能力不够强,数据扰动不足以产生较大的影响,此时偏差主导了泛化错误率;随着训练加深时,拟合能力随之加强,数据扰动渐渐能被被学习器学习到,方差主导了泛化错误率。在训练充足后,学习器的拟合能力已经很强,训练数据发生的轻微扰动都会导致学习器发生发生显著变化,若是训练集自身的非全局的特性被学习器学习到,就会发生过拟合。
      从“偏差-方差分解”的角度看,Bagging关注于降低方差variance,而Boosting则是降低偏差bias(Boosting的基分类器是强相关的,并不能显著降低方差variance)。
 
2.  Boosting算法

       Boosting是一种可以将弱学习器提升为强学习器的算法,代表算法为AdaBoost。这类算法一般从弱学习算法出发,反复学习,得到一系列弱分类器,然后组合这些弱分类器,构成一个强分类器。大多数都是改变训练数据的概率分布(训练数据中的各个数据点的权值分布),调用弱学习算法得到一个弱分类器,再改变训练数据的概率分布,再调用弱学习算法得到一个弱分类器,如此反复,得到一系列弱分类器。。
 

3.  Bagging算法

      Bagging是并行式集成学习代表方法,代表算法为随机森林Random Forest。基于“自助采样法”(bootstrap sampling)。自助采样法机制:给定包含m个样本的数据集,我们先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下一次采样时该样本还会被采到。这样,经过m次样本采集,我们得到包含m个样本的采样集(采样集中,有的样本出现过很多次,有的没有出现过)。基于每个采样集训练出一个学习器,再将这些学习器结合,对分类任务使用投票法,对回归任务采用平均值法。
      随机森林RF在以决策树为基学习器构建Bagging的基础上,进一步在决策树的训练过程中引入了随机属性选择。在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这样,随机森林中基学习器的“多样性”来自样本扰动和属性扰动,使得最终集成的泛化性能可能通过个体学习器之间的差异度的增加而进一步提升。
 

 

参  考

李航《统计学习方法》

周志华《机器学习》

http://blog.csdn.net/andy_shan/article/details/70049670

http://blog.csdn.net/carson2005/article/details/8708307
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: