集成学习方法:研究综述
徐继伟, 杨云
云南大学 软件学院,云南 昆明 650500
通信作者:杨 云(1981-),男,辽宁人,博士生导师,教授,主要研究领域为机器学习,数据挖掘,模式识别,时间序列数据分析与处理.E-mail:yangyun@ynu.edu.cn.

作者简介:徐继伟(1995-),男,湖南人,硕士生,主要研究领域为机器学习,集成学习.E-mail:420076887@qq.com.

摘要

机器学习的求解过程可以看作是在假设空间中搜索一个具有强泛化能力和高鲁棒性的学习模型,而在假设空间中寻找合适模型的过程是较为困难的.然而,集成学习作为一类组合优化的学习方法,不仅能通过组合多个简单模型以获得一个性能更优的组合模型,而且允许研究者可以针对具体的机器学习问题设计组合方案以得到更为强大的解决方案.回顾了集成学习的发展历史,并着重对集成学习中多样性的产生、模型训练和模型组合这三大策略进行归纳,然后对集成学习在现阶段的相关应用场景进行了描述,并在最后对集成学习的未来研究方向进行了分析和展望.

关键词: 集成学习; Bagging; Boosting; Stacking
中图分类号:TP181 文献标志码:A 文章编号:0258-7971(2018)06-1082-11
A survey of ensemble learning approaches
XU Ji-wei, YANG Yu
School of Software,Yunnan University,Kunming 650500,China
Abstract

The process of solving machine learning can be regarded as searching for a learning model with strong generalization ability and high robustness in the hypothesis space,and it is more difficult to find a suitable model in the hypothesis space.However,as a class of combinatorial optimization learning methods,ensemble learning can not only combine multiple simple models to obtain a better performance model,but also allow researchers to design combination schemes for specific machine learning problems to get a more powerful solution.This paper reviews the development history of ensemble learning,and focuses on the three strategies of diversity generation,model training and model combination in ensemble learning,and then describes the relevant application scenarios of ensemble learning at the current stage.Finally,the future research direction of ensemble learning is analyzed and forecasted.

Keyword: ensemble learning; Bagging; Boosting; Stacking

近几十年以来, 由于集成学习能高效地解决实际应用问题, 所以在机器学习领域内备受关注.最初, 集成学习旨在提高自动决策系统的准确性, 而现如今此方法已经能够成功解决各种机器学习问题.本文概述集成学习的发展历史, 并且回顾现有的集成学习方法, 能够为读者提供集成学习系统的构造理论和集成学习方法.

实际上, 通过集成学习思想进行决策在文明社会开始时就已经存在了, 例如:在民主社会中, 公民们通过投票来选举官员或制定法律, 对于个人而言, 在重大医疗手术前通常咨询多名医生.这些例子表明, 人们需要权衡并组合各种意见来做出最终的决定.其实, 研究人员使用集成学习的最初目的和人们在日常生活中使用这些机制的原因相似.Dietterich[1]从数学角度解释了集成方法成功的3个基本原因:统计、计算和代表性.此外, 亦可通过偏差方差分解[2]对集成学习的有效性进行分析.

1979年, Dasarathy和Sheela首次提出集成学习思想[3].1990年, Hansen和Salamon展示了一种基于神经网络的集成模型[4], 该集成模型具有更低的方差和更好的泛化能力.同年, Schapire[5]证明了通过Boosting方法可以将弱分类器组合成一个强分类器, 该方法的提出使集成学习成为机器学习的一个重要研究领域.此后, 集成学习研究得到迅猛发展, 出现了许多新颖的思想和模型.1991年Jacobs提出了混合专家模型[6].1994年, Wolpert提出了堆叠泛化模型[7].1995年, Freund和Schapire提出了Adaboost算法[5], 该算法运行高效且实际应用广泛, 该算法提出后, 研究人员针对该算法进行了深入的研究[8, 9].1996年, Breiman提出了Bagging算法[10], 该算法从另一个角度对基学习器进行组合.1997年, Woods[11]提出了一种动态分类器选择方法.2001年, Breiman提出了随机森林算法[12], 该算法被誉为最好的算法之一.随着时代的发展, 更多的集成学习算法被提出, 并且在诸多领域都取得了重大突破.

1 集成学习主要策略

集成学习算法之间的主要区别在于以下3个方面[13]:提供给个体学习器的训练数据不同; 产生个体学习器的过程不同; 学习结果的组合方式不同.因此, 本章将具体介绍集成学习中多样性产生方法、基学习器训练方法和基学习器组合策略.

1.1 多样性

增强多样性是提高集成学习泛化能力的关键之一[14, 15, 16, 17], 文献[18, 19, 20, 21]对现有的多样性度量方法进行了详细的理论分析, 并阐述了多样性在集成学习中的重要性.在集成学习中, 主要从数据、参数和模型结构3个方面增强多样性.

1.1.1 数据样本多样性 产生数据多样性的方法主要有3种[22]:①输入样本扰动; ②输入属性扰动; ③输出表示扰动.

输入样本扰动:根据原始数据产生多个不同种类的数据子集, 然后利用不同的数据子集训练个体学习器.常用的方法有:重采样法, 通过有放回的采样得到固定样本容量的数据子集, 序列采样法, 根据前一轮的学习结果进行采样.在此基础上, Y Yang等[23, 24]结合Bagging和Bosting的优势, 提出了一种混合采样的聚类集成方法.

输入属性扰动:从初始属性集中抽取出若干属性子集, 再基于每个属性子集训练基学习器[25, 26, 27].该方法不仅能产生差异性大的个体, 还会因属性数的减少而大幅节省计算时间.使用该方法的算法有:随机子空间算法[28]; 随机森林算法[12].特征集拆分同样是一种输入属性扰动方法[29], 该方法通过将原始特征集拆分成多个不相交的特征子集来分别训练个体学习器, 最后集成多个学习器得到最终模型.一些研究表明, 在高维特征的学习任务中, 特征集拆分具有良好的表现效果[30, 31, 32].因此, L Rokach等[33]还提出了一个搜索特征集拆分结构的通用框架.由于时间数据通常具有高维度的特征空间, Y Yang等[34]提出一种基于隐马尔科夫的拆分集成方法, 该方法巧妙地解决了模型初始化和模型选择问题.

