集成学习算法的比较研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
集成学习算法的比较研究
张沧生1,崔丽娟2,杨 刚3,倪志宏1
(1.河北大学计算中心,河北保定 071002;2.河北大学图书馆,河北保定 071002;
3.河北大学数学与计算机学院,河北保定 071002)
摘 要:从差异性出发,研究了基于特征技术与数据技术的集成学习算法,深入分析了这些集成学习算法产生差异性的方法;针对决策树与神经网络模型在标准数据集对集成学习算法进行了实验研究,结果表明集成学习算法的性能依赖于数据集的特性以及产生差异性的方法等因素,并且基于数据的集成学习算法的性能优于基于特征集的集成学习算法的性能.
关键词:差异性;特征集;重取样;分类;泛化
中图分类号:TP 301.6 文献标识码:A 文章编号:1000-1565(2007)05-0551-04
Comparative Study for E nsemble Learning Algorithms
ZH ANG Cang 2sheng 1,CUI Li 2juan 2,Y ANG Gang 3,NI Zhi 2hong 1
(puter Center ,Hebei University ,Baoding 071002,China ;2.Library ,Hebei University ,
Baoding 071002,China ;3.College of Mathematics and Computer ,Hebei University ,Baoding 071002,China )
Abstract :From point of view of diversity ,ensemble learning algorithms based on feature set and data tech 2nique are studied.Methods of creating diversity for these ensemble learning algorithms are deeply analyzed.And experimental studies for using decision trees and neural networks as basis models are conducted on 10standard data sets.They show that performances of ensemble learning algorithms depend on character of data set ,method of creating diversity ,and etc.Furthermore ,performances of ensemble learning algorithms based on data are su 2perior to one based on feature set.
K ey w ords :diversity ;feature set ;sampling with replacement ;classification ;generalization
自20世纪90年代以来,集成学习引起了机器学习研究者的极大兴趣,并且集成学习很快成为了机器学习的研究热点之一,并在数据挖掘、模式识别、文本分类、预测等方面获得了应用.目前,文献中存在许多集成学习算法,大致可归为如下几类:在线或者增量式集成算法、软集成学习算法、采用不同的技术优选模型的集成算法、具有抗噪能力的集成算法、小规模数据集的集成学习算法等.实际上,研究者仍在不断努力研究集成学习的差异性及其各种融合方法[1-3].本文主要研究基于特征集与数据技术的集成学习方法.特征集技术是通过一定的策略选取特征子集来获得差异性的一类方法,而究竟如何选取这些特征子集存在许多不同的方法,比如采用枚举方法选取特征子集、随机方法选取特征子集、使用遗传算法选取特征子集等;而基于数据技术是采用随机的方法选取不同训练数据,然后利用这些训练数据生成集成中的个体,其目的是通过随机选取数据方法获取集成个体间的差异性.
收稿日期:2007-01-20
作者简介:张沧生(1957-),男,河北衡水人,河北大学实验师,主要从事信息管理与检索方面的研究.
第27卷 第5期
2007年 9月河北大学学报(自然科学版)Journal of Hebei University (Natural Science Edition )Vol.27No.5Sep.2007
1 基于数据的集成方法
基于数据的集成主要使用随机取样的方法获取训练数据,它是集成学习算法获取个体差异性经常使用的方法,包括有放回随机取样、无放回随机取样与混合取样(包括无放回随机取样与有放回随机取样)3种.较典型的方法是Bagging 与Adaboost.
Bagging [4]是由Breiman 提出的一种集成学习方法,通过采用有放回随机取样技术(Bootstrap 取样)获取训练集,然后使用该数据集生成集成学习中的个体.在这种方法中,集成个体间的差异性是通过Bootstrap 重取样技术获得的,或者说它是通过训练数据的随机性及独立性来提供集成中个体的差异性.该方法主要用于不稳定(不稳定是指当训练集中数据有微小的变化时,则会导致模型有很大的变化)的学习算法,例如神经网络和决策树.为了减少个体所产生的方差,通过对这些个体的预测值投票,从而减少了泛化误差.对于稳定的学习算法,例如朴素贝叶斯方法,Bagging 集成并不能减少误差.
Boosting [5]方法是一类集成学习算法的总称,它有许多变种,AdaBoost 是较流行的方法.通过直接引导难以分类的数据以生成集成的差异性.在这种算法中,假设学习算法能够处理加权实例,若学习算法不能直接处理加权实例,则按照权分布对训练集取样以产生新的训练集.AdaBoost 对训练实例的权进行维护,并且在第i 次迭代中,通过最小化训练集的加权误差来训练分类器C i ,然后使用分类器C i 的加权误差更新训练实例上的权分布,这样使得错分实例的权值增加,而正确分类实例的权值减少,在训练下一个分类器时,则使用更新后实例的权值分布,并重复此过程.在训练完成之后,使用个体分类器的加权投票融合方法
∑i
w i C i
(x )进行决策.当数据量不足或有大量的分类噪声(即具有不正确的类标号的训练实例)时,这种学习算法的性能有所下降.
2 基于特征集的集成方法
特征集方法是用来提高集成个体差异性的另一类方法,通过提取不同的特征子集来训练集成中的个体.为了提高集成个体的差异性,通常采取不同的技术获取这组特征子集.最直接的方法就是在大小为n 的特征集合中,求出所有的特征子集,然后在其中选取所需要的特征子集集合.但由于由特征子集所构成的搜索空间由2n 种可能状态构成,显然,即使在特征数目不高的情况下,搜索空间也是庞大的.在实际应用中,这种穷尽式搜索是不可行的,因此,研究者们致力于用启发式搜索算法寻找特征子集集合.如Ho [6]提出的随机子空间方法.在这种方法中,随机选择特征子集,并分配给学习算法,然后在这个子空间中生成分类器,最后根据分类器的正确率使用加权投票方法进行集成.Guerra 2Salcedo 与Whitley 合作使用遗传算法的搜索过程产生集成成员或集成个体.另外,Tumer 与Oza [7]提出了ID (Input Decimation )方法.这种方法目的是减少集成成员产生错误的相关性,通过使用不同的特征子集训练集成中的成员.这种方法与随机子空间方法是不同的,因为对于每一类,要明显地计算每个特征与类的输出间的相关性,并且仅在特征最相关的子集上训练集成成员.Xu 等、Park 等与Breukelen van [8-10]等也研究了基于特征集的集成学习方法,并提出了划分特征集的方法,并在每一个子集上构造集成中的成员.综上所述,对于上面的这些集成学习方法可以概括为如下的集成学习框架:
1)选取不同的特征集以构成特征集的集合;
2)使用这组特征集集合生成集成中的个体;
3)选取一种融合方法对个体结论融合.
在下面的实验研究中,分别使用了不同的获取特征集的方法,评价函数为信息增益(IG )、增益率(GR )与主成分(PC )函数.
3 实验研究
3.1 实验数据及实验过程
为了验证基于特征集与数据技术的集成学习算法的性能,在10个数据集对集成学习算法Bagging ,Ad 2
・255・河北大学学报(自然科学版)2007年