您的当前位置:首页正文

基于集成的非均衡数据分类主动学习算法

2022-10-29 来源:步旅网
第29卷第6期 2012年6月 计算机应用与软件 Computer Applications and Software V01.29 No.6 Jun.2012 基于集成的非均衡数据分类主动学习算法 李卓然 张 永 (辽宁师范大学计算机与信息技术学院(大连理-1-大学控制科学与工程学院辽宁大连116081) 辽宁大连116024) 摘要 当前,处理类别非均衡数据采用的主要方法之一就是预处理,将数据均衡化之后采取传统的方法加以训练。预处理的方 法主要有过取样和欠取样,然而过取样和欠取样都有自己的不足,提出拆分提升主动学习算法SBAL(Split—Boost Active Learning),该 算法将大类样本集根据非均衡比例分成多个子集,子集与小类样本集合并,对其采用AdaBoost算法训练子分类器,然后集成一个总 分类器,并基于QBC(Query—by・committee)主动学习算法主动选取有效样本进行训练,基本避免了由于增加样本或者减少样本所带 来的不足。实验表明,提出的算法对于非均衡数据具有更高的分类精度。 关键词 中图分类号非均衡数据 集成 主动学习 分类 TP181 文献标识码A IMBALANCED DATA CLASSIFICATIoN ACTIVE LEARNING ALGoRITHM BASED oN BoOSTING Li Zhuoran Zhang Yong ・ (School ofComputer and Information Technology,Liaoning Normal University,Dalian 116081,Liaoning,China) 。(School ofControl Science and Engineering,Dalian Abstract fTecohnology,Dalian 116024,Liaoning,China) At present,one of the popular methods to process imbalance dataset classiifcation is resampling,to balance the number of training examples among classes and take the traditional method to train the balanced dataset.The main ways of resampling include over— sampling and under—sampling.However there are shortages in both over—sampling and under-sampling.This paper proposes a split-boost active learning algorithm called SBAL.The proposed algorithm splits the majority class dataset into subsets according to the proportion of imbalance samples,combines with minority class dataset,and trains the classiifers by AdaBoost algorithm,then boosts a total classifier. SBAL algorithm selects the effective training samples to join the last training based on QBC Active Learning algorithm,SO it avoids the shortages of the over—sampling and under-sampling fundamentally.Experiments show that the proposed algorithm gains higher classiifcation accuracy with imbalance datasets. Keywords Imbalanced data set Boost Active learning Classification 当前,许多学者对非均衡数据的分类进行了研究,并在重采 0 引 言 大量数据在各种应用中不断积累,这些数据虽然不能直接 在商业活动中获利,但具有极大的潜在商业价值。在这些应用 中的数据多数类别都是非均衡的,即一个类别的样本数量明显 样、集成学习、代价敏感和特征选择等方面均取得了较大的进 展。但各种方法依然存在各自的不足,例如,虽然重采样方法中 的过取样和欠取样,虽然很多学者已经提出各种合理的改进策 略,如SMOTE算法,但按此法分类产生的过拟合问题依然存在, 欠取样方法的忽略大类样本潜在有用信息也难以克服。针对以 上不足,本文提出了一个拆分提升主动学习算法SBAL(Split- Boost Active Learning),该算法根据样本非均衡的比例数目,采 大于其他类别样本,而通常,在这些非均衡数据中,较小类别的 数据往往具有较大的价值,如电信管理…、生物信息学 J、文本 分类方法 J、语音识别 J、卫星图像中的石油泄漏 等。 传统的分类算法都是基于处理类别均衡数据的基础之上, 对于非均衡数据,传统算法虽能得到较好的分类准确率,但并不 代表它具有很好的分类精度,实际应用过程中的非均衡数据比 例有可能是1:10,也有可能是1:100,甚至1:1 000,而这个1的 错误往往带来非常大的影响。因此,非均衡数据具有它独特的 用AdaBoost算法训练子分类器,然后将子分类器集成为一个总 的分类器,并基于QBC主动学习算法投票选取候选集进行训 练,不仅有效利用了样本信息,而且还合理避免了重采样带来的 不足。 收稿日期:2011—09—20。中国博士后科学基金项目(20110491530); 辽宁省科技厅博士启动基金项目(20081079);大连市科学技术基金项目 (2010J21DW019)。李卓然,硕士生,主研领域:机器学习。张永,副教授。 研究特点和非常大的实用价值,针对现实数据的非均衡数据的 数据挖掘越来越引起人们的关注 。 82 计算机应用与软件 目比例 ; 2012益 1相关工作 1.1 EasyEnsemble算法 在各种不同的非均衡数据分类方法中,欠取样是较常被使 用的 ,然而因为欠取样的原理是选取大类的子集进行训练, 步骤2.2根据比例 把大类样本分成[ ]个子集,取小 类样本与每个子集结合,其中[ ]表示将 取整; 步骤2.3对步骤2.2所得子集进行AdaBoost分类,并得 到由[ ]个弱分类器 ,其中 =1,2,…,[ ]; 步骤2.4将所有步骤2.3所得弱分类器日 看作特征,直 接将其集成为 。 步骤3取剩余样本 到Ⅳm,利用步骤2所得到的分类器 H1, 对其做预测; 所以就导致了包含在被忽略样本中的潜在有用信息被遗漏,这 就是欠取样算法的主要缺陷。EasyEnsemble算法 就是针对这 一缺陷提出的一种欠取样算法,该算法将大类样本分为多个独 立的子集,对于每一个子集一个子分类器被训练,最后将所有子 步骤4判断两个分类预测是否一致,将不一致样本加入 候选集D; 分类器集成,得到最终分类器。此算法专门为类别非均衡问题 设计,充分利用了样本信息,并避免了忽略有效信息的缺陷,在 实验中取得了稳定高效的结果。 步骤5合并样本集Ⅳ ,Ⅳ2和候选集D,得到最终训练样本 集合E; 步骤6对E进行类似步骤2操作,取大类样本子集与小 类样本合并,做AdaBoost训练分类器,集成AdaBoost所得弱分 类器,并得到最终分类器材。 1.2 QBC主动学习策略 主动学习是在训练过程中采取有效的学习策略选取信息量 最丰富的样本进行学习的一种策略。QBC即委员会投票算法, 是由Seung 和Freund 提出的一种基于如何减小搜索空间的 3实验与分析 3.1数据集 本次实验采用比较有代表性的6个UCI数据集… 作为训 练集和测试集,数据集的基本信息如表1所示,其中类别比例指 多数类对少数类样本个数的倍数。本文将少数类样本作为目标 类,其他的所有类别作为多数类。 表1数据集基本信息 主动学习算法。该算法首先根据已有类标签的样本训练两个或 多个分类器,组成“委员会”,对剩余样本进行投票,选择投票最 不一致样本加入候选集。该算法无需检测整个样本空间,计算 复杂度较低,学习速度较快,能够在较少训练样本的基础上达到 给定分类精度。 2 基于集成的非均衡数据分类主动学习算 法SBAL 2.1算法简介 本文提出了SBAL算法,即拆分提升主动学习算法。本算 法是将拆分集成算法应用于QBC主动学习策略中,在最大化均 衡数据进行分类的基础上提高分类精度。为了克服过取样和欠 取样带来的不足,本算法采取根据多数类样本对少数类样本的 比例训练分类器进行集成,不仅充分利用了少数类样本的信息, 而且反应了多数类的不同方面的信息,使所得分类器表现出样 本分布的大致状况。两个这样的分类器带来最终分类器的大致 3.2性能评价度量 通常情况下,用预测准确率来判断一个分类器的好坏,而当 数据类型非均衡或者错误的代价非常不同的情况下,预测准确 率的方法是不适用的。例如,当一个非均衡数据的比例是98:2 时,即使将数据全部划分为大类,它的准确率依然为很高的 范围,无需对全部样本做拆分集成,只需运用QBC委员投票,即 可得到对分类器具有影响的有效样本,这样的结合更高效地训 练出最终分类器。 算法的基本思想是:首先,将训练集均分m(m>=3)等 份,取前两份分别做拆分集成,把得到的子分类器作为委员,对 剩余(m一2)等份数据集进行投票,投票不一致的样本即分类 98%,但这个分类结果对于小类显然是毫无意义的。 ROC曲线(接受者操作特性曲线) J2]是一项标准的总结分 类器真正率和假正率的一个折衷,它的左上角是最理想的位置, 器最不能确定的样本,也是信息含量最丰富的样本,将其加入候 选集,最后将候选集与前面两等份数据集合并,训练最终的拆分 集成分类器。通过本文的实验表明,当m=5时,不仅可以得到 代表所有正类样本被正确分为正类,而没有负类样本被误分为 正类。因此,ROC是公认的衡量非均衡数据分类准确率的标准 之一。AUC(曲线下的面积)可以数值化ROC曲线,因而也是公 认的代表ROC曲线的性能度量。F—measure和G—means,是表2 较全面的分类信息,剩余样本又可以进行较充分的主动学习,因 此本文实验中取m=5。 2.2算法描述 基于上述思想,提出的SBAL算法描述如下。 步骤1导入训练集,将训练集随机均分为m(m>=3)份 N L,N .….N 中混淆矩阵的组合函数,同ROC一样是公认的非均衡数据分类 检测标准。 表2混淆矩阵 步骤2对第一份和第二份样本集做如下相同操作: 步骤2.1取样本集 (i=1,2),计算其大类小类样本数 第6期 李卓然等:基于集成的非均衡数据分类主动学习算法 83 在表2混淆矩阵中,行是预测类,列是实际类,TN(True AdaBoost SM0 SMOTEBoost EE SBAL Negatives)是负类样本被正确分类的数目,FP(False Posetives) Haberman 0.5025 0.6323 0.5362 0.6152 0.6177 是负类样本被错分为正类样本的数目,FN(False Negatives)是正 Transfusion 0.5430 0.5845 0.6214 0.6658 0.6361 类样本被错分为负类的数目,TP(True Posetives)是正类样本被 Balance 0.0012 0.5263 0.0024 0.5775 0.6647 分为正类样本的数目。ROC曲线、F—measure、G-means均可以看 eLtter 0.9892 0.9896 0.9952 0.9950 0.9963 作混淆矩阵的衍生函数。 ROC曲线中,x轴代表假正率FPR(False Posiitve Rate)= 从Auc实验结果来看,本文的SBAL算法明显优于其他算 FP/(TN+FP),Y轴代表真正率TPR(True Positive Rate):TP/ 法,尤其对balance样本集,对letter数据集基本没有影响;F- (,IP+FN),曲线的理想点事(0,100),这点表示所有正类样本 measure数据来看,SBAL算法略优于其他算法,只有transfusion 被正确划分为正类,而没有负类样本误分为正类,曲线越接近这 数据集稍逊,balance和letter数据集表现较好;G—means和F- 一点,分类效果越理想,AUC值也越大。 measure表现类似,balance数据集依然表现很好,其他略好,EE G.means和F.measure则被定义如下” : 算法在transfusion数据集表现较好。总体来看,五个方法中 G-means=、 厨 丽 (1) SMOTE算法表现最差,看来单独使用该算法并不是良策,与集 2×Precision×Recall , 、 成学习集合后有了比较好的表现,总体也略高于单独用Ada— ,1 黜“ 一 L Boost集成算法,EE算法在前四种算法中表现较好,而SBAL算 式(2)中,Precision和Recal1分别表示精度和召回率,它们分别 法基本略高于EE算法,说明SBAL算法对比SMOTE过取样算 定义为:Precision=TP/(TP+FP),Recall=TP/(TP+FⅣ)= 法和EE欠取样算法均有所改进,即有效避免了重取样算法的 。 不足。 ROC曲线的优点是直观,而缺点是不够精确,同样数据对 于不同算法的表现也许差距并不大,视觉效果不明显,因此通常 4结语 用AUC数据来比较分类器精度大小。AUC、F—measure、G-means 均为数值与分类器的精度成正比,数值越大说明分类精度越大, 针对重采样算法的不足,基于集成算法提高子分类器性能 效果越好。 的优势和主动学习的高效性,本文进行了将非均衡数据分子集 3.3实验结果及分析 进行的拆分提升学习与主动学习算法相结合的尝试,提出了 本实验采用Matlab 2007来实现SBAL算法,并将其与Ada— SBAL拆分提升主动学习算法。实验分析表明本文算法对非均 boost算法 、SMOTE算法(SVM为基础分类器) 、SMOTE— 衡数据分类问题具有较好表现,说明拆分提升算法与主动学习 BOOST算法 、EE算法 进行比较。选用AUC、F.measure和 相结合具有深入研究的可行性。 G—means三种评估方法进行检测。为了实验对比,五个算法均 参考文献 通过十折交叉验证方法获得均值。表3~表5分别给出用五个 算法进行比较的三种不同实验结果。 [1]Ezawa K J,Singh M,Norton S W.Learning Goal Oriented Bayesian Networks for Telecommunications Risk Management[C]//Proceedings 表3不同算法的AUC比较 of the International Conference on Machine Learning,ICML-96,1996: AdaBoost SM0TE SM0rI1EBoost EE SBAL 139—147. Pims 0.7880 0.5571 0.7903 O.8O94 0.8236 [2]Radivojac P,Chawla N V,Dunker K,et a1.Classification and Knowl- Phoneme 0.9650 0.7714 O.9374 0.9580 0.9633 edge Discovery in Protein Databases[J].Joumal of Biomedical Infor- maties,2004:224—239. Habermaia 0.64l1 0.4694 0.6466 0.6681 0.6758 [3]Lewis D,Catlett J.Heterogeneous Uncertainty Sampling for Supervised Transfusion 0.6354 0.4942 O.6O25 0.7002 O.7O23 eLarning[C]//Proceedings of the Eleventh Intematiorla/Conference of Balanee 0.6164 0.4528 0.5991 0.6338 0.6779 Machine Learning,1994:148—156. letter 1.O00o 0.9851 0.9954 1.ooO0 0.9999 [4]Liu Y,Chawla N V,Shfiberg E,et a1.Resampling Techniques for Sen- tence Boundary Detection:A Case Study in Machine Learning from Im— 表4不同算法的F・measure比较 balanced Data for Spoken Language Processing[R].Technical Report, AdaBoost SM0TE SM0 rEBoost EE SBAL ICSI,2003. Pima 0.6l17 0.5858 0.6416 0.6605 0.6670 [5]Kubat M,Holte R,Matwin S.Machine eLarning ofr the Detection of Oil Phoneme 0.8520 0.6575 0.7965 0.8212 0.8286 Spills in Satellite Radar Images[J].Machine Learning,1998:195 —Haberman 0.3482 0.4877 0.3774 0.4663 0.4693 215. Transfusion 0.3746 0.4183 0.4728 0.4902 0.4574 [6]Chawla N V.Data Mining for Imbalnaced Datasets:An Overview[M]. Data Mining and Knowledge Discovery Handbook,2010:875—886. Bal8nce O.00oo 0.1658 O.0o11 0.1847 0.2291 [7]Zhou Z H,Liu X Y.Training cost・sensitive neur ̄networks with meth- Letter 0.9882 0.9557 0.9664 0.9102 0.9307 ods addressing the class imbalance problem[J].IEEE Trans Know1- 表5不同算法的G-meallk¥比较 edge and Data Engineering,2006,18(1):63—77. [8]Liu Xuying,Wu Jianxin,Zhou Zhihua.Exploratoyr Under・Sampling ofr AdaBoost SM0TE SM0TEBoost EE SBAL Class—ImbMance Learning[C]//IEEE International Conference on Da- Pima 0.6946 0.6573 O.7196 0.7344 0.7384 ta Mining(ICDM’06),2006:965—969. Phoneme 0.8901 0.7670 0.8752 0.8921 0.8979 (下转第88页) 88 计算机应用与软件 2012丘 矩形的标准,等腰梯形短边的两端点横坐标分别向两侧拉伸,分 基础,同时虚拟键盘的发展迎合了人们对舒适度、便携性和准确 性的高要求,有着很高的商业价值。本文旨在对几何失真的虚 别与长边的两端点横坐标相等;而纵坐标由拍摄键盘时的角度 及环境、角点识别算法精度共同决定,且不影响后续的按键落点 识别结果。 拟键盘进行高准确度和高效率的校正,是按键落点识别的基础。 本文提出算法的特色为对矩形键盘具有针对性,去除了冗余的 失真情况,用简单明了的数学方法分别对垂直俯拍造成的倾斜 失真和水平侧拍造成的透视失真进行校正,准确率较高。同时 4.2二分法效率分析 表2对使用二分法与不使用二分法的时间复杂度和空间复 杂度分别进行了分析对比。 表2二分法对校正算法效率的影响 不使用二分法 使用二分法 时间复杂度 0(n) 0(1ogn) WXH×T( 为图像宽度,Ⅳ W×H×1~ ×H× 空间复杂度 为图像高度, 为选取的变 1(其中 为键盘的 换角度的个数) Vn 键数) 不使用二分法时,对图像每个点进行校正,故时间复杂度与 像素点数呈线性关系,空间复杂度即为该图大小;使用二分法 时,时间复杂度下降为对数型,且空间复杂度由选取的有效区域 大小决定。 由此可见,使用二分法虽然增加了少量划分图像的时间,但 大大缩短了校正算法的计算量,从而从整体上缩减了校正图像 所需的时间和空间。 5性能比较 Hough变换算法需要先检测出倾斜角度、再进行坐标变换。 本算法只需对二值化后局部图像的坐标进行变换。表3对两种 方法进行了性能比较。 表3 Hough变换与本文校正方法的性能比较 Hough变换 本文提出的算法 WXH×T(W为图像宽度,Ⅳ W×H× ~W×H× 计算量 为图像高度, 为选取的变 1(其中 为键盘的 换角度的个数) √rt 键数) 适用范围 直线、圆形等多方面 矩形 冗余数据 产生大量冗余数据 信噪比 易受外界干扰, 只受角点识别影响 阈值 合适的阈值难以确定 对键盘进行三次测定, 取平均值 Hough方法的计算量远大于本文提出的方法,并在参数增 多时计算量急剧上升。大的计算量会导致内存占用多、计算速 度慢、实时性差等弊端,计算步骤多会致使误差累积过多,令最 后的按键落点识别错误。 需要指出的是Hough变换虽然速度较慢,但是适用范围很 广,不局限于直线,对于椭圆等许多形状的倾斜检测也适用。而 本文算法针对矩形,对拍摄角度进行了限制并依赖于角点的准 确识别 、 6 结语 嵌入式设备的日益普及为虚拟键盘技术提供了良好的发展 提出了二值化后的图像采用二分法获得校正有效区域,进一步 缩小校正的工作量,提高实时性。通过理论分析和实践证明,本 校正算法可以提高键盘按键落点识别的准确度,并有较高的处 理速度。 参考文献 [1]钟锡昌.嵌入式软件现状及发展趋势[J] 家用电器科技,2010 (9):60—62. [2]汪忠德.红外虚拟键盘的设计构想[J]. 计算机工程,2004,30 (6):189—191. [3]李攀,秦拯.一种利用拇指控制的触屏手机虚拟键盘按键提取方 法[J].计算机系统应用,2010,19(11):229—233. [4]李玉山.数字视觉视频技术[M].西安:西安电子科技大学出版 社.2006. [5]沈忙作.用计算机校正图像的透视几何畸变[J].光电工程,1981 (6):1—4. [6]张雪峰,张全法,冯小星.一种扫描图像几何畸变的数字校正方 法[J].电视技术,2003(9):78—80. [7]张金,李洋,刘晓威,等.一种基于数字图像处理的虚拟输入方法 [J].计算机工程与设计,2011(12):1—6 (上接第83页) [9]Seung H S,Opper M,Sompolinsky H.Query By Committee[C]//Pro— ceedings of the 15th Annual ACM Workshop on Computational Learn— ing Theory,1992:287—294. [10]Freund Y,Seung H S,Shamir E,et a1.Selective Sampling Using the Query by Committee Algorithm[J].Machine Learning,1997,28:133 —168. [1 1]UCI repository of machine learning databases[EB/OL].http://www. ics.uci.edu/~mleam/MLRepository.htm1. [1 2]Bradley A P.The use of the area under the ROC curve in the evaluation of machine learning algorithms[J].Pattern Recognition,1997:1 145 l】59. [13]Tan Pangning.数据挖掘导论[M].范明,等译.北京:人民邮电出版 社.2006. [14]Freund Y,Schapire R E.Expeirments with a new boosting algoirthm [C]//IEEE Intenrational Conference on Machine Leanring,1996:148 156. [15]Chawla N V,Bowyer K W,Hall L 0,et a1.SMOTE:Synthetic Minority Oversampling Technique[J].Journal of Artiifcial Intelligence Re— search,2002:321—357. [16]Chawla N V,Lazarevic A,Hall L O,et a1.Smoteboost:Improving Pre— diction of the Minority Class in Boosting[C]//Seventh European Con— ference on Principles and Practice of Knowledge Discovery in Databas— es,2003:107—119. 

因篇幅问题不能全部显示,请点此查看更多更全内容