输出表示扰动:对输出表示进行操纵以增强多样性, 可对训练样本的类标进行变动.常用算法有:翻转法[35], 随机改变一些训练样本的标记; 输出调制法[35], 将分类输出转化为回归输出后构建个体学习器; 将原始任务拆解为多个可同时求解的子任务, 如ECOC法[36], 多分类拆解为一系列的二分类.

1.1.2 算法参数多样性 算法参数多样性是指通过使用不同的参数集来产生不同的个体学习器.即使每个个体学习器都使用相同的训练集, 但是由于使用的参数不同, 其输出也会随参数的改变而变化.例如, 在众所周知的决策树算法C4.5[37]中, 置信因子会大大影响该算法的学习效果, 利用在不同参数值下多次运行C4.5算法的策略, 则可以得到不同的决策树来构造集成系统[38].多核学习(MKL)[39]也是一种增强参数多样性的集成学习方法, 它采用调整每个内核的参数和组合参数的方法, 将多个内核的优点组合, 然后用于分类或回归.在神经网络中, 通过改变网络中的节点数[40, -41], 或者将不同的初始权重分配给网络[42], 或者使用不同的网络拓扑结构[43]来提高网络多样性.

在提高学习效果的目标下, 每个学习器的评价函数被扩展为增强多样性的惩罚项.其中, 最常用的惩罚方法是负相关学习[44, 45, 46, 47].在集成学习中, 负相关学习思想采用不同的学习器来表示问题的不同子空间, 在训练学习器时, 使用误差函数中的相关性惩罚项来提高学习器之间的多样性.

1.1.3 结构多样性 结构多样性主要是由个体学习器的内部结构或外部结构的不同所产生的.在一个集成学习系统中, 如果个体学习器都是由同种算法训练产生的, 则称之为同质集成.相反的, 如果一个集成系统中包含着不同类型的个体学习器, 则称之为异质集成[48].W Wang等[49]通过实验证明, 在神经网络集成系统中添加一些决策树(但不能太多)通常会提高整体的性能.文献[50]指出, 在训练模型时, 先让集成系统无限地扩展, 然后再进行修剪, 有时可以获得更有效的模型.Liu等[51]通过实验探究集成系统大小如何影响集成学习的精度和多样性, 证明从一个大的集成系统中构造一个小的集成系统既能确保准确性, 又能保证多样性.随后Zhou等[52]提出了一种模型选择方法, 该方法可以得到一个结构简单、性能优越的集成学习系统.理想情况下, 个体学习器的输出应该是独立或是负相关的[53, 54].

1.2 基学习器训练方法

随着集成学习研究领域的不断发展, 虽然研究者们不断提出新的集成学习算法, 但是这些算法大都是由一些经典算法如:Bagging、Boosting、Stacking等改编得到的, 这些经典算法具有良好的效果且被广泛应用于各个领域, 本节将对以上3种经典的集成学习算法进行分析和对比.

1.2.1 Bagging Bagging算法[10](Bootstrap Aggregation)是最早的集成学习算法之一, 它虽然结构简单, 但是表现优越.该算法通过随机改变训练集的分布产生新的训练子集, 然后分别用不同的训练子集来训练个体学习器, 最后将其集成为整体.

该算法中, 由于使用自助采样法来产生新的训练子集, 一些实例会被多次采样, 而其他实例会被忽略, 因此, 对于特定的子空间, 个体学习器会具有很高的分类精度, 而对于那些被忽略的部分, 个体学习器难以正确分类.但是, 最终的预测结果是由多个个体学习器投票产生的, 所以当个体学习器效果越好且它们之间的差异越大时, 该集成算法的效果就会越好.由于不稳定的学习算法对于训练集比较敏感, 训练集只要产生一些微小的变化, 就会导致其预测结果发生很大的改变, 所以Bagging算法对于不稳定学习算法非常有效.

Bagging算法适合于解决训练集较小的问题, 但对于具有大量训练集的问题, 其效果就会下降, 因此Breiman[55]基于Bagging设计了Pasting Small Votes算法, 该算法能够有效地应对数据量较大的机器学习问题.文献[56, 57, 58, 59, 60]对Bagging进行了深入的研究, 在文献[59]中, 作者认为对于弱学习器, Bagging训练得到的个体学习器是强相关的, 因此Bagging方法在这种情况下通常表现较差.因为个体学习器的选择能直接改变Bagging算法的集成效果, 所以周志华等[61]提出了一种基于Bagging选择性聚类集成算法, 并且张春霞等[62]详细介绍了多种选择性集成学习方法.

图1是Bagging算法的整个流程, 该算法可以并行训练个体学习器, 因此该算法具有很高的运行效率.

1.2.2 Boosting Boosting算法是一种将弱学习器转换为强学习器的迭代方法, 它通过增加迭代次数, 产生一个表现接近完美的强学习器.其中, 弱学习器是指分类效果只比随机猜测效果稍好的学习器, 即分类准确率略高于50%.在实际训练中, 获得一个弱学习器比获得一个强学习器更加容易.因此, 对于Boosting系列算法的研究意义非凡.Boosting算法除了具有良好的实际性能外, 还具有强大的理论基础和算法特点[63, 64, 65, 66, 67].

图1 Bagging算法流程图Fig.1 Procedure of Bagging algorithm

对于监督学习, 该算法在第一个分类器之后产生的每一个分类器都是针对前一次未被正确分类的样本进行学习, 因此该算法可以有效地降低模型的偏差, 但随着训练的进行, 整体模型在训练集上的准确率不断提高, 导致方差变大, 不过通过对特征的随机采样可以降低分类模型间的相关性, 从而降低模型整体的方差.当主分类器不能被信任, 无法对给定对象进行分类时, 例如, 由于其结果中的置信度低, 则将数据输送到辅助分类器, 按顺序添加分类器[68, 69, 70, 71].下面将对Boosting算法的流程进行简单介绍.

如图2所示, Boosting算法反复运行一个弱学习器来处理不同分布的训练数据, 然后按照顺序将每次产生的弱学习器组合成一个复合强学习器.

图2 Boosting算法流程图Fig.2 Procedure of Boosting algorithm

