1、第 55 卷第 2 期2023 年 4 月Vol.55 No.2Apr.2023南 京 航 空 航 天 大 学 学 报Journal of Nanjing University of Aeronautics&Astronautics代价敏感惩罚 AdaBoost算法的非平衡数据分类鲁淑霞,张振莲,翟俊海(河北大学数学与信息科学学院,河北省机器学习与计算智能重点实验室,保定 071002)摘要:针对非平衡数据分类问题,提出了一种基于代价敏感的惩罚 AdaBoost算法。在惩罚 Adaboost算法中,引入一种新的自适应代价敏感函数,赋予少数类样本及分错的少数类样本更高的代价值,并通过引入惩罚机制
2、增大了样本的平均间隔。选择加权支持向量机(Support vector machine,SVM)优化模型作为基分类器,采用带有方差减小的随机梯度下降方法(Stochastic variance reduced gradient,SVRG)对优化模型进行求解。对比实验表明,本文提出的算法不但在几何均值(Gmean)和 ROC 曲线下的面积(Area under ROC curve,AUC)上明显优于其他算法,而且获得了较大的平均间隔,显示了本文算法在处理非平衡数据分类问题上的有效性。关键词:非平衡数据;惩罚 AdaBoost;自适应代价敏感函数;平均间隔;随机梯度下降中图分类号:TP391 文献
3、标志码:A 文章编号:10052615(2023)02033908Imbalanced Data Classification Based on Cost SensitivityPenalized AdaBoost AlgorithmLU Shuxia,ZHANG Zhenlian,ZHAI Junhai(College of Mathematics and Information Science,Hebei Province Key Laboratory of Machine Learning and Computational Intelligence,Hebei University,B
4、aoding 071002,China)Abstract:How to improve the classification accuracy of minority instances is one of the hot topics in machine learning research.In order to solve the problem of imbalanced data classification,a penalized AdaBoost algorithm based on cost sensitivity is proposed.In the penalized Ad
5、aboost algorithm,a new adaptive cost sensitive function is introduced,which gives higher cost value to the minority instances and the misclassified minority instances.It can obtain a larger average margin by introducing penalty mechanism.The weighted support vector machine(SVM)optimization model is
6、used as the base classifier.The stochastic variance reduced gradient(SVRG)with variance reduction method is used to solve the optimization model.The comparative experiments show that the proposed algorithm is not only superior to other algorithms in terms of geometricmean(G-mean)and area under ROC c
7、urve(AUC),but also can obtain a larger average margin by introducing penalty mechanism,which fully demonstrates the effectiveness of the proposed algorithm in handling imbalanced data classification problems.Key words:imbalanced data;penalized AdaBoost;adaptive cost sensitive function;average margin
8、;stochastic variance reduced gradient(SVRG)非平衡数据分类问题一直是机器学习研究的热点之一。处理非平衡数据分类问题大致可分为两类:数据级和算法级。数据级方面常采用的方法有欠采样1和过采样2。欠采样方法的主要思想是不断缩小多数类的规模,直到与少数类的规模相等,但是这样做往往会丢失重要的信息使得分类效DOI:10.16356/j.10052615.2023.02.020基金项目:河北省科技计划重点研发项目(19210310D);河北省自然科学基金(F2021201020)。收稿日期:20210726;修订日期:20220729通信作者:鲁淑霞,女,教授,E
9、-mail:。引用格式:鲁淑霞,张振莲,翟俊海.代价敏感惩罚 AdaBoost算法的非平衡数据分类 J.南京航空航天大学学报,2023,55(2):339346.LU Shuxia,ZHANG Zhenlian,ZHAI Junhai.Imbalanced data classification based on cost sensitivity penalized AdaBoost algorithm J.Journal of Nanjing University of Aeronautics&Astronautics,2023,55(2):339346.第 55 卷南 京 航 空 航 天
10、大 学 学 报果不理想。过采样技术即不断增加少数类的样本,直到样本数与多数类的样本数相等,但由于添加的数据点与现有数据可能会重复,因此会造成过拟合现象。算法级方法尝试应用或改进各种现有的传统学习算法,Zong等3针对类不平衡分类问题提出了一种加权的极限学习机。Tao等4提出一种集成算法,该算法针对非平衡数据分类问题在样本权重公式中引入自适应代价敏感函数,使分类器更加关注少数类样本。Wang等5提出了一种利用新的加权投票参数对AdaBoost算法进行改进的方法。AdaBoost算法中的样本间隔 6 指单个样本到最终超平面的距离乘以该样本的真实类别标签。在间隔理论的推动发展下,研究人员致力于设计新
11、的AdaBoost算法来优化间隔分布。Rtsch等 7 提出了AdaBoostv算法,该算法用一种适当的方法在每次迭代中更新训练集中的最小间隔值,使其近似逼近最优间隔,从而提高算法的分类精度。SparsiBoost算法 8 是一种稀疏化算法,该算法减少了假设的数量,同时近似地保留了整个间隔分布,产生更好的测试精度。SMLBoost算法 9 通过模拟类似软间隔的过程来提高噪声数据的敏感性,给间隔区域内的无噪声样本分配更高的权重。LPBoost算法 10 使用线性规划直接最大化最小间隔。Gentle AdaBoost算法 11 具有较好的稳定性,但在训练过程中为小间隔的样本分配的权值越来越大,几个
12、大的权重样本主导了整个数据分布,导致过度拟合。Modest AdaBoost算法 12 加强了那些能正确分类小间隔样本的基分类器,该算法优于Gentle AdaBoost算法,但是算法的性能不太稳定。SoftBoost算法 13 通过优化软间隔来优化算法的分类性能,降低泛化误差。Marginpruning Boost算法 14 采用一种重置技术,提高了样本的平均间隔,避免了Gentle AdaBoost算法出现的分类器失真现象,但是随着迭代次数的增长,该算法的性能变差。这几种算法的性能虽然优于AdaBoost算法,但是引入了复杂的计算,使得训练时间变长,基于间隔分布的提升算法还需要进一步研究。
13、为了解决非平衡数据分类问题,本文提出一种基于代价敏感的惩罚AdaBoost算法。结合惩罚AdaBoost算法,引入一种自适应代价敏感函数,该函数使得分类器更加关注少数类样本以及分错的少数类样本,且对噪声样本起到抑制作用,提高了少数类样本的分类精度。同时,通过引入惩罚策略增大样本的平均间隔,进一步提高了算法的分类精度。充分考虑数据分布情况,选择加权支持向量机(Support vector machine,SVM)优化模型作为基分类器,即引入间隔均值项,并根据数据非平衡比对间隔均值项和损失函数项进行加权,采用随机梯度下降(Stochastic variance reduced gradient,S
14、VRG)方法对优化模型进行求解,提高了算法的收敛速度。1 惩罚 AdaBoost算法在每次迭代中,惩罚 AdaBoost 算法15不仅惩罚间隔小的样本的错误分类,而且抑制间隔小的样本的权值增加,避免了过度拟合,提高整个数据集上的间隔值,具有更低的泛化误差。在 两 类 分 类 问 题 中,训 练 集S=(x1,y1),(x2,y2),(xn,yn),xiRd,yi -1,1,负类样本为多数类样本,个数为n-,正类样本为少数类样本,个数为n+,n=n+n-。AdaBoost算法中的样本xi间隔为MarginT(xi)=yit=1Ttht(xi)t=1Tt(1)式中:基分类器ht(xi):-1,1;
15、系数t表示基分类器ht(xi)在最终分类器中的重要性;T 为迭代次数。给定样本的分类间隔定义为正确分类的基分类器的预测置信度与错误分类的基分类器的预测置信度之差。惩罚 AdaBoost算法中的样本xi间隔为MarginT(xi)=yit=1TUt(xi)t=1T|Ut(xi)(2)式中:Ut(xi)=tht(xi),等同于 AdaBoost 算法中第 t个基分类器在样本xi处的值与其权重的乘积;|Ut(xi)|=t,等同于 AdaBoost算法中基分类器权重。|Ut(xi)|越大,则Ut(xi)的分类能力就越强。惩罚 AdaBoost算法的样本权重为Dt+1i=exp()-yiq=1tUq(x
16、i)i=1nexp()-yiq=1tUq(xi)(3)惩罚 AdaBoost算法使用上一个循环的间隔分布来限制当前循环中间隔较小的样本的误分类,从而降低误分类小间隔样本的基分类器的预测置信度,使其在后续迭代中更容易被分类正确。对于样本xi,如果被分为正类,则Ut(xi)=U1t(x),否则Ut(xi)=U2t(x)。基分类器的计算公式为Ujt(x)=(Wjt+-Wjt-)(1-Mjt-)Wjt+Wjt-(Wjt+-Wjt-)(1-Mjt+)Wjt+Wjt-(4)式 中:Wjt+=i:xi Sjtyi=1Dti,Wjt-=i:xi Sjtyi=-1Dti;Mjt+=i:xi Sjtyi=1mti,Mjt-=i:xi Sjt yi=-1mti。mti为间隔反 馈 因 子,当t=1时,mti=1/n;否 则,mti=340第 2 期鲁淑霞,等:代价敏感惩罚 AdaBoost算法的非平衡数据分类exp()-Margint-1(xi)iexp()-Margint-1(xi)。Sjt为被基分类器分类后的样本数据集,j1,2,其中:S1t为分为正类的样本集;S2t为分为负类的样本集。W1t+为正确分