研究生特色精品课程-机器学习

Download Report

Transcript 研究生特色精品课程-机器学习

第四章 集成学习与弱可学
习理论
1
引言
研究生特色精品课程-机器学习
• 集成学习的根本思路是对同一问题使用一系列学习器进行
学习,并使用一定的策略把各个不同的学习结果进行整合
从而获得比单个学习器更好的学习效果。
• 主要任务:集成学习并非力求得到单一的最优分类器,而
是通过一组由多个假设组合而成的集成得到更优的假设。
研究生特色精品课程-机器学习
• 泛化能力(generalization ability)是指机器学习算法对新
鲜样本的适应能力。学习的目的是学到隐含在数据对背后
的规律,对具有同一规律的学习集以外的数据,经过训练
的网络也能给出合适的输出,该能力称为泛化能力。
研究生特色精品课程-机器学习
2
集成学习的发展和现状
研究生特色精品课程-机器学习
• 1990年,Hanson和Salamon对神经网络集成进行了研究,
第一次提出了神经网络集成的概念。他们证明,在保证神
经网络的精度高于50%的情况下,通过训练多个神经网络
并将其结果通过投票法进行结合,可以显著地提高学习系
统的泛化能力。
研究生特色精品课程-机器学习
• Valiant和 Kearns提出了弱学习和强学习的概念 。识别错误
率小于1/2,也即准确率仅比随机猜测略高的学习算法称为弱
学习算法;识别准确率很高并能在多项式时间内完成的学习
算法称为强学习算法。
• 同时 ,Valiant和 Kearns首次提出了 PAC学习模型中弱学习
算法和强学习算法的等价性问题,即任意给定仅比随机猜测
略好的弱学习算法 ,是否可以将其提升为强学习算法 ? 如果
二者等价 ,那么只需找到一个比随机猜测略好的弱学习算法
就可以将其提升为强学习算法 ,而不必寻找很难获得的强学
习算法。1990年, Schapire最先构造出一种多项式级的算
法 ,对该问题做了肯定的证明 ,这就是最初的 Boosting算法。
研究生特色精品课程-机器学习
• 1995年,Freund对Schapire的算法(最初的
Boosting算法)进行了改进,提高了算法的效率。
但Schapire 和Freund的算法在解决实际问题时有
一个重大缺陷,即要求事先知道弱学习算法学习
正确率的下界,这在实际问题中很难做到。
研究生特色精品课程-机器学习
• 1996年,Freund和Schapire提出了著名的
AdaBoost(Adaptive Boost)算法,该算法的效率与
Freund算法很接近,却可以非常容易地应用到实际问题
中,因此,该算法已成为目前最流行的Boosting算法。
• Adaboost是一种迭代算法,其核心思想是针对同一个训
练集训练不同的分类器(弱分类器),然后把这些弱分类器
集合起来,构成一个更强的最终分类器(强分类器)。
研究生特色精品课程-机器学习
• 1996年,Breiman从可重复取样技术(Bootstrap Sampling)
入手,提出了著名的Bagging方法。在该方法中,各学习器
的训练集由从原始训练集中随机选取若干示例组成,训练集
的规模与原始训练集相当,训练样本允许重复选取。这样,
原始训练集中某些示例可能在新的训练集中出现多次,而另
外一些示例则可能一次也不出现。在预测新的示例时,所有
学习器的结果通过投票的方式来决定新示例的最后预测结果。
Bagging方法通过重新选取训练集增加了个体学习器的差异,
Breiman将此类算法称为P&C(Perturb and Combine)族算法,
他指出,稳定性是Bagging能否发挥作用的关键因素,
Bagging能提高不稳定学习算法例如神经网络和决策树的预
测精度,而对稳定的学习算法例如k近邻和简单贝叶斯算法
效果则不明显,有时甚至使预测精度降低。
研究生特色精品课程-机器学习
• 国内,唐耀华等针对支持向量机(SVM)在应用于集成学习中
会失效的问题,提出了一种选择性SVM集成学习算法(SESVM) 。
• 贾华丁等提出了采用二重扰动机制的支持向量机的集成训练
算法。
• 2002年周志华等人提出了二次学习的思想,将集成学习用作
预处理,设计出了泛化能力强、可理解性好的新型规则学习
方法C4.5Rule-PANE。对二次学习进行了理论分析并设计出
了新型决策树学习算法Nec4.5 。
研究生特色精品课程-机器学习
• 在基本的Boosting和Bagging算法被提出以后,
研究者们又陆续提出了大量的集成学习算法。
一般来说,这些算法的学习过程可以分为两步,
即个体学习器的生成以及个体学习器的结合。
研究生特色精品课程-机器学习
• 根据个体学习器生成方式的不同,目前的算法大致
可以分为两类:
• 一类以AdaBoost为代表,在这一类算法中,个体
学习器是顺序生成的,属于这一类的还有Arc-x4、
MultiBoost 、fBoost、MiniBoost等算法。
• 另一类则以Bagging为代表,这类算法中个体学习
器可以并行生成,属于这一类的集成算法还有
SEQUEL、Wagging、P-Bagging和基于选择性集
成的GASEN 。
研究生特色精品课程-机器学习
• 对个体学习器进行结合时,也有很多不同的策略。
• Perrone等人认为,采用加权平均可以得到比简单
平均更好的泛化能力。但是,也有一些研究者认为,
对权值进行优化将会导致过配(overfiting),从而使
得集成的泛化能力降低,因此,他们建议使用简单
平均。
研究生特色精品课程-机器学习
• 在分类问题上,集成的输出往往由个体学习器投
票决定,投票法是一种很早开始就获得广泛使用
的方法,如quinlan和Breiman使用投票法对决策
树算法进行集成等:
• 绝对多数投票法:某分类成为最终结果当且仅当
有超过半数的神经网络输出结果为该分类。
• 相对多数投票法:某分类成为最终结果当且仅当
输出结果为该分类的神经网络的数目最多。
• 理论分析和大量实验表明,后者通常优于前者。
因此,在对分类器进行集成时,目前大多采用相
对多数投票法。
研究生特色精品课程-机器学习
• 在2001年周志华提出了“选择性集成算法”之
后,许多研究倾向于综合各种差异性获得方法、
度量方法和选择性集成的思想来进行算法的设
计。
研究生特色精品课程-机器学习
• ELRC(Byung等人提出 ) :
基于一种决策树的结构对原始数据进行划分,然后在划分
出的各个数据子集上基于不同的基本学习算法来生成基分类
器,最后选取分类效果最好的作为此数据子集上的分类器。
当对一个新示例作决策时,学习器能够自动选择与其相关的
基分类器参与决策。
研究生特色精品课程-机器学习
• 数据离散化的基分类器构造方法(蔡铁等人
提出 ) :
该方法采用粗糙集和布尔推理离散化算法处理训练样本
集,能有效删除不相关和冗余的属性,提高基分类器的准
确性和差异性。
研究生特色精品课程-机器学习
• 集成学习是一个在迅速发展中的研究领域,从其
出现到目前为止,短短十几年的时间,它已经广
泛应用于语音识别、文本过滤、遥感信息处理、
疾病诊断等众多领域,未来,仍将是一个快速发
展期。
研究生特色精品课程-机器学习
3
集成学习的产生背景和主要作
用
研究生特色精品课程-机器学习
•
机器学习所关注的根本问题之一就是如何提高学
习系统的泛化能力,也就是说,如何利用已有数据
训练出学习器,使之能够尽可能好地处理新数据。
由于集成学习为这一根本问题提供了一种有效可行
的解决途径,因此它受到了国际机器学习界的广泛
重视。
研究生特色精品课程-机器学习
• 集成学习指的是为解决同一个问题训练出多个学
习器。在对新的数据进行处理时,各个学习器在
新数据上的结论以某种方式进行结合,以获得最
终的结果。
• 以往的学习算法在假设空间中进行搜索时,往往
会出现以下问题:
1.统计问题:如果有若干个假设在训练数据上的误
差接近,学习算法就需要从中选择一个作为输出。
这时就可能出现由于假设空间相对于可用的训练
数据太大,使得选择出的假设不能够在未知的数
据上获得好的效果。
研究生特色精品课程-机器学习
2.计算问题:学习算法并不能保证学习到的假设是假
设空间中最好的假设。例如,神经网络、决策树
等技术为了寻找与训练数据吻合得好的假设,往
往需要引入启发式的策略,然而启发式的策略(例
如梯度下降)容易使学习算法陷入局部极小。
3.表示问题:如果学习算法搜索的假设空间中并不
包含与目标函数相似的假设,在这样的假设空间
中进行搜索会造成学习结果与学习目标有很大的
差距。
研究生特色精品课程-机器学习
• 集成学习能在一定程度上缓解上述的问题,这是
因为:
1.在统计问题上,集成学习通过保留多个与训练数
据拟合较好的假设,并对它们的结果进行结合,
从而可以在一定程度上缓解假设空间太大而训练
数据相对不足的问题。
2.在计算问题上,集成学习的多个假设由于各自具
有不同的局部极小,结合起来后就能够在一定程
度上相互抵消,从而减小了算法陷入某个局部极
小的风险。
研究生特色精品课程-机器学习
3.在表示问题上,集成学习的多个假设的联合扩展
了被表示的假设空间,从而使得搜索到的学习结
果更加精确。
研究生特色精品课程-机器学习
• 集成学习技术具有很强的泛化能力,它的作用主要体现在
以下四个方面:
1.提高预测结果的准确性
机器学习的一个重要目标就是对新的测试样本尽可能给出
最精确的估计。构造单个高精度的学习器是一件相当困难的
事情,然而产生若干个只比随机猜想略好的学习器却很容易。
研究者们在应用研究中发现,将多个学习器进行集成后得
到的预测精度明显高于单个学习器的精度,甚至比单个最好
的学习器的精度更高。因此,在难以直接获得高精度的学习
算法的问题上,可以利用集成学习技术将一些精度不够高的
弱学习算法提升为精度高的强学习算法。
研究生特色精品课程-机器学习
2.提高预测结果的稳定性
有些学习算法单一的预测结果时好时坏,不具有稳定性,
能一直保持高精度的预测。通过模型的集成,可以以较高的
概率普遍取得很好的结果。
3.改进参数选择
对于一些算法而言,如BP神经网络、遗传算法,在解决实
际问题的时候,需要选择操作参数。但是这些操作参数的选
取没有确定性的规则可以依据,只能凭借经验来选取,为了
得到好的学习效果,往往需要反复调整学习参数。大多数情
况下,需要使用者具有充分的经验才能设定合适的参数值,
而对于非专业的一般操作人员会有一定的难度。而且参数选
择不同,结果会有很大的差异。集成学习技术可以利用一些
参数设置得并不太好的学习器取得较好的学习效果。
研究生特色精品课程-机器学习
4
集成学习的主要内容
研究生特色精品课程-机器学习
• 4.1 PAC(Probably Approximately Correct)理
论
在机器学习领域中,自从Valiant关于PAC可学习性的文
章发表后,改变了以往以概率1作为评价模式识别性能的
局面,并带来了后来基于PAC学习模型的机器学习研究的
巨大发展。
研究生特色精品课程-机器学习
PAC(Probably Approximately Correct)理论
• PAC定义中有以下符号:
• X: 实例空间,包含所有可能的样本
• c: 概念,是指一个X的子集,或者说是一个X中的元素
到布尔值的{0,1}映射
• C: X上一系列概念的集合
D: X的概率分布
h: 要考察的算法输出的一个假设,我们希望它尽可能
地接近c
“尽可能地接近”的意思是,有比较大的概率(Probably)
得到的结果在大部分情况下(Approximately)与c一致。
研究生特色精品课程-机器学习
• 更严格地定义PAC :
集合C为PAC可学习的是指对于其中的所有c,对
于任意分布D,对于任意小的数0<ε<1/2和
0<δ<1/2,我们要考察的算法有至少(1-δ)的概率
输出一个h满足P[h(x)!=c(x)] <=ε,并且算法花费
时间与1/ε,1/δ成多项式关系。
研究生特色精品课程-机器学习
• 概率近似(PAC)学习首先要求学习器输出错误率限
定在某常数ε范围内,其次要求对所有的随机抽取
样本序列失败的概率限定在某常数δ范围内。PAC
理论强调机器学习的目的应该是以模型概论近似正
确(1-ε)为指标,而不是以概率为1为指标。PAC可
学习性的一个隐含的条件:每个目标概念c,假设
空间H都包含一个以任意小误差接近c的假设 。
研究生特色精品课程-机器学习
• 4.2 强可学习与弱可学习理论:
• 强可学习:令S为包含N个样本点(x1,y1),...,
(xn,yn)的样本集,其中xn是按照某种固定但未知的
分布D(x)随机独立抽取的。yn=f(xn),f属于某个已
知的布尔函数集F。如果对于任意的D,任意的
0≤ε,δ≤1/2,学习算法生成一个满足P[h(x)≠f(x)]≤ε
的估计h的概率大于1-δ,并且学习算法的运行时
间与1/ε,1/δ成多项式关系.则称这种学习算法为
强学习算法。
研究生特色精品课程-机器学习
• 弱可学习的相关定理:若一个满足P[h(x)≠f(x)]≤ε
的估计h的概率大于(1/2)+δ,0≤δ≤1/2。
• 这意味着,一个概念如果是弱可学习的,那么只
要求一个弱可学习算法产生的模型的精度高于
50%,也就是比随机猜想稍好
研究生特色精品课程-机器学习
• 强可学习在什么条件下与弱可学习等价?
1990年,Schapire回答了这个问题。他使用构造
的方法证明:一个概念弱可学习的充要条件是这
个概念强可学习。这个结论表明,在学习概念时,
只需找到一个比随机猜测略好的弱学习算法,就
可以将其提升为强学习算法,而不必直接去找通
常情况下很难获得的强学习算法。
研究生特色精品课程-机器学习
• 多个弱学习器可以集成为一个强学习器,集成机
器学习的理论基础由此奠定。由弱学习器得到强
学习器的构造过程称Boosting。Boosting方法可
以产生一系列学习器,各学习器的训练集决定于
在其之前产生的学习器的表现,被已有学习器错
误判断的示例将以较大的概率出现在后面的学习
器的训练集中。这样,后面的学习器将能够很好
地处理对已有学习器来说很困难的示例。
研究生特色精品课程-机器学习
• 4.3 集成学习的基本概念
• 集成学习的广义定义:传统的机器学习方法是在
一个由各种可能的函数构成的空间(称为假设空间)
中寻找一个最接近实际分类函数的分类器。单个
分类器模型主要有决策树、人工神经网络、朴素
贝叶斯分类器等。集成学习的思路是在对新的实
例进行分类的时候,把若干个单个分类器集成起来,
通过对多个分类器的分类结果进行某种组合来决
定最终的分类,以取得比单个分类器更好的性能。
如果把单个分类器比作一个决策者的话,集成学习
的方法就相当于多个决策者共同进行一项决策。
研究生特色精品课程-机器学习
• 狭义地说,集成学习是指利用多个同质的学习器
来对同一个问题进行学习,这里的“同质”是指
所使用的学习器属于同一种类型,例如所有的学
习器都是决策树、都是神经网络等等。
• 而随着该领域的发展,越来越多的学者倾向于接
受广义定义。
研究生特色精品课程-机器学习
• 采用广义定义有一个很大的好处,就是以往存在的
很多名称上不同、但本质上很接近的分支,例如多
分类器系统(multi-classifier system)、多专家混合
(mixture of experts)、基于委员会的学习
(committee-based learning)等,都统一地归属到
集成学习之下。所以在广义的情况下,集成学习已
经成为了一个包含内容相当多的、比较大的研究领
域。
研究生特色精品课程-机器学习
D
学习部分
(x,?)
D1
D2
...
Dm
h1
h2
...
hm
h*=F(h1,h2,...,hm)
应用部分
(x,y)
图4.1 集成学习流程示意图
研究生特色精品课程-机器学习
• 图4.1为集成学习的示意图。在学习阶段,先由原
始训练集D产生m个训练子集,由每一个训练子集
Di(i=1,2,...,m)产生对应的学习器hi
(i=1,2,...,m)。在实际应用时,个体学习器以某
种方式结合在一起组成h*=F(h1,h2,...,hm)。
研究生特色精品课程-机器学习
• 4.4 集成学习的算法框架
• 集成学习方法的三要素:个体生成方法、个体网
络和结论合成方法。
• 两大步骤:
1.应用一定的个体生成方法,产生多个训练子集,
分别训练得到多个独立的个体学习模型。
个体生成方法就是从原数据样本集产生不同的训
练子集以训练得到个体网络,常用的如Bagging
和Boosting使用的数据子集生成方法。
2.采用一定的结论合成方法,对构成集成的个体网
络的输出进行合成,得到神经网络集成的结果。
研究生特色精品课程-机器学习
• 4.4.1 个体基学习器的生成方式
• 为了获得较理想的结果,客观要求基分类器之间保
证相互独立性,一般认为有效地产生泛化能力强
且差异大的基学习器,是集成算法的关键。
• Lam提到分类器之间决策的独立性有助于提高正
确分类的概率值。因此如何构造差异性大的,决策
独立的个体学习器就成为各种集成学习算法的关
键步骤。
研究生特色精品课程-机器学习
• 1.基于训练集处理的产生方式
• 1)Bootstrap Sampling
Bagging方法中生成基分类器的主要手段是通过
Bootstrap Sampling(重采样)来获得训练集的不同子
集,通过训练集的差异性来获得基分类器的差异性。
使用Bootstrap Sampling方法时,理论上每个基分类
器的训练集中只有63.2%的重复样本重复率,
Breiman指出要使Bagging有效,基分类器的学习算
法必须是不稳定的,也就是对训练数据敏感,决策树、
神经网络等训练算法属于不稳定的学习算法,k近邻、
聚类等算法属于稳定的算法。基于以上特点,
Bagging算法非常适合于并行学习多个基分类器,这
是其自身的一大优势。
研究生特色精品课程-机器学习
• 2)Boosting
• Boosting最早由Schapire提出,其思想为对那些容易被错分
的训练样本进行强化学习:首先给每个训练样本赋予相同的
权重,然后使用训练的基分类器进行测试,对于那些被错判的
样本提高其权重,对于那些正确判决的样本降低其权重,然
后根据权重调整后的训练集训练下一轮分类器,此过程反复
迭代就可以得到一个足够好的强分类器。但问题也随之提
出了
• Boosting框架中的基学习器算法并不是限定的,不是每一种
都可以对带权训练集进行学习的,一般基于梯度的学习算法
可以对带权训练集进行学习,如果学习算法不支持,那么可以
通过重新采样的方法来获得一个与带权训练集权重分布接
近的子集,通过对这个子集的学习来获得相应的基分类器,
产生该采样子集的计算复杂度为  (log N )
研究生特色精品课程-机器学习
• 3)训练集分组
• 交叉验证法源自于K重交叉验证测试方法,属于无放回的抽
样。其基本思想是将训练集划分为互不重叠的K等份,然后
每次选定一份作为测试集,其他K-1份作为训练集,从而可得
到K个不同的基分类器。将给定的学习对象分成若干组,对
每个组分别进行训练,得到若干分类器,然后组合这些分类器,
得到一个集成学习系统,该方法非常接近Bagging,与
Bagging一样支持并行学习。除了交叉验证,还可以使用
随机分组法,,逐次随机将原始数据集分为训练集和验证集,
并将训练后的分类器逐个加入集成,以新个体的加入是否会
导致集成性能改善为原则来决定保留或抛弃 。
研究生特色精品课程-机器学习
• 2.基于特征集处理的产生方式
• 给定学习对象,提取反映该对象不同性质的特征集,针对这
些不同的特征集分别训练学习器,然后组合得到一个集成学
习系统。显然这些基于不同特征集的集成系统构造方式实
际上也是一种基于训练数据集处理的产生方式,所不同的是
更强调同一训练集的不同特征。
研究生特色精品课程-机器学习
• Opitz和Guerra-Salcedo研究提出采用遗传算法搜索用
以产生不同个体分类器的特征子集,[45]提出的随机子
空间集成学习算法,所有特征子集完全随机产生。[46]通
过对火星图片进行和等图像处理方法获得维特征,通过
选择这些特征的子集来构建不同的神经网络基分类器,
最后集成的结果在鉴别火星火山的识别率上达到了人类
专家的水平,但是相同的技术被应用到只有单个特征的
声纳数据时,在输入特征少量减少的情况下基分类器的
性能急剧恶化,导致投票集成的结果也不理想。这说明
特征选择只对特征高度冗余的数据集才能产生理想的结
果。1997年Dietterich提出把特征选取和一般的集成学
习算法结合起来以提高集成学习性能。
研究生特色精品课程-机器学习
• 3. 基于不同性质的分类器的产生方式
• 有效的分类器模型并不多,有时往往需要对每一类分类给
出不同实例,这些不同实例的产生需要用到其他的基分类
器产生方式,[48]的实验说明了,如果仅在相同特征集上训练
不同类型的分类器进行实验并不能获得实质性的性能提升。
研究生特色精品课程-机器学习
• 4.基于随机扰动的产生方式
• 可以通过对学习样本加入随机扰动来获得全新的学习器,
或者是对学习器参数进行随机扰动,如对神经网络设定随
机初始权值、层数、节点数和训练的误差目标;对于决策
树,则可以在决策节点的特征选取时从某个特征子集里面
随机选取一个作为该节点的分类特征。Dietterich对随机
扰动法进行了各种实验比较,发现在噪声相对较低的情况
下,其性能甚至会优于AdaBoost,但在噪声水平较高时该方
法不能得到令人满意的结果。随机扰动法易于和其它基分
类器产生方式结合。
研究生特色精品课程-机器学习
• 5.基于输出结果处理的产生方式
• Dietterich提出纠错码方法ECOC来生成不同的基分类器。
其基本思想是针对多分类任务,对不同类别样本分别赋予
长度为L的二进制编码,并确保不同类别编码之间的海明码
距足够大,这样学习任务转化为L个不同的二分类任务。针
对第L个二分类器,那些编码在第L位为0的样本标为A类,为
1的标为B类。然后根据新标示的A,B两类样本训练该二分
类器。依次得到所有L个二分类器。将L个二分类器的预测
结果与设计的二进制分类编码进行比较,获得相应的分类
预测。决策树和神经网络实验证明该方法可以有效改善难
度较大的多目标分类任务,并且不受训练集规模大小限制,
不依赖每个目标分类的具体编码值。另外在算法中选择一
个合适的编码长度是有益的。
研究生特色精品课程-机器学习
• 4.4.2分类器结论集成方法
• 基于不同的个体分类器选择方式来生成集成系统,
相应的构造过程可以分为四类:
• 1.并行构造
分类器集合中的个体分类器在构造生成过程中并
不依赖其他分类器,相互之间的构造过程完全独立,
其过程可以并行完成,如Bagging算法。
研究生特色精品课程-机器学习
• 2.序列构造
分类器集合中的个体分类器在构造生成的过程中
都存在前向依赖关系,也即当前分类器的构造实现
必须以之前构造的个体分类器为基础,分类器的生
成呈现一种序列关系,如Boosting系统。
• 3.选择性构造
选择性构造方式是通过优选产生最终参与集成的
基分类器子集合,进而达到优化集成的目的。
研究生特色精品课程-机器学习
• 4.树状构造
这种构造方式可以看作前几种结构的复合,如:同
层为并行构造,不同层为序列构造。
研究生特色精品课程-机器学习
• 4.4.3分类器分类结果的合成方式
• 四个层次 :
• 1.抽象层次:每个基分类器只提供一个目标分类或者目标分
类子集。
• 2.排位层次:每个基分类器提供一个可能的目标分类列表,
其中目标分类按照可能性的大小进行排列。
• 3.度量层次:每个基分类器不仅提供分类结果,还提供每种
分类结果的度量(可能性)。
• 4.编码层次:ECOC的出现证明了基分类器只需要判断目标
是否属于某个类别集合(包含多个类别)、而不需要给出明
确的分类判决信息。通过对多个基分类器的输出进行排序
编码,就可以得到最后的分类判决。
研究生特色精品课程-机器学习
• 基分类器进行如下定义: hi , j  {0,1}, t  1,..., T ; j  1,..., J
表示共有T个基分类器参与集成,所需分类的类别数
有J个。如果t-th个分类器的判决为j-th个类别,那么
ht,j=l,否则为0。对于输出为连续值的分类器则定义
为,通过对输出值规范化也可定义为Pt(wj|X)
研究生特色精品课程-机器学习
• 1)代数合成法
• 代数合成属于非训练合成方法,即通过代数表达
式对分类器的输出值进行合成。获得表达式最大
支持的类别为输出:
H final ( X )  arg max  j ( X )
j
研究生特色精品课程-机器学习
1 T
 j   ht , j ( X )