1.2.3 Stacking Stacking也称Stacked Generalization[7], 它是指训练一个用于组合所有个体学习器的模型, 即首先训练多个不同的个体学习器, 然后再以这些个体学习器的输出作为输入来训练一个模型, 从而得到一个最终的输出.文献[72]给出了适用于派生更高层次模型的一般化类型, 以及该通用模型的输出属性.文献[73]对比了投票法和Stacking法, 结果表明在很多领域中Stacking的效果都优于投票法.在Stacking算法中, 由于基础学习器、元学习器和参数的选择会直接决定学习效果, 因此Ledezma等[74]使用遗传算法来选择该算法的最佳配置.接下来本文对Stacking算法的流程进行简单介绍.

如图3所示, 首先在整个训练数据集上通过重采样方法得到多个训练子集, 然后使用这些新产生的训练集训练得到一系列分类模型, 称之为Tier 1, 然后将Tier1的输出组合后用于训练Tier2的元分类器.除了重采样方法, 交叉验证也经常在训练Tier1分类器时使用, 即首先将训练集分成N等份, 然后Tier1中的每个个体学习器根据前N-1份训练集进行训练, 最后在第N份训练集上测试.

1.2.4 3种算法优缺点分析 Bagging、Boosting和Stacking 3种集成学习算法各具特色, 分别从不同的角度解决机器学习问题, 因此本文分析并对比了3种算法, 将它们的优势和不足总结如下.

Bagging通过重采样方法从原始训练集中有放回的采样得到多个训练子集, 由于各个训练子集相互独立, 降低了基分类器的方差, 改善了泛化误差, 并且重采样方法可以有效降低原始训练集中随机波动导致的误差, 使得不稳定的学习器具有更好的学习效果.因为该算法中的基学习器权重相同, 所以基学习器的选择会直接影响集成结果, 不稳定的基学习器不仅能提供良好的学习效果, 而且能根据训练集的不同产生多样性, 因此Bagging与不稳定的学习算法相结合通常能产生一个强大的学习模型, 并且具有良好的抗噪能力, 而且各个基学习器可以并行生成, 提高运行效率.

Boosting在每轮训练中使用的训练集不变, 但训练集中每个样例会根据上一轮的学习结果进行调整, 使新学习器针对已有学习器判断错误的样本进行学习.这种方法能够显著提高弱学习器的学习效果, 但很容易受到噪声的影响产生过拟合现象, 并且每个基学习器只能顺序生成, 训练效率相对较差.

Stacking使用初级学习器产生新的训练集来训练次级学习器, 但如果直接使用初级学习器的训练集来产生次级训练集会有很大的风险造成过拟合, 因此通常使用交叉验证方法来产生次级训练集.在该算法中, 次级训练集的数据类型和次级学习器的选择是两个关键因素.使用多个强大而不同的初级学习器并且使用类标概率代替预测类标作为次级学习器的属性会产生更好的结果, 并且次级学习器选择简单的模型会降低过拟合的风险.

图3 Stacking算法流程图Fig.3 Procedure of Stacking algorithm

1.3 基学习器的组合策略

构建集成学习系统的最后一步就是选择个体学习器的组合策略.集成学习系统可以根据个体学习器的表现来决定是否使用该学习器[75, 76].下面本节将介绍几种常用的组合策略.

1.3.1 投票法 简单投票法一般分为以下2种:

(1) 绝对多数投票(majority voting):当某类标的得票数超过个体学习器数量的一半以上时, 将该类标作为预测结果输出, 若不存在得票数超过一半的类标, 则拒绝预测.

(2) 相对多数投票(plurality voting):取得票数最多的类标作为预测结果输出, 不需要考虑得票数是否超过个体学习器数量的一半, 若多个类标都获得最高的得票数, 则随机选择其中一个类标输出.

在学习任务中, 若必须要求集成学习系统提供预测结果, 则绝对多数投票就变成了相对多数投票法, 因此通常将这两种方法统称为多数投票法.因为学习器的训练方法和采用的算法存在区别, 所以集成学习系统中个体学习器的学习能力也不同, 在投票过程中如果能将个体学习器的学习能力考虑进去, 将可以进一步的提高整个系统的性能.

加权投票法[77](weighted voting):首先估计出个体学习器的误差, 然后令权重大小与误差大小成反比, 最终T个个体学习器加权投票的结果可以表示为:

H(x)= i=1Twihi(x), (1)

其中wi为第i个个体学习器的权值, 通常wi> 0, 并且 i=1Twi> 0.

1.3.2 平均法 平均法是一种组合连续数值型输出常用的方法, 它主要分为简单平均法(simple averaging)和加权平均法(weighted averaging).简单平均法可以表示为:

H(x)= 1Ti-1Thi(x), (2)

其中为第i个个体学习器.

加权平均法结合了简单平均法和加权投票法, 与加权投票法不同的是加权平均法中的权值不是用于类标, 而是直接应用于实际的连续输出值.加权平均法的权值可以在集成系统生成期间作为训练的一部分获得, 如AdaBoost算法中权值的产生, 或者可以通过单独的训练来获得.加权平均法可以表示为:

H(x)= i-1Twili(x). (3)

2 集成学习的应用

时间序列分析、医疗健康和入侵检测三大领域与人们生活息息相关, 因此被研究人员广泛关注.但由于这3个领域都具有数据维度高、数据结构复杂和特征模糊等特点, 难以进行人工分析与处理, 因此机器学习方法的引入使得3个领域的研究取得了突破.在各种机器学习方法中, 集成学习作为一种可以最大化提升学习效果的技术, 推动了诸多领域的快速发展, 因此集成学习也被广泛应用于这3个领域并取得了良好的效果.本文将集成学习在这3个领域中的应用进行了概述.

2.1 在时间序列上的应用

集成学习被广泛用于预测天气[78]、电气设备和化工装置的损耗, 卫星通信和雷达数据等时间序列.时间序列预测与普通预测的区别在于, 随着时间的推移, 可能会在概念或分布上发生一些偏差.处理这些问题最有效的方法是使用多个学习器共同决策, 因为多个学习器相比于单个学习器具有更好的泛化能力.