TT t 1
• 平均法则:
• 加法法则:    h ( X )
• 加权平均:    w h ( X )
其中  w  1 ;wt为根据对应的基分类器性能设
定的权重
• 乘法法则:    h ( X )
ht , j ( X )}
• 最大法则:  j  max{
t 1,...T
ht , j ( X )}
• 最小法则:  j  tmin{
1,...T
• 中值法则:   median{h ( X )}
1

    (h ( X )) 
• 广义平均法则:
其中 α 为控制
T

参数,其取值不同将分别得到以上介绍的几种
法则。
j
t T1
j
t 1
T
t 1
t
t t, j
t
T
j
j
t 1
t, j
t 1,...T
t, j

T
j
t 1
t, j
1/ 
研究生特色精品课程-机器学习
• 2)简单投票法
• 基本思想是多个基分类器进行分类预测,通过某种投票
原则进行投票表决。常用的投票方法有,多数投票、一
票否决、最小投票、一致表决和阈值表决 。
一票否决是指,当所有基分类器的预测结果一致时的分
类结果才可以作为输出;一致表决指所有基分类器都没
有反对的类别作为输出;阈值表决是指对某一类的预测
比例达到一定时则该类别作为输出。
研究生特色精品课程-机器学习
• 3)基于D-S证据理论的合成方式
• 基于D-S证据理论合成方式的基本思想是通过识
别率、拒绝率等一系列参数计算出每个目标分类
的置信范围,然后推断出分类结果。
研究生特色精品课程-机器学习
• 4)编码合成
• 其思想是对类别进行L位编码,L个基分类器输出的仅是对
目标相应编码位的预测结果,它们输出结果组成的编码才
是最终的预测结果。
研究生特色精品课程-机器学习
• 5)串行合成
• 基学习器分布在多个层次上,用多个层次的学习器来完成
学习任务,前一层的预测结果作为后一层的输入,依次类
推。本质上,上述的合成方法都符合这一特点,但都是两
层模型,这里的串行合成主要指三层及三层以上的叠加。
研究生特色精品课程-机器学习
• 6)其它合成方式
• 除上述合成方法之外还有很多其他的合成方法,如最优合
成器,以及某些情况下单个分类器的联合 。
研究生特色精品课程-机器学习
• 4.4.4 集成学习常用分析评价方法
• Bias-variance分解分析法由Geman提出,被广泛用于分析
集成算法的性能。
• Bias-variance分解分析法把一个基于特定目标函数和训练
集规模的分类错误分解成以下三项:
偏置项(bias):度量学习算法平均估计结果与实际目标函数
的差距;
容差项(variance):度量了面对同样规模的不同训练集,算
法估计结果变动的程度;
本真噪音:是任何学习算法在该学习目标上期望误差的下界,
即使用最优贝叶斯分类器近似达到的最小分类错误。
研究生特色精品课程-机器学习
• Yu提出了评价集成学习三条基本标准:学习精度、
学习效率和基本分类器的多样性。
研究生特色精品课程-机器学习
5
AdaBoost
研究生特色精品课程-机器学习
• Boosting算法的主要思想就是通过粗糙的、不太
正确的、简单的、单凭经验的初级预测方法,按照
一定的规则,最终得出一个复杂的、精确度很高的
预测方法。算法对那些容易错分类的训练实例加
强学习,使得随后引入的学习器能够很好地处理那
些容易错分的样本。
研究生特色精品课程-机器学习
• AdaBoost算法是Schapire和Freund在1995年
提出的,它有效地解决了早期Boosting算法在实
际运用中的困难,它的最终判别准则的精确度依
赖于所有弱学习过程得出的弱假设,因而更能全
面地挖掘弱学习算法的能力。
研究生特色精品课程-机器学习
表 4.1 AdaBoost算法伪代码
• ---------------------------------------------------------------------------• 输入:训练集D = {(x1; y1),(x2; y2),...,(xm; ym)};
• 基础学习器L;训练循环轮数T;
• 初始化 D1(i) = 1/N ,第一次迭代时每个样本的权重都为
1/N
• For t = 1 to T
• 在Dt下训练:
•
得到弱假设ht,即通过训练集和当前权值分
布得到第t次的弱学习器ht=L(D,Dt)
• 计算ht的错误率:εt=ΣDt(i)[ht(xi)≠yi]
• 令αt=1/2ln((1-εt)/εt) 此即为ht的权重
a
• 更新样本权值:
if ht ( xi )  yi
D (t ) e
Dt 1 (i) 
t
t
Zt
Zt为归一化因子
• 循环结束
• 输出:
H ( X )  sign( a h ( x))
T
t 1
t t
 a