在时间序列预测方面, Md M Islam等[79]提出了CNNE(cooperative neural-network ensemble)算法, 该算法通过使用一个特定的构造方法来决定神经网络中隐藏节点个数, 以此保证每个神经网络的准确性, 并且使用基于负相关的增量训练法来获取不同周期的神经网络, 从而确保个体神经网络的多样性.D Kim等[80]提出了一种GFPE(genetic fuzzy predictor ensemble)算法, 该算法分为两阶段, 第一阶段生成一个尽可能涵盖多的训练样例的模糊规则库, 第二阶段建立微调隶属函数来降低预测误差, 最后加权组合每个模糊预测器的结果进一步的减少预测误差.Assaad等[81]将boosting和RNN相结合, 进一步提升了RNN在时间序列预测方面的效果.熊志斌[82]提出了一种基于ARIMA和神经网络集成的GDP时间序列预测算法, 该集成算法优于单一模型并且能够有效用于GDP预测时间序列分类方面, J Neugebauer等[83]设计出了一个通用的级联分类模型, 它可以将高维分类任务分解为一系列低维任务, 因此它不仅适用于时间序列, 也可以用于处理其他具有复杂数据结构的数据集.A Bagnall等[84]提出了一种将监督式集成学习和转换数据空间相结合的方法, 该方法首先将原始时间序列在时间、频率、变化和shapelet四个领域上进行转换, 然后再使用监督式集成学习方法生成模型.更多关于使用集成学习进行时间序列分类的研究可以参考[85, 86, 87].

时间序列聚类方面, Y Yang等[88]提出了一种结合RPCL网络和集成学习的方法, 该方法用多个RPCL网络分别聚类不同表征学习后的时间序列, 从而产生多个竞争学习的结果并将其组合, 然后使用几个共识函数(consensus function)在组合结果上学习, 最后采用一种最优的选择函数来输出结果.此外, 文献[89]中提出的加权聚类集成算法也表现出卓越的性能, 该算法通过使用不同特征表示方法对同一个时间序列进行特征学习, 然后利用加权共识函数(weighted consensus function)对产生的所有特征进行学习, 最后采用协议函数(agreement function)来输出结果.针对基于隐马尔科夫的时间数据聚类问题, 一种双加权集成方法[90]和混合元聚类集成方法[91]被提出, 这两种方法都能有效地解决模型初始化和模型选择的问题.更多关于时间序列聚类的研究可以参考[92, 93, 94, 95].

2.2 在医疗健康上的应用

医疗领域数据通常具有数据量大、数据质量不高和数据不精确等特点.然而, 用于医疗诊断的专家系统需要具有高度精确性, 因为其结果将直接关系到患者的生命, 现有的专家诊疗系统有:计算机辅助诊断系统[96](Computer Aided Diagnosis, CAD)、临床决策支持系统[97](Clinical Decision Support System, CDSS)等.因此, 在该领域利用集成学习方法集成多个“ 专家” 进行决策的系统相比只根据单个“ 专家” 进行决策的系统具有更高的准确性.

Y Li等[98]针对帕金森病设计出一种基于语音数据的分类算法.B Lssac等[99]提出了一种基于特征选择和数据分类的集成学习方法, 此方法用于癌症诊断和评分.D Subramanian等[100]在预测心力衰竭方面提出了一个结合时间序列测量方法和多元逻辑回归集成模型的方法.Guo Haoyan等[101]设计了一种针对肺结节检测的多层次特征选择和集成学习的计算机辅助诊断系统.李霞等[102]提出了一种基于递归分类树的特征基因选择的集成方法, 该方法不仅能够寻找疾病相关基因, 而且能显著提高疾病的分类准确率.A C Tan等[103]将Bagging、Boosting和C4.5决策树算法相结合, 在癌基因表达谱中利用微阵列分析对癌症基因组数据进行分类.并且, 集成学习在生物信息方面也具有广泛的应用[104, 105, 106, 107].

2.3 在入侵检测系统中的应用

互联网, 手机, 电子商务, 基于PC的通信和信息系统已成为日常生活的一部分.这些系统的广泛使用使通信变得更加方便快捷, 增加了数据传输和信息共享量, 并提高了生活质量.由于通信系统在许多领域都有使用, 因此当它们受到诸如病毒, 蠕虫, 特洛伊木马等各种攻击的困扰时, 便会对日常生活造成很大的影响.关于发现攻击并消除其影响的研究被称为入侵检测系统(IDS)[108].可将IDS研究看作是将网络的正常行为与攻击行为分开的分类任务.机器学习和数据挖掘算法在IDS研究中被广泛使用, 其主要目的是解决IDS泛化能力差的问题.由于攻击者会不断改变并提高他们的能力, 所以对IDS的研究将是永无止境的[109, 110, 111].P Mehetrey等[112]研究了一种基于集成学习方法的协同入侵检测系统, 它允许使用未开发的云资源来检测云系统上的各种类型的攻击.谷雨等[113]针对于新的入侵行为, 提出了一种集成PCA、ICA和增量式支持向量机的分类系统.P Sornsuwit等[114]针对于U2R和R2L这两种难以检测的网络入侵攻击, 采用AdaBoost算法创建一个可以保护安全性并提高分类器性能的模型.S Chebrolu等[115]提出了一种基于集成学习方法的混合体系结构, 它将不同的特征选择算法组合, 通过确定重要的输入特征, 从而建立一个高效的入侵检测系统.G Giacinto等[116]针对网络流量中不同的协议与服务, 提出了一种基于模块化多分类器系统(MCS)的无标签网络异常入侵检测系统, 其中每个模块都会模拟一组特定的网络协议或者服务类型.

3 总 结

人类做出重大决定前会寻求多种意见来辅助决策, 集成学习算法就是模仿这种行为而产生的.七十年代后期, 模式识别、统计学和机器学习等学科的研究人员开始对集成学习方法进行研究.随着研究热情不断增长, 并且对于集成学习的研究不断深入, 多种集成学习方法被提出并被广泛应用于各个领域.

集成学习通过结合多个学习器来为各种机器学习问题提供解决方案, 其模型能够解决很多单一模型无法解决的问题.由于大部分集成学习算法对基础学习器的类型没有限制, 并且它对于诸多成熟的机器学习框架都具有良好的适用性, 因此集成学习也被称为“ 无算法的算法” .

已有集成学习算法还存在很多不足和局限性, 例如, 若想通过Bagging算法取得较好的集成效果, 则需要基学习器同时具备高效的学习能力以及高度的数据敏感性.Boosting算法在训练带有噪声的数据时容易产生过拟合问题.因此集成学习在很多方面还需进一步研究, 后续的研究工作可以从以下几个方面展开:①集成学习结构优化:针对集成学习系统的内部结构和外部结构进行研究, 使集成学习系统的性能进一步提高.②集成学习模型选择:对集成学习系统中的模型进行选择, 将冗余和对结果有负面影响的模型移除.③集成学习模型融合:对于非监督算法, 其输出结果较为复杂, 适用于监督式集成学习算法的模型融合策略无法使用.

本文首先对集成学习的发展历史进行了简要的介绍, 然后对集成学习的三大支柱进行了详细的阐述, 最后列举了集成学习在具体问题中的应用.本文为集成学习的初学者提供了一个完整的学习框架, 清晰地对集成学习方法进行了较为全面的阐述, 希望通过本文的介绍, 读者能够了解集成学习系统构造方法和基本的集成学习模型, 并且鼓励读者继续探索研究集成学习, 也可以将集成学习方法引入自身研究领域, 为该领域的研究提供一种新的思路.

The authors have declared that no competing interests exist.