t
 e if ht ( xi )  yi
研究生特色精品课程-机器学习
开始
输入训练集D = {(x1; y1),(x2;
y2),...,(xm; ym)};
基础学习器L;循环次数T
初始化权重:D1(i) = 1/N;
初始化循环次数:t=1
在Dt下训练
得到弱假设
ht=L(D,Dt)
计算ht的错误率:
εtΣDt(i)[ht(xi)≠yi]
更新样本权值
t增1
Y
t<T
N
输出H(X)
结束
图 4.2 AdaBoost算法流程图
研究生特色精品课程-机器学习
• 为了简单起见,我们考虑两类分类任务,X代表样本空间,
Y代表类别标签,并且Y={+1,-1},给定训练数据集为D =
{(x1; y1),(x2; y2),...,(xm; ym)}, xi ∈X and yi∈Y (i=1;...;m)。
• 首先,给所有的训练样本赋以相同的权值。第t轮学习迭代
过程的权值分布为Dt,在训练集合和初始分布Dt下使用基
础学习算法,可得到一个初始分类ht : X→Y。然后使用训
练数据测试ht, 并增加分类错误的样本的权值,由此又可得
到一个更新过的权值分布Dt+1。由训练数据和Dt+1继续进
行分类。AdaBoost算法使用基础学习算法又可以生成另一
个基础学习器。以上过程反复T次,每次称为一轮,最终的学
习器通过使用权值多数投票方法由T个基础学习器得到。
研究生特色精品课程-机器学习
• 5.1 AdaBoost算法训练误差的上界
• AdaBoost算法最基本的一个理论上的性质就是它
可以降低训练误差,也就是减少对训练样本的错
误分类个数。如果我们把ht所产生的错误率εt,改
写为1/2-γt,既然一个假设随机地猜测每一个训练
样本的分类时所产生的错误率是1/2(此处仅考虑二
类问题),那么γt就衡量了弱假设的预测比一般的
随机猜测所“好的程度”。
研究生特色精品课程-机器学习
• Freund和schapire证明了最终假设H(x)所产生的分类误差存
在上界:
T
T
T
2
2  t2 )
•    [2  t (1   t )]   1  4 t  exp( KL(1/ 2 ||1/ 2   t ))  exp((4.1)
t 1
t 1
t
t 1
a )  (1  a) ln((1  a)
KL
(
a
||
b
)

a
ln(
)
其中
b
(1 是Kullback-Leibler散度。
b)
Sehapire和singer推广了Freund和sehapire的理论,得出了最
终分类器的分类误差的上界如下:
1
1
|{i : H ( xi )  yi }|  exp(  yi f ( xi ))   ( Zt ) Dt 1 (i) (4.2)
Zt

N
N i
i
t
t
其中 Zt   Dt (i) exp(at yi ht ( x i ))
i
研究生特色精品课程-机器学习
• 公式(4-2)表明如果每一个弱假设仅仅好于随机猜
测,最终输出假设的训练误差将以指数速度下降
至零。这就表明,我们所选择的弱假设仅仅需要
比随机假设好就可以了。
研究生特色精品课程-机器学习
5.2 训练轮数T的确定
• 在AdaBoost方法中,在弱分类器确定后,我们需
要知道的参数只有弱学习算法所需要进行的迭代
次数T。下面我们讨论一下如何选择迭代次数T:
• 如果所有的γt均为γ,则公式(4.1)可简化为
  exp( 2T 2 )
由此可以得到与最终假设H(x)误判率ε有关的一个足
够大的运行次数:
1
1
T  [ 2 ln ]

2
研究生特色精品课程-机器学习
• 但是在实际应用中,上述方法得到的T远远大于实
际需要值。我们往往采用远小于上述的一个值作
为T值。一个简单的确定T的方法就是采用交叉验
证(Cross-validation)。将训练集的一部分样本作
为检验集,用其余的训练产生最终假设H(x),选
择使训练误判率达到最小的循环次数作为T值 。
研究生特色精品课程-机器学习
5.3 基于泛化误差上界的分析
• 实际研究和设计一个算法时,我们真正关心的是它对于训
练样本以外的测试样本的效果,也就是它的泛化误差 。
• 机器学习以最小经验风险与期望风险之差为统计基础,称
为泛化误差 。
研究生特色精品课程-机器学习
• Freund和schaPire证明了怎样去界定最终假设的泛化误差,
此上界与其训练误差,样本个数N,弱学习算法的VC维d
以及Boosting算法的训练次数T相关。他们采用Baum和
Haussferlzll中所提出的方法,证明了泛化误差至多是:
~ Td
P̂r[ H ( x)  y]  O(
)
N
研究生特色精品课程-机器学习
• 其中 P̂r[]表示训练样本上的经验概率。这个边界
显示如果训练轮数T过大,即过度增加训练次数
的话,Boosting将出现过适应。
研究生特色精品课程-机器学习
• 某些时候AdaBoost的训练误差下降为零时其泛化
误差仍然持续下降。这些与前面的上界问题似乎有
悖。为了解释这些现象,sehapire和Freund给出了
基于训练例的margin(边际)的另一种解释。我们先
给出margin的定义。训练样本(x,y)的margin被定义
为:
y  at ht ( x)
m arg in ( x, y )  t
 at
t
这是[-1,l]上的一个值。
研究生特色精品课程-机器学习
• 当且仅当H正确的把样本(x,y)分类时margin才为
正数。正的margin表示正确预测,负的margin表
示错误预测。而且,margin的大小可以被解释为
对预测的置信度的衡量,较大的margin可信度较
高,较小的margin置信度较低。
研究生特色精品课程-机器学习
• schapire等人证明训练集上的较大的margin转化
为泛化误差的一个上界。特别的,泛化误差的上
界为
~
P̂r[m arg in( x, y )   ]  O (
d
)
2
N
研究生特色精品课程-机器学习
5.4基于优化理论的分析
• 实际上,AdaBoost算法是一个寻找弱分类器的线
性组合的一个过程。其目的是最小化
 exp(  yi f ( xi ))   exp(  yi  at ht ( xi ))
i
i
(4.8)
t
• 从本质上说,在每一步迭代中,AdaBoost通过调用基础学
习算法选取ht,然后计算at,然后再把它们的乘积累加到
前面迭代得到的分类器的组合中,用这样的方法使得上述
(4.8)指数和最小化。
研究生特色精品课程-机器学习
6
AdaBoost.M1
研究生特色精品课程-机器学习
• 以上基础Adaboost算法讨论的都是分类问题中的二类问题,
但事实上现实世界中我们所面对的大多数学习问题都是多
分类问题。于是,我们相应的把AdaBoost算法拓展到能够解
决多分类问题。其中最直接的拓展方法就是由Freund和
Schapire在1997年提出来的AdaBoost.M1算法 。
• 该算法在弱学习算法达到要求的精度时相当有效,即使是在
那些由AdaBoost算法所产生的 “困难”的分布上。
研究生特色精品课程-机器学习
开始
输入训练集D = {(x1; y1),(x2;
y2),...,(xm; ym)};其中yi∈Y={1,...,k}
基础学习器L;循环次数T
初始化权重:D1(i) = 1/N;
初始化循环次数:t=1
在Dt下训练
得到弱假设ht
计算ht的错误率:
εtΣDt(i)[ht(xi)≠yi]
εt>1/2
Y
设T=t-1
N
更新样本权值
Y
t增1
t<T
N
输出H(X)
结束
图4.3 AdaBoost.M1算法流程图
研究生特色精品课程-机器学习
• AdaBoost.M1算法伪代码 :
• 输入:训练集D = {(x1; y1),(x2; y2),...,(xm; ym)};与AdaBoost不同,其
中yi∈Y={1,...,k}
基础学习器L;训练循环轮数T;
• 初始化 D1(i) = 1/N ,第一次迭代时每个样本的权重都为1/N
• For t = 1 to T
在Dt下训练:
得到弱假设ht
计算ht的错误率:εt=ΣDt(i)[ht(xi)≠yi],如果εt>1/2,则设T=t-1,退出循
环
令αt=εt / (1-εt)
Dt (t ) t if ht ( xi )  yi
D
(
i
)


更新样本权值:
t 1
Zt  1 if ht ( xi )  yi
其中
Zt   Dt (i) exp(t yi ht ( xi ))
i
循环结束
• 输出:
1
H ( X )  arg max  log
yY
t
t:h ( x )  y
t
研究生特色精品课程-机器学习
• AdaBoost.M1最主要的缺点就是不能够处理那些
误差大于1/2的弱假设。一个随机猜测的假设的期
望误差是1-1/k,其中k是可能的类别的数量,因此当
k=2时,算法有效的必要条件就是预测仅仅好于随
机猜测。尽管如此,当k>2时, AdaBoost.M1是
AdaBoost最直接的多类扩展。当弱学习器强到在
AdaBoost产生的困难分布上也能获得合适的高精
度时,它足以解决多类的问题。若弱学习器不能在
这些困难分布上获得至少50%的精度,
AdaBoost.M1算法将失效。为此,在遇到复杂的多
分类问题时,常常尝试把它简化为多个二类问题加
以解决。
研究生特色精品课程-机器学习
7
AdaBoost.M2
研究生特色精品课程-机器学习
• AdaBoost算法的第二种变形尝试通过加强Boosting算法
和弱学习器之间的信息交流克服AdaBoost.M1的局限。首
先,我们让弱分类器生成一个更具表达性的0、1向量,而
不是仅在Y中有一个类别标志。直观上,这个向量中的第
y个分量表示对应正确的标注是y的置信度。接近1或者0的
分量分别对应可信或者不可信的标注。当我们给一个弱学
习器更多的传递信息时,也对其给出的弱假设提出更复杂
的要求。和一般的预测误差不同,我们使用一种称为“伪
损失”的更复杂的误差衡量方式和弱假设相配合。和一般
误差基于单个样本分布计算得到不同,伪损失由样本和对
应的错误标注的分布计算得到。通过对这种分布进行处理,
Boosting算法不仅能够在那一分类的样本专注于弱学习器,
更细节地,也专注于难以区分的错误标签。下面我们会看
到,基于上述思想的Boosting算法AdaBoost.M2在每个弱
假设的伪损失稍好于随机猜想的情况下能获得很好的性能
提升。
研究生特色精品课程-机器学习
开始
训练集D = {(x1; y1),(x2; y2),...,(xm;
ym)};其中yi∈Y={1,...,k};
基础弱学习器L;训练循环轮数T
;B={(i,y): i∈{1,...,m},y≠yi}
初始化D1(i,y)=1/|B|
其中(i,y)∈B
初始化循环次数:t=1
在Dt下训练
得到弱假设ht
计算ht的伪损失
更新样本权值
Y
t增1
t<T
N
输出H(X)
结束
图4.4 AdaBoost.M2算法流程图
研究生特色精品课程-机器学习
AdaBoost.M2算法伪代码 :
输入:训练集D = {(x1; y1),(x2; y2),...,(xm; ym)};其中
yi∈Y={1,...,k}
基础弱学习器L;训练循环轮数T;
B={(i,y): i∈{1,...,m},y≠yi}
初始化D1(i,y)=1/|B| 其中(i,y)∈B
For t = 1 to T
在Dt下训练:
得到弱假设ht 生成表示置信度的0-1向量
计算ht的伪损失:   1
Dt (i, y )(1  ht ( xi , yi )  ht ( xi , y ))

t
2 i , yB
令αt=εt / (1-εt)
Dt (t )
  t(1/ 2)(1 h ( x , y )  h ( x , y ))
更新样本权值: Dt 1 (i) 
Zt
其中 Zt   Dt (i) exp(t yi ht ( xi ))
i
循环结束
T
1
H
(
X
)

arg
max
(log
  )ht ( x, y)
输出:
yY
t
t 1
t
i
i
t
i
研究生特色精品课程-机器学习
8
Bagging
研究生特色精品课程-机器学习
• Bagging是Breiman提出的与Boosting相似的技
术。Bagging技术的主要思想是给定一个弱学习
算法和一训练集让该学习算法训练多轮,每轮的
训练集使用可重复抽样方法从初始的训练集中随
机取出的n个训练样本组成,初始训练样本在某
轮训练集中可以出现多次或根本不出现,一个样
本必定出现一次的概率是至少0.632。训练之后
可得到一个预测函数序列,最终的预测函数对分
类问题采用投票方式,对回归问题采用简单平均
方法对新示例进行判别。
研究生特色精品课程-机器学习
• Bagging与Boosting的区别在于Bagging的训练
集的选择是随机的,各轮训练集之间相互独立,
而Boosting的训练集的选择不是独立的,各轮
训练集的选择与前面各轮的学习结果有关;
Bagging的各个预测函数没有权重,而
Boosting是有权重的;Bagging的各个预测函
数可以并行生成,而Boosting的各个预测函数
只能顺序生成。对于象神经网络这样极为耗时
的学习方法,Bagging可通过并行训练节省大
量时间开销。
研究生特色精品课程-机器学习
• Bagging算法伪代码 :
• 输入:训练集D = {(x1; y1),(x2; y2),...,(xm; ym)};
基础学习器L;训练循环轮数T;
For t= 1,...,T
由原样本集D生成本次迭代的样本集Dt=Bootstrap(D);
由本次使用的样本集得到学习器ht
结束循环
T
输出: H ( x)  arg max yY 1( y  ht ( x)) 若括号内为真则求
t 1
和项为1,反之为0
研究生特色精品课程-机器学习
• Breiman对Bagging进行了理论分析,指出,分类
问题可达到的最高正确率为
r    max P(i | x) Px ( x)
i
利用Bagging可达到的正确率为
rA  
xC
max P(i | x) Px ( x)  
i
xC '
[ I ( A ( x)  i ) P(i | x)]PX ( x)
i
其中C表示序正确(orde correct)的输入集,
C’
为C的补集.
研究生特色精品课程-机器学习
• 研究表明,Bagging可以显著提高不稳定的基学习
器的泛化能力。以往的集成学习算法在生成多个
个体学习器之后,通常是对所有的个体都进行结合,
因此很多研究者尝试使用大规模的集成来解决问
题,但Bagging算法有时不能确定合适的集成规
模。利用中小规模的选择性集成可能获得更好的
性能。
研究生特色精品课程-机器学习
9
Stacking
研究生特色精品课程-机器学习
• 堆栈即Stacking,也译为“叠加”,是由Wolpert
于1992年提出的,由于该方法在理论上进行分析
和解释具有一定难度,所以没有的得到广泛的应
用。近年来随着集成学习的深入研究,也促成了
堆栈的兴起。
研究生特色精品课程-机器学习
• 堆栈算法适用于并行和分布式计算,该算法的主要思想是
通过对多个模型的输出结果进行泛化,将前一个学习器的
输出结果作为下一个的学习器的输入信息,从而使得前一
层的学习器的成果能够被后面的学习器充分利用,从而提
高学习的精度。该方法的特点是扩展性强,堆栈的层次可
以从一层至多层向上伸延,每一层的学习模型可以使用不
同的学习算法进行构造。与Boosting和Bagging算法不同,
堆栈法组合的是不同的学习模型。同时,堆栈法没有采用投
票法,而是采用了meta-learner(元学习模型)。投票法是因
为不知道该相信哪个分类器,堆栈法则尝试了解哪个分类
器更加精确,它采用了另一种学习算法,这种学习算法被称
为元分类器。
研究生特色精品课程-机器学习
• 元学习模型的输入被称为层模型,这个输入是由
基本学习模型或可以称为层模型的输出。层实例
的属性数目等于层分类器的个数,这些属性的属性
值是对应的基本学习模型对实例的输出结果,如
果堆栈学习模型应用于分类问题时,层学习模型首
先学习这些样本,然后每个学习模型都产生一个输
出值,这些输出值作为层学习模型的输入,这层学习
模型通过组合得出最终的分类结果。
研究生特色精品课程-机器学习
• 堆栈算法伪代码 :
For t = 1,..., T
使用不同的学习算法得到初级学习器ht=Lt(D)
End
初始化生成新的数据集D’ = Ф
For i = 1,...,m:
For t = 1,...,T;
使用学习器ht对样本xi进行分类zit = ht(xi)
%
End
D'  D'   zi1 , zi 2 ,..., zit  , yi 
End
h’=L(D’)
输出:H(x)=h’(h1(x),...,ht(x))
开始
研究生特色精品课程-机器学习
初始化循环次数:t=1
使用不同的学习算法
得到初级学习器ht=Lt(D)
Y
t<T
t增1
N
初始化生成新的数据集D’ =
Ф;初始化外循环次数i=1
初始化内循环次数:t=1
使用学习器ht对样本xi
进行分类zit = ht(xi)
Y
t<T
t增1
N
D’=
D’∪{{(zi1,,zi2,…,zit),yi
}}
Y
i增1
i<m
N
h’=L(D’)
输出:H(x)=h’(h1(x),...,ht(x))
结束
图4.6 堆栈算法的流程图
研究生特色精品课程-机器学习
• 在标准的堆栈方法中,通过引入不同的学习算法
得到一系列初级学习器,随后使用这些初级学习
器融合得到第二级学习器meta-learner。
研究生特色精品课程-机器学习
10 选择性集成
研究生特色精品课程-机器学习
10.1选择性集成的提出
• 既然集成学习通过多个学习器对同一个问题进行
学习可以比使用单一学习器获得更强的泛化能力,
那么是不是个体学习器越多越好呢?
• 一种直观的想法就是,也许可以通过使用大量的
个体学习器从而获得更好的泛化性能。
研究生特色精品课程-机器学习
• 但这一做法有很多负面的影响,首先当个体学习
器数目增加之后,一方面,在预测时需要更大的
计算开销,因为要计算更多的个体预测;另一方
面,需要更大的存储开销,因为有更多的个体需
要保存。同时个体学习器增多以后,学习器之间
的差异也将越来越难以获得。
研究生特色精品课程-机器学习
• 著名学者周志华等人在文献[86]中从理论上分析
和实验上证明了:在有一组个体学习器可用时,从
中选择一部分进行集成可能比使用所有个体学习
器进行集成效果更好。也就是说,为了达到期望
的性能,未必要使用更多的学习器,并由此提出
了选择性集成(selective Ensemble)这一范式。
研究生特色精品课程-机器学习
• 在解决一个问题时,我们通常可能会想出多种
解决方案,传统的做法是尽可能地选择出一种
最佳的方案来解决问题,而选择性集成的思想
则是对可以解决问题的多个方案进行适当的选
择,再把挑选出来的方案进行某种结合,用来
解决最终问题。
研究生特色精品课程-机器学习
10.2 选择性集成的理论基础
• 对于一个集成学习任务,我们可以训练出多个
学习器,根据“Many could Be Better Than
All”,从这些学习器中选择一部分来组成集成,
可能比使用所有的学习器进行集成效果更好,
它为选择性集成学习提供了理论基础。
研究生特色精品课程-机器学习
• 学习任务一般可分为回归和分类这两大类,回归的输出为
连续值,而分类的输出为离散值。由于这两类问题具有不
同的特点,其分析的方法也是不同的。
• 个体学习器的融合方式在回归问题上使用平均法,在分类
问题上使用投票法,但以下分析过程也可以推广到其它各
种融合方式。因此,本节的讨论具有一定的普遍性,可以
适用于各种不同的集成学习算法。
研究生特色精品课程-机器学习
• 1.回归任务
• 对于回归任务,假设个体学习器的数目为N,学习器的融
合方式使用加权平均法,学习目的是模拟函数f:Rm→Rn。
设f1,f2,…,fN分别代表各个个体学习器,wl,w2,…,wN分别为N
个个体学习器的权值,它们满足式(4.16)和(4.17):
0≤wi≤1
(4.16)
(4.17)
这时集成的第i个输出分量为:
N
wi  1
(4.18)

i 1
其中fil是第i个学习器的第l个输出分量。

N
f l   wi f
i 1
il
研究生特色精品课程-机器学习
• 为了简化讨论,这里假设各学习器的输出分量均只有
一个,则学习目的是建立模拟函数f:Rm→Rn,但文中
分析过程可以推广到各学习器的输出分量为多个的情
形。同时假设样本x∈Rm,按分布p(x)随机抽取,其对
应期望输出为d(x),而个体学习器fi的实际输出为fi(x)。
则输入样本对应的集成学习实际输出为:

N
f l   wi f i ( x)
i 1
研究生特色精品课程-机器学习
• 对于输入样本x,个体学习器fi的泛化误差为:
(4.20)
E ( x)  ( f ( x)  d ( x))
而集成学习的泛化误差为:


Ei ( x)  ( f ( x)  d ( x)) 2
(4.21)
这样第i个个体学习器fi和集成在分布p(x)上的泛
化误差分别为:
Ei   p( x) Ei ( x)dx
(4.22)


(4.23)
E  p( x) E ( x)dx
2
i
i

研究生特色精品课程-机器学习
• 定义个体学习器fi和fj的相关度(correlation)用下面
公式:
Cij   p( x)( fi ( x)  d ( x))( f j ( x)  d ( x))dx
• 由以上得到:

N
N
E ( x)   wi w j Cij
i 1 j 1
(4.28)
研究生特色精品课程-机器学习
• 为了简化讨论,这里假定所有个体学习器的权
值相同,即wi=1/N(i=1,2,…,N),即各个体
学习器的融合方式为简单平均法。代入式
(4.28)可得:  N N
2
E   Cij / N
i 1 j 1
• 当第k个学习器被剔除,则集成学习的泛化误
差变为
N N

E   Cij /( N  1) 2
i 1 j 1
ik j k
研究生特色精品课程-机器学习
 N

E   2 Cik  Ek  /(2 N  1)
 i 1

 ik


• 因此可以得出应被剔除的个体学习器需满足的条
件为:
(2 N  1) C  2 N  C  N E
N
N
N
2
i 1 j 1
ij
2
i 1
ik
ik
k
• 由以上可知,集成学习用于回归任务时,当产生
多个个体学习器之后,从中选择一部分进行集成
可能比使用所有学习器进行集成效果更好。
研究生特色精品课程-机器学习
2.分类任务
假设分类器集成分类的目的是模拟函数
f: Rm →Ω。分类器集成由N个个体分类器
为f1,f2,……,fN组成,集成学习结论的
生成采用参与集成的个体分类器通过多数
投票法产生。为了简化讨论,这里假定Ω
只包含两个类别标记,即所需逼近的函数
为f:Rm→{-1,+1},但本章中的讨论可以
推广到Ω包含多个类别标记的情形。
研究生特色精品课程-机器学习
• 设在m个示例样本上的期望输出D=[d1,d2,…,dm]T,
其中dj为第j个样本的期望输出。设fi表示第i个分
类器的实际输出,fi=[fi1,fi2,...,fim]T,其中fij为第i个
分类器在第j个样本上的实际输出。D与fi分别满足
dj∈{-1,+1}(j=1,2,…,m),fij∈{-1,l}(i=1,
2,…,N; j=1,2,…,m)。显然,当第i个分类
器在第j个样本上的实际输出正确的时候fijdj=+1 ,
错误的时候fijdj=-1。第i个分类器在这m个样本上
的泛化误差为:
1 m
Ei   Error ( fij d j )
m j 1
研究生特色精品课程-机器学习
• 其中,函数Error(x)定义为:
 1 x  1

Error ( x )  0.5
x0
 0
x 1

则集成在第j个样本上的输出为:

N
f j  Sgn( fij )
i 1
• 其中,函数Sgn(∙)为符号函数。
研究生特色精品课程-机器学习

• 显然, f j {1, 0, 1}( j  1, 2,..., m)
。
当集成在第
j个样本上的实际输出是正确的时候,


f j d j  1
有
,错误的时候,
f
d


1
j
j

当计算 f j 时,个体分类器输出+1和-1的次数
f j d j  0 ,此时出现平局(比如有10
相同,则
个分类器在投票的时候,其中5个分类器认为类别
是“+1”而另外5个分类器认为类别是“-1”。集
成的泛化误差为:


1 m
E   Error ( f j d j )
m j 1
研究生特色精品课程-机器学习
• 当我们从集成中剔除第k个个体分类器后,由
剩余分类器所组成的新的集成在第j个样本上
N
的输出为:  '
f j  Sgn( fij )
i 1
ik
• 新集成的泛化误差是:


1 m
E   Error ( f j' d j )
m j 1
'
研究生特色精品课程-机器学习
• 当剔除第k个分类器后,如果满足 E '  E
m
N
{Error (Sgn( f
j 1
i 1
,即
N
ij
)d j )  Error (Sgn( f ij )d j )}  0
i 1
ik
上式得到满足时,集成的泛化误差不会增大,反
而可能减少,新集成的效果会比原集成更好。
研究生特色精品课程-机器学习
• 应被剔除的个体学习器所需满足的条件为 :

j{ j |
N

f ij 1}
N
Sgn(( f ij  f kj )d j )  0
i 1
i 1
• 综上可知,集成学习用于分类任务时,当产生多
个个体分类器之后,从中选择一部分进行集成可
能比使用所有分类器进行集成效果更好。
研究生特色精品课程-机器学习
• 通过上面两种情况的分析讨论可知,在集成
学习训练出若干个体学习器后,无论是回归
问题还是分类问题,我们对其进行选择操作,
剔除部分不利于集成泛化误差减小的个体分
类器,使用剩余学习器进行集成可望比使用
所有学习器进行集成获得更好的泛化性能。
一个极端的例子就是当所有的个体分类器都
相同时,我们可以大幅减少集成的规模,但
其泛化能力不变。
研究生特色精品课程-机器学习
10.3 GASEN
• 尽管从理论上说,对于回归和分类问题,可以根据上述方
法实现集成时分类器的选择,但对于现实世界中的问题,
其计算量往往是极大、甚至是不可行的,并且对于多个输
出变量和多类别问题情况还要复杂的多。
• 因此,周志华等学者在提出选择性集成的思想以后,为了
验证选择性集成的可行性与正确性,提出了
GASEN(Genetic Algorithm based Selecte Ensemble)算
法,通过遗传算法来确定所需剔除的学习器,并取得了良
好的效果。
研究生特色精品课程-机器学习
• GASEN算法首先通过bootstrap技术产生一系列的
学习器,然后为各学习器指派一个可反映它们在
组成集成时重要性的权重系数,将这些权重系数
组成一个向量作为遗传种群中的个体进行进化,
最后根据求出的最优权向量的权值来确定应该被
剔除的学习器(如权值小于某个λ值入的学习器被
剔除)。
研究生特色精品课程-机器学习
GASEN算法伪代码
输入:训练集D = {(x1; y1),(x2; y2),...,(xm; ym)};
基础学习器L;训练循环轮数T;门限λ
For t= 1,...,T
由原样本集D生成本次迭代的样本集Dt=Bootstrap(D);
由样本生成神经网络Nt = L(Dt)
结束循环
生成权向量的种群
对种群进行进化(权向量w的适应度由度量)
得到进化后的最佳权向量w*
得到的集成后输出N*:
回归任务
N * ( x)  Ave Nt ( x)
wt*
N * ( x)  arg max
yY

wt*  ; Nt ( x )  y
1 分类任务
研究生特色精品课程-机器学习
开始
输入训练集D = {(x1; y1),(x2;
y2),...,(xm; ym)};
基础学习器L;
循环次数T;门限λ
初始化循环次数:t=1
由原样本集D生成本次迭代
的样本集Dt=Bootstrap(D)
由样本生成神经网络
Nt = L(Dt)
Y
t增1
t<T
N
生成权向量的种群
对种群进行进化
得到进化后的最佳权向
量w*和集成后输出N*
结束
图4.7 GASEN算法流程图
研究生特色精品课程-机器学习
10.4 选择性集成的发展
• 在选择性集成的实现方法上,自GASEN算法之后又出现了很多
其它的方法,例如wu等人在GASEN的基础上又提出了e-GasEN
李凯等通过聚类算法进行选择使得选择性集成算法的速度得
到了大幅的提高;Castro等使用人工免疫算法进行选择,也取
得了较好的效果;文献[90]中提出了一种simAnn算法,并提到
如果将这种算法与GASEN算法结合相信会产生更强的算法;王
丽丽在文献[91]中将蚁群优化算法用于选择性集成,提出了
ACOSEN算法,使得集成的准确率、时间效率和集成规模三个
方面都取得了显著提高;同样,傅强将两种高性能全局的优化
算法—粒子群优化(PSO)和蚁群优化(ACO)算法应用于选择性
神经网络集成,分别提出了基于离散二进制粒子群优化(BPSO)
的神经网络优选集成方法和基于蚁群优化的神经网络优选集
成算法。
研究生特色精品课程-机器学习
• 在选择性集成的应用上,周志华等人将选择性集
成的思想应用到人脸识别领域,提出了
SEME(selective Ensemble of Multiple
Eigenspaces)算法,并对本征脸、本征特征、本
征脸+本征特征、SEME等方法进行了实验比较,发
现SEME方法的识别效果明显优于其它方法。同时,
SEME还揭示出了另外一些重要信息,如眼、鼻之
间空间位置分布的重要性、眉毛的重要性等,这
也为新的人脸算法的设计提供一些重要的启示。
此外,在文献[93]中将选择性集成用于聚类,在
文献[94]中将选择性集成用于时序预测,均获得
了较好的效果。
研究生特色精品课程-机器学习
11 集成学习的应用
研究生特色精品课程-机器学习
• 较早期的应用来自国外研究者在字符识别方面的应用研究。
Drucker等采用多层前向神经网络作为弱学习器,网络的隐
层数以及隐层节点数随着数据库的不同而不同,对四种不同
的手写体数据库,分别是来自美国邮电部门(USPS)的12000
个邮政编码、来自美国国家标准和技术协会NIST的220000
个数字、45000个大写字母以及45000个小写字母,经过3次
迭代学习后采用投票的方式生成一个集成的分类器,试验结
果显示集成的分类器与单个神经网络相比识别效果大大提高,
测试误差最小降低了17%,最大降低了43%。在文献[96]中,
Freund和Schapire还以近邻分类器作为弱学习器,对USPS的
12000个手写体数字进行分类,其中9709个数字用于训练,
2007个数字用于测试,迭代30次后的测试误差为6.4%,单纯
使用近邻分类器的测试误差达到8.6%,误差降低26%。
研究生特色精品课程-机器学习
• Hansen等人利用集成学习技术进行手写体数字识别,
实验结果表明,集成的识别率比最好的单一学习器
识 别 率 高 出 20-25% 。 此 后 , Krogh 和 Sollich 将
AdaBoost用于手写体字符识别,系统对由200多个
人的手写字符所组成的数据库能达到1.4%的错误率,
而对UCI字符数据集则能达到2%左右的错误率。
• Mao比较了Boosting,Bagging等方法在改善OCR性能
上的效果。实验结果表明,虽然Boosting的精度在
零拒识率时略优于Bagging,但随着拒识率的上升
其优势迅速下降,最终在高拒识率时不敌Bagging。
研究生特色精品课程-机器学习
• Gutta等人又用集成学习技术进行多性别、多人种和
多姿态的正面人脸识别。他们使用了“分而治之
(divide and conquer)”的模块化方法,并利用决
策树和支持向量机来实现对个体学习器的选通
(gating)。Huang等人将集成学习技术用于图像在深
度方向上发生偏转的多姿态人脸识别,在省去了偏
转角度估计预处理的情况下,系统的识别精度甚至
高于单一个体学习器在理想偏转角度估计预处理协
助之下所能取得的最佳识别精度,除此之外,系统
还能在进行识别的同时给出一定的角度估计信息。
研究生特色精品课程-机器学习
• Cherkauer用集成来代替NASA的喷射推进实验室研
制的JARTOOL中的Gauss分类器,对Magellan空间
探测器收集到的关于金星的合成孔径雷达图像进
行分析,在火山检测方面达到了行星地质专家的
水平。
• Shimshoni和Itntrator利用集成学习技术进行地
震波分类。他们采用了二级集成方式,地震波信
号的三种不同表示分别被输入到采用不同网络结
构的三个集成中,每个集成都被赋予一个可信度,
第二级集成就以该可信度为权值,通过加权平均
对第一级的三个集成进行结合。
研究生特色精品课程-机器学习
• Schapire和Singer将Boosting用于文本分类(text
categorization)。他们通过实验发现,在该问题
上,Boosting的效果始终优于或相当于Rocchio等
常用技术。Weiss等人利用集成学习技术成功地在
使用小词典的基础上达到了很高的分类精度,并
且能够成功地用于对email的过滤。Torsten等将
Bagging用于树分类器,提出了一种bagged-CTREE
算法,用来解决医学当中激光扫描图像问题,并
通过实验验证了该算法的有效性。
研究生特色精品课程-机器学习
• 南京大学周志华与微软中国研究院的合作者一起,
将神经网络集成用于图像在深度方向上发生偏转
的多姿态人脸识别。将预测结果分解成多个特征
向量的加权和。建立多视角特征空间,为每一视
角的特征空间各训练一个神经网络,用另一个神
经网络对其结合。该系统的识别精度甚至高于多
个单一神经网络在理想偏转角度估计预处理协助
之下所能取得的最佳识别精度,这为更好的人脸
识别算法的设计起到了很好的指导作用。
研究生特色精品课程-机器学习
• 除了姿态、遮挡、表情变化等因素以外,周志华和
张宇还将集成学习技术用于解决人脸识别中的又
一问题——年龄估计。事实上,年龄估计是人脸识
别中对识别性能产生影响的又一重要因素。随着
时间的推移,人的面部特征处在不断的变化中,
若能准确建立人脸的年龄函数,则能对人脸识别
的结果产生积极的作用。张宇和周志华先使用经
过调整的WAS (Weighted appearance specific)方法,
再和代价敏感学习算法进行集成,获得了更好的
性能。
研究生特色精品课程-机器学习
• 在语音识别领域,AT&T实验室开发了一套自动语
音客户服务系统,这个系统首先必须正确识别出语
音并转换成相应的文本, 然后根据文本得出语义, 最
后根据语义进行相关应答。)文献[115]中也分别将
集成学习与自回归神经网络、动态贝叶斯网络等结
合起来应用于语音识别系统中的语音识别部分。
研究生特色精品课程-机器学习
• 集成学习也陆续应用于医疗诊断中,周志华等将
神经网络集成应用于肺癌细胞识别,采用二级集
成方法,第一级用于判断待测细胞是否为正常细
胞,只有所有个体都认为是正常细胞才决定,否
则进入第二级判断。该方法总体误识率较低,并
且将肺癌细胞判定为非癌细胞的误识率非常低。
其自主开发一套LCDS系统,将Boosting与神经网
络结合起来应用于肺癌细胞识别,并已投人实际应
用。
研究生特色精品课程-机器学习
• Hoffmann将Boosting与模糊分类器结合起来应用于
肺癌的诊断,Merler将Boosting与决策树一起应用
于皮肤癌的诊断。张新生等提出了一种Bagging的
改进算法,并利用其进行乳房x光图像的微钙化检
测,提高了分类正确率,降低了误检率。集成学
习在其它方面的应用也很多, 例如Tieu将其用于图
片检索, Moreno中将集成学习与简单的阈值函数
结合应用于网络上的声音文件检索,Furlanello 中
将其与决策树结合用于地理信息系统中的风险建
模,Onoda中用Boosting和RBF网络一起对家用电
器的运行情况进行检测, 以帮助电力公司对电力的
波峰和波谷进行调整。
研究生特色精品课程-机器学习
• 此外,集成学习还被广泛应用到信息检索排序学
习、机器人自动户外导航、辅助医疗诊断、药物
活性预测、聊天机器人知识获取、网络入侵检测
和基因数据分析等领域。
研究生特色精品课程-机器学习
12 总结和展望
研究生特色精品课程-机器学习
•
分类可视为机器学习的终极任务。长期以来,人们力
图寻求分类器性能的不断提升,但目前已有的单分类器算
法由于其自身存在的一些无法克服的局限,很难在更为广
泛的应用场景下取得理想的效果。集成学习是一种区别于
单分类器学习的机器学习范式,它使用多个(同质的或者
不同质的)学习器来解决同一个问题,因而可以有效地提
高学习系统的泛化能力。多分类器集成技术利用了各个单
分类器之间存在的信息互补性,充分发挥了各个分类器的
优势,弥补了各个分类器的不足,已成为改善分类系统泛
化性能和鲁棒性的主要手段之一。研究高效而广泛适用的
多分类器集成技术具有重要的理论和现实意义。
研究生特色精品课程-机器学习
• 本章主要介绍了机器学习中的集成学习方法,讨论了集成
学习方法的理论基础,基本概念及框架,分析了集成学习
方法可以有效地提高学习系统的泛化能力的原因,给出了
集成学习的主要作用,最后对集成学习方法的研究现状及
相关应用进行了阐述。事实上,传统的集成学习方法并不
完美,由于集成学习需要引入更多的分类器,必然导致计
算量增大,算法灵活性降低,同时研究者发现集成学习的
效果并不一定随着分类器个数的增加而增加。针对这一情
况,本章又介绍了一种新的集成学习思路,即选择性集成。
选择性集成使用一定的策略从原始集成的多个分类器中选
择出一部分进行继续学习,往往可以取得比单纯集成效更
好的效果。
研究生特色精品课程-机器学习
• 目前集成学习方法已经应用于工业、信息产业、
生物医学、交通、军事、管理学等社会生活的很
多领域,随着对集成学习研究的不断深入,集成
学习的性能和其应用模式将得到进一步提升和扩
展,集成学习必将在更为广泛的领域发挥更大的
作用。
研究生特色精品课程-机器学习
本章完