参考文献
[1] DIETTERICH T G. Ensemble methods in machine learning[J]. Proc International Workshop on Multiple Classifier Systems, 2000, 1857(1): 1-15. [本文引用:1]
[2] KOHAVI R, WOLPERT D. Bias plus variance decomposition for zero-one loss functions[C]. Thirteenth International Conference on International Conference on Machine Learning, 1996: 275-283. [本文引用:1]
[3] DASARATHY B V, SHEELA B V. A composite classifier system design: Concepts and methodology[C]. Proceedings of the IEEE, 1979, 67(5): 708-713. [本文引用:1]
[4] HANSEN L K, SALAMON P. Neural network ensembles[C]. IEEE Computer Society, 1990: 993-1001. [本文引用:1]
[5] FREUND Y, SCHAPIRE R E. A decision-theoretic generalization of on-line learning and an application to boosting[J]. Journal of Computer and System Sciences, 1997, 55(1): 23-37. [本文引用:2]
[6] JACOBS R A, et al. Adaptive mixtures of local experts[J]. Neural Computation, 1991, 3(1): 79-87. [本文引用:1]
[7] WOLPERT D H. Stacked generalization[M]. US: Springer, 1992: 241-259. [本文引用:2]
[8] FREUND Y, SCHAPIRE R E. Game theory, on-line prediction and boosting[C]. Conference on Computational Learning Thoery, 1996. DOI: DOI:10.1145/238061.238163. [本文引用:1]
[9] FREUND Y, SCHAPIRE R E. Experiments with a new boosting algorithm[C]. International Conference on Machine Learning, 1996: 148-156. [本文引用:1]
[10] BREIMAN L. Bagging predictors[J]. Machine Learning, 1996, 24: 123-140. [本文引用:2]
[11] WOODS K S, KEGELMEYER W P, BOWYER K W. Combination of multiple classifiers using local accuracy estimates[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1997, 19(4): 405-410. [本文引用:1]
[12] BREIMAN L. Rand om forests[J]. Machine Learning, 2001, 45(1): 5-32. [本文引用:2]
[13] ZHANG C, ZHANG C. HC/Technik/Sonstiges. Ensemble Machine Learning[M]. US: Springer, 2009. [本文引用:1]
[14] BROWN G, et al. Diversity creation methods: a survey and categorisation[J]. Information Fusion, 2005, 6(1): 5-20. [本文引用:1]
[15] TO G B, BROWN G. Diversity in neural network ensembles[D]. Birmingham: University of Birmingham, 2004. [本文引用:1]
[16] TUMER K, GHOSH J. Error correlation and error reduction in ensemble classifiers[J]. Connection Science, 1996, 8(3/4): 385-404. [本文引用:1]
[17] KROGH A, VEDELSBY J. Neural network ensembles, cross validation and active learning[J]. International Conference on Neural Information Processing Systems, 1994, 7(10): 231-238. [本文引用:1]
[18] TANG E K, SUGANTHAN P N, YAO X. An analysis of diversity measures[J]. Machine Learning, 2006, 65(1): 247-271. [本文引用:1]
[19] BANFIELD R E, et al. Ensemble diversity measures and their application to thinning[J]. Information Fusion, 2005, 6(1): 49-62. [本文引用:1]
[20] KUNCHEVA L I, WHITAKER C J. Measures of diversity in classifier ensembles and their relationship with the ensemble accuracy[J]. Machine Learning, 2003, 51(2): 181-207. [本文引用:1]
[21] KUNCHEVA L I. Combining pattern classifiers: methods and algorithms[M]. New Jersey: John Wiley Sons, 2004. [本文引用:1]
[22] ZHOU Z H. Ensemble methods: foundations and algorithms[M]. Taylor & Francis, 2012: 77-79. [本文引用:1]
[23] YANG Y, JIANG J. Hybrid sampling-based clustering ensemble with global and local constitutions[J]. IEEE Transactions on Neural Networks & Learning Systems, 2017, 27(5): 952-965. [本文引用:1]
[24] YANG Y, CHEN K. Unsupervised learning via iteratively constructed clustering ensemble[C]. International Joint Conference on Neural Networks, 2017: 1-8. [本文引用:1]
[25] BOSTROM H. Feature vs. classifier fusion for predictive data mining a case study in pesticide classification[C]. International Conference on Information Fusion, 2007: 1-7. [本文引用:1]
[26] HAN D Q, HAN C Z, YANG Y. Multi-class SVM classifiers fusion based on evidence combination[C]. International Conference on Wavelet Analysis and Pattern Recognition, 2008: 579-584. [本文引用:1]
[27] MAIMON O, ROKACH L. Improving supervised learning by feature decomposition[J]. International Symposium on Foundations of Information and Knowledge Systems, 2002, 2284: 178-196. [本文引用:1]
[28] HO T K. The rand om subspace method for constructing decision forests[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1998, 20(8): 832-844. [本文引用:1]
[29] ROKACH L. Genetic algorithm-based feature set partitioning for classification problems[J]. Pattern Recognition, 2008, 41(5): 1676-1700. [本文引用:1]
[30] ROKACH L. Decomposition methodology for classification tasks: a meta decomposer framework[J]. Pattern Analysis & Applications, 2006, 9(2/3): 257-271. [本文引用:1]
[31] KUSIAK A. Decomposition in data mining: an industrial case study[J]. IEEE Transactions on Electronics Packaging Manufacturing, 2000, 23(4): 345-353. [本文引用:1]
[32] YANG Y, LIU X, YE Q, et al. Ensemble learning based person Re-Identification with multiple feature representations[J]. Complexity, 2018(To Appear). [本文引用:1]
[33] ROKACH L, MAIMON O. Feature set decomposition for decision trees[M]. Nethorland s: IOS Press, 2005: 131-158. [本文引用:1]
[34] YANG Y, JIANG J. HMM-based hybrid meta-clustering ensemble for temporal data[J]. Knowledge-Based Systems, 2014, 56: 299-310. [本文引用:1]
[35] BREIMAN L. Rand omizing outputs to increase prediction accuracy[J]. Machine Learning, 2000, 40(3): 229-242. [本文引用:2]
[36] DIETTERICH T G, BAKIRI G. Solving multiclass learning problems via error-correcting output codes[J]. AI Access Foundation, 1994, 2(1): 263-286. [本文引用:1]
[37] SALZBERG S L. C4. 5: Programs for machine learning by J. Ross Quinlan. Morgan Kaufmann Publishers 1993[J]. Machine Learning, 1994, 16(3): 235-240. [本文引用:1]
[38] LEE S J, XU Z, LI T, et al. A novel bagging C4. 5 algorithm based on wrapper feature selection for supporting wise clinical decision making[J]. Journal of Biomedical Informatics, 2017, 78: 144-155. [本文引用:1]
[39] GÖNEN M, ALPAYDIN E. Multiple kernel learning algorithms[J]. Journal of Machine Learning Research, 2011, 12: 2211-2268. [本文引用:1]
[40] PARTRIDGE D, YATES W B. Engineering multiversion neural-net systems[J]. Neural Computation, 1996, 8(4): 869-893. [本文引用:1]
[41] YATES W B, PARTRIDGE D. Use of methodological diversity to improve neural network generalisation[J]. Neural Computing & Applications, 1996, 4(2): 114-128. [本文引用:1]
[42] JORDAN M I, LECUN Y, SOLLA S A. Advances in neural information processing systems[J]. Biochemical & Biophysical Research Communications, 2002, 159(6): 125-132. [本文引用:1]
[43] OPITZ D W, SHAVLIK J W. Generating accurate and diverse members of a neural-network ensemble[J]. Advances in Neural Information Processing Systems, 1996, 8: 535-541. [本文引用:1]
[44] LIU Y. Generate different neural networks by negative correlation learning[J]. Springer Berlin Heidelberg, 2005, 3 610: 417-417. [本文引用:1]
[45] BROWN G, WYATT J. Negative correlation learning and the ambiguity family of ensemble methods[C]. Multiple Classifier Systems, Internation Workshp MCS, Guilfod UK, 2003: 266-275. [本文引用:1]
[46] ROSEN B E. Ensemble learning using decorrelated neural networks[J]. Connection Science, 1996, 8(34): 373-384. [本文引用:1]
[47] YANG Y, CHEN K. An ensemble of competitive learning networks with different representations for temporal data clustering[C]. International Joint Conference on Neural Networks, 2006: 3120-3127. [本文引用:1]
[48] YANG Y, LIU X. A robust semi-supervised learning approach via mixture of label information[M]. Amsterdan: Elsevier Science Inc, 2015. [本文引用:1]
[49] WANG W, JONES P, PARTRIDGE D. Diversity between neural networks and decision trees for building multiple classifier systems[C]. International Workshop on Multiple Classifier Systems, 2000: 240-249. [本文引用:1]
[50] ROKACH L. Collective-agreement-based pruning of ensembles[J]. Computational Statistics & Data Analysis, 2009, 53(4): 1015-1026. [本文引用:1]
[51] LIU H, MANDVIKAR A, MODY J. An empirical study of building compact ensembles[C]. Advances in Web-Age Information Management: International Conference, 2004: 622-627. [本文引用:1]
[52] ZHOU Z H, WU J, TANG W. Ensembling neural networks: many could be better than all[J]. Artificial Intelligence, 2002, 137(1/2): 239-263. [本文引用:1]
[53] CHANDRA A, YAO X. Evolving hybrid ensembles of learning machines for better generalisation[J]. Neurocomputing, 2006, 69(7): 686-700. [本文引用:1]
[54] LIU Y, YAO X. Ensemble learning via negative correlation[J]. Neural Netw, 1999, 12(10): 1399-1404. [本文引用:1]
[55] BREIMAN L. Pasting small votes for classification in large databases and on-line[J]. Machine Learning, 1999, 36(1/2): 85-103. [本文引用:1]
[56] BREIMAN L. Bias variance and arcing classifiers[J]. Additives for Polymers, 1996, 2002(6): 10. [本文引用:1]
[57] BÜHLMANN P, YU B. Analyzing bagging[J]. Annals of Statistics, 2002, 30(4): 927-961. [本文引用:1]
[58] SCHAPIRE R E. The strength of weak learnability[J]. Proceedings of the Second Annual Workshop on Computational Learning Theory, 1990, 5(2): 197-227. [本文引用:1]
[59] ZHU X, BAO C, QIU W. Bagging very weak learners with lazy local learning[C]. International Conference on Pattern Recognition, 2012: 1-4. [本文引用:2]
[60] ZHU X, YANG Y. A lazy bagging approach to classification[J]. Pattern Recognition, 2008, 41(10): 2980-2992. [本文引用:1]
[61] 唐伟, 周志华. 基于Bagging的选择性聚类集成[J]. 软件学报, 2005, 16(4): 496-502.
TANG W, ZHOU Z H. Bagging-based selective clusterer ensemble[J]. Journal of Software, 2005, 16(4): 496-502. [本文引用:1]
[62] 张春霞, 张讲社. 选择性集成学习算法综述[J]. 计算机学报, 2011, 34(8): 1399-1410.
ZHANG C X, ZHANG J S. A survey of selective ensemble learning algorithms[J]. Chinese Journal of Computers, 2011, 34(8): 1399-1410. [本文引用:1]
[63] HASTIE T, FRIEDMAN J, TIBSHIRANI R. The elements of statistical learning[J]. Technometrics, 2001, 45(3): 267-268. [本文引用:1]
[64] MEIR R, RÄTSCH G. An introduction to boosting and leveraging[J]. Advanced Lectures on Machines Learning, 2003, 2600: 119-184. [本文引用:1]
[65] SCHAPIRE R E. The boosting approach to machine learning[J]. An Overview, 2003, 171: 149-171. [本文引用:1]
[66] 曹莹, 黄启广, 刘家辰, . AdaBoost算法研究进展与展望[J]. 自动化学报, 2013, 39(6): 745-758.
CAO Y, MIAO Q G, LIU J C, et al. Advance and prospects of adaBoost algorithm[J]. Acta Automatica Sinica, 2013, 39(6): 745-758. [本文引用:1]
[67] 于玲, 吴铁军. 集成学习: Boosting算法综述[J]. 模式识别与人工智能, 2004, 17(1): 52-59.
YU L, WU T G. Assemble learning: A survey of Boosting algorithm[J]. Pattern Recognition and Artificial Entelligence, 2004, 17(1): 52-59. [本文引用:1]
[68] BENMOKHTAR R, HUET B. Classifier fusion: combination methods for semantic indexing in video content[C]. International Conference on Artificial Neural Networks, 2006: 65-74. [本文引用:1]
[69] LAM L. Classifier combinations: implementations and theoretical issues[C]. International Workshop on Multiple Classifier Systems, 2000: 77-86. [本文引用:1]
[70] RAHMAN A F R, FAIRHURST M C. Serial combination of multiple experts: a unified evaluation[J]. Pattern Analysis & Applications, 1999, 2(4): 292-311. [本文引用:1]
[71] WOŹNIAK M, GRAÑA M, CORCHADO E. A survey of multiple classifier systems as hybrid systems[J]. Information Fusion, 2014, 16(1): 3-17. [本文引用:1]
[72] KAI M T, WITTEN I H. Stacked generalization: when does it work?[C]. Fifteenth International Joint Conference on Artifical Intelligence, 1997: 866-871. [本文引用:1]
[73] SIGLETOS, PALIOURAS G, SPYROPULOS C D, et al. Combining information extraction systems using voting and stacked generalization[J]. Journal of Machine Learning Research, 2005, 6(3): 1751-1782. [本文引用:1]
[74] LEDEZMA A, ALER R, SANCHIS A, et al. GA-stacking: Evolutionary stacked generalization[J]. Intelligent Data Analysis, 2010, 14(1): 89-119. [本文引用:1]
[75] KUMARI G T P. A study of Bagging and Boosting approaches to develop meta-classifier[J]. Engineering Science and Technology, 2012, 2(5): 850-855 [本文引用:1]
[76] VALENTINI G, DIETTERICH T G. Bias-variance analysis of SVM for the development of SVM-based Ensemble[J]. Journal of Machine Learning Research, 2004, 5(3): 725-775. [本文引用:1]
[77] ARISTOTLE J. Weighted majority algorithm[M]. Secut Press, 2013. [本文引用:1]
[78] PAPPENBERGER F, BEVEN K J, HONTER N M, et al. Cascading model uncertainty from medium range weather forecasts (10 days) through a rainfall-runoff model to flood inundation predictions within the european flood forecasting system (EFFS)[J]. Hydrology & Earth System Sciences, 2005, 9(4): 381-393. [本文引用:1]
[79] ISLAM M M, YAO X, MURASE K. A constructive algorithm for training cooperative neural network ensembles[J]. IEEE Transactions on Neural Networks, 2003, 14(4): 820. [本文引用:1]
[80] KIM D, KIM C. Forecasting time series with genetic fuzzy predictor ensemble[J]. Fuzzy Systems IEEE Transactions on, 1997, 5(4): 523-535. [本文引用:1]
[81] ASSAAD M, BONÉ R, CARDOT H. A new boosting algorithm for improved time-series forecasting with recurrent neural networks[J]. Information Fusion, 2008, 9(1): 41-55. [本文引用:1]
[82] 熊志斌. 基于ARIMA与神经网络集成的GDP时间序列预测研究[J]. 数理统计与管理, 2011, 30(2): 306-314.
XIONG Z B. Research on GDP time series forecastingbased onintergrating ARIMA with neural networks[J]. Jouranal of Applied Statistics and Management, 2011, 30(2): 306-314. [本文引用:1]
[83] NEUGEBAUER J, BREMER J, HINRICHS C, et al. Generalized cascade classification model with customized transformation based ensembles[C]. International Joint Conference on Neural Networks, 2016: 4056-4063. [本文引用:1]
[84] BAGNALL A, LINES T, HILLS J, et al. Time-series classification with COTE: the collective of transformation-based ensembles[J]. IEEE Transactions on Knowledge & Data Engineering, 2015, 27(9): 2522-2535. [本文引用:1]
[85] NGUYEN M N, LI X L, NG S K. Ensemble based positive unlabeled learning for time series classification[M]. Springer Berlin Heidelberg, 2012: 243-257. [本文引用:1]
[86] OEDA S, KURIMOTO I, ICHIMURA T. Time series data classification using recurrent neural network with ensemble learning[M]. Springer Berlin Heidelberg, 2006: 742-748. [本文引用:1]
[87] GIACOMEL F, PEREIRA A C M, GALANTE R. Improving financial time series prediction through output classification by a neural network ensemble[M]. Springer International Publishing, 2015: 331-338. [本文引用:1]
[88] YANG Y, CHEN K. Time series clustering via RPCL network ensemble with different representations[J]. Systems Man and Cybernetics, 2011, 41(2): 190-199. [本文引用:1]
[89] YANG Y, CHEN K. Temporal data clustering via weighted clustering ensemble with different representations[J]. IEEE Transactions on Knowledge and Data Engineering, 2011, 23(2): 307-320. [本文引用:1]
[90] YANG Y, JIANG J. Bi-weighted ensemble via HMM-based approaches for temporal data clustering[J]. Pattern Recognition, 2018, 76: 391-403. [本文引用:1]
[91] YANG Y, JIANG J. Adaptive bi-weighting toward automatic initialization and model selection for HMM-based hybrid meta-clustering ensembles[J]. IEEE Transactions on Cybernetics, 2018, pp(99): 1-12. [本文引用:1]
[92] YANG Y. Temporal data mining via unsupervised ensemble learning[M]. Elsevier, 2017. [本文引用:1]
[93] YANG Y, CHEN K. Combining competitive learning networks of various representations for sequential data clustering[C]. Combining Competitie Learning Networks for Sequence Clustering, 2006: 315-336. DOI: DOI:10.1007/978-3-540-36122-0_13. [本文引用:1]
[94] STREHL A, GHOSH J. Cluster ensembles—a knowledge reuse framework for combining multiple partitions[J]. JMLR org, 2003, 3(3): 583-617. [本文引用:1]
[95] YANG Y, LI I, WANG W, et al. An adaptive semi-supervised clustering approach via multiple density-based information[J]. Neurocomputing, 2017, 257: 193-205. [本文引用:1]
[96] REKOW E D, CAD/CAM in dentistry[J]. Alpha Omegan, 1991, 84(4): 41. [本文引用:1]
[97] GARG A X, ADHIKARI N K J, MCDENALD H, et al. Effects of computerized clinical decision support systems on practitioner performance and patient outcomes: a systematic review[J]. Centre for Reviews and Dissemination (UK), 2005, 293(10): 1223-1238. [本文引用:1]
[98] LI Y, YANG L, WANG P, et al. Classification of parkinson's disease by decision tree based instance selection and ensemble learning algorithms[J]. Journal of Medical Imaging & Health Informatics, 2017, 7(2). DOI: DOI:10.1116/jmihi.2017.2033. [本文引用:1]
[99] BIJIU LSSAC, NAUMAN LSRAR. Case studies in intelligent computing achievements and trends[M]. CRC Press, 2014: 517-532. [本文引用:1]
[100] SUBRAMANIAN D, SUBRAMANIAN V, DESWAL A, et al. New predictive models of heart failure mortality using time-series measurements and ensemble models[J]. Circulation Heart Failure, 2011, 4(4): 456-462. [本文引用:1]
[101] GUO H Y, WANG D. A multilevel optimal feature selection and ensemble learning for a specific CAD system-pulmonary nodule detection[J]. Applied Mecharics & Materials, 2013, 380-384: 1593-1599 [本文引用:1]
[102] 李霞, 张田文, 郭政. 一种基于递归分类树的集成特征基因选择方法[J]. 计算机学报, 2004, 27(5): 675-682.
LI X, ZHANG T W, GUO Z. An novelb ensemble method of feature gene selection based on recursive partition-tree[J]. Chinese Journal of Computers, 2004, 27(5): 675-682. [本文引用:1]
[103] TAN A C, GILBRT D. Ensemble machine learning on gene expression data for cancer classification[J]. Appl Bioinformatics, 2003, 2(Suppl 3): S75. [本文引用:1]
[104] YANG P, Hwa Yang Y, B ZHOU B, et al. A review of ensemble methods in bioinformatics[J]. Current Bioinformatics, 2010, 5(4): 296-308. [本文引用:1]
[105] OKUN O. Feature selection and ensemble methods for bioinformatics: Algorithmic Classification and Implementations[M]. Information Science Reference-Imprint of: IGI Publishing, 2011. [本文引用:1]
[106] YANG P, ZHOU B B, YANG J Y, et al. Stability of feature selection algorithms and ensemble feature selection methods in bioinformatics[M]. John Wiley & Sons Inc, 2014: 333-352. [本文引用:1]
[107] MA Y. An empirical investigation of tree ensembles in biometrics and bioinformatics research[D]. Morgantown: West Virginia University, 2007. [本文引用:1]
[108] ROWLAND C H. Intrusion detection system[P]. US, Patent 6 405 318, 2002-06-11. [本文引用:1]
[109] SOMMER R, PAXSON V. Outside the closed world: on using machine learning for network intrusion detection[J]. IEEE Symposium on Security and Privacy, 2010, 41(3): 305-316. [本文引用:1]
[110] KARTHIKEYAN S S, KARTHIKEYAN, MAYBELL P S. An ensemble design of intrusion detection system for hand ling uncertainty using Neutrosophic Logic Classifier[J]. Elsevier Science Publishers B V, 2012, 28(2): 88-96. [本文引用:1]
[111] GAIKWAD D, THOOL R. DAREnsemble: decision tree and rule learner based ensemble for network intrusion detection system[M]. Springer International Publishing, 2016. [本文引用:1]
[112] MEHETREY P, SHAHRIARI B, MOH M. Collaborative ensemble-learning based intrusion detection systems for clouds[C]. International Conference on Collaboration Technologies and Systems, 2017: 404-411. [本文引用:1]
[113] 谷雨, 徐宗本, 孙剑, . 基于PCA与ICA特征提取的入侵检测集成分类系统[J]. 计算机研究与发展, 2006, 43(4): 633-638.
GU Y, XU Z B, SUN J, et al. An intrution detection ensemble system based on the featureextracted by PCA and ICA[J]. Journal of Computer Research and Development, 2006, 43(4): 67-72. [本文引用:1]
[114] SORNSUWIT P, JAIYEN S. Intrusion detection model based on ensemble learning for U2R and R2L attacks[C]. International Conference on Information Technology and Electrical Engineering, 2016: 354-359. [本文引用:1]
[115] CHEBROLU S, ABRAHAM A, THOMAS J P. Feature deduction and ensemble design of intrusion detection systems[J]. Computers & Security, 2005, 24(4): 295-307. [本文引用:1]
[116] GIACINTO G, PERDISCI R, DEL RIO M, et al. Intrusion detection in computer networks by a modular ensemble of one-class classifiers[J]. Information Fusion, 2008, 9(1): 69-82. [本文引用:1]