摘要
针对非平衡数据分类问题,提出了一种基于代价敏感的惩罚AdaBoost算法。在惩罚Adaboost算法中,引入一种新的自适应代价敏感函数,赋予少数类样本及分错的少数类样本更高的代价值,并通过引入惩罚机制增大了样本的平均间隔。选择加权支持向量机(Support vector machine,SVM)优化模型作为基分类器,采用带有方差减小的随机梯度下降方法(Stochastic variance reduced gradient,SVRG)对优化模型进行求解。对比实验表明,本文提出的算法不但在几何均值(G‑mean)和ROC曲线下的面积(Area under ROC curve,AUC)上明显优于其他算法,而且获得了较大的平均间隔,显示了本文算法在处理非平衡数据分类问题上的有效性。
非平衡数据分类问题一直是机器学习研究的热点之一。处理非平衡数据分类问题大致可分为两类:数据级和算法级。数据级方面常采用的方法有欠采
AdaBoost算法中的样本间
为了解决非平衡数据分类问题,本文提出一种基于代价敏感的惩罚AdaBoost算法。结合惩罚AdaBoost算法,引入一种自适应代价敏感函数,该函数使得分类器更加关注少数类样本以及分错的少数类样本,且对噪声样本起到抑制作用,提高了少数类样本的分类精度。同时,通过引入惩罚策略增大样本的平均间隔,进一步提高了算法的分类精度。充分考虑数据分布情况,选择加权支持向量机(Support vector machine,SVM)优化模型作为基分类器,即引入间隔均值项,并根据数据非平衡比对间隔均值项和损失函数项进行加权,采用随机梯度下降(Stochastic variance reduced gradient,SVRG)方法对优化模型进行求解,提高了算法的收敛速度。
在每次迭代中,惩罚AdaBoost算
在两类分类问题中,训练集,, ,负类样本为多数类样本,个数为,正类样本为少数类样本,个数为,。
AdaBoost算法中的样本间隔为
(1) |
式中:基分类器;系数表示基分类器在最终分类器中的重要性;T为迭代次数。给定样本的分类间隔定义为正确分类的基分类器的预测置信度与错误分类的基分类器的预测置信度之差。
惩罚AdaBoost算法中的样本间隔为
(2) |
式中:,等同于AdaBoost算法中第t个基分类器在样本处的值与其权重的乘积;,等同于AdaBoost算法中基分类器权重。越大,则的分类能力就越强。
惩罚AdaBoost算法的样本权重为
(3) |
惩罚AdaBoost算法使用上一个循环的间隔分布来限制当前循环中间隔较小的样本的误分类,从而降低误分类小间隔样本的基分类器的预测置信度,使其在后续迭代中更容易被分类正确。
对于样本, 如果被分为正类,则,否则。基分类器的计算公式为
(4) |
式中:,;,。为间隔反馈因子,当时,;否则,。为被基分类器分类后的样本数据集,,其中:为分为正类的样本集;为分为负类的样本集。为正确分类的正类样本权重之和;为错误分类的正类样本权重之和;为错误分类的负类样本权重之和;为正确分类的负类样本权重之和。为正确分类的正类样本的间隔反馈因子之和;为错误分类的正类样本的间隔反馈因子之和;为错误分类的负类样本的间隔反馈因子之和;为正确分类的负类样本的间隔反馈因子之和。
最终分类器为
(5) |
惩罚AdaBoost算法中只重置间隔为负且权值超过阈值Q的样本,降低了过滤样本的重要性,消除了基分类器对过滤样本错误预测的影响。其次,惩罚AdaBoost算法引入了惩罚策略,使用上一个循环的间隔分布来限制当前循环中间隔较小的样本的误分类,提高了整个训练集的样本间隔。惩罚AdaBoost算法伪代码如下。
算法1 惩罚AdaBoost算法
输入:训练集S,参数,步长,迭代次数T
输出:,
初始化:数据分布
(1) for
(2) 基于数据分布训练基分类器,得到正类样本集,负类样本集,由每一个样本集,,计算和;
(3) 计算间隔反馈因子;
(4) 计算和;
(5) 计算基分类器;
(6) 对于样本,如果被分为正类,,否则;
(7) 更新样本权重:;
(8) 对于样本,如果0则重置样本权重以及前t次迭代的基分类器的和:,对样本权重归一化:;
(9) end for
惩罚AdaBoost算法通过引入惩罚机制和重置技术提高了训练样本的间隔分布,从而增强了算法的分类能力。重置技术是指对间隔为负且样本权重超过阈值Q的样本,将其第t+1次的样本权重重置为1,前t次迭代的基分类器的和重置为0,这有效抑制间隔小的样本权重增加,避免了过拟合现象,提高了算法的分类性能。针对非平衡数据分类问题,在惩罚AdaBoost算法的基础上,提出了一种新的自适应代价敏感函数,该函数可以根据不同样本的类别以及少数类样本分类的错误与否给予不同的代价值,并且也具有一定的抗噪性。该算法采用加权的SVM模
对于多数类样本,权重大小为;对于少数类样本,权重大小为,。考虑数据分布情况,这里采用加权的SVM优化模
(6) |
式中:为权重;、为折中参数。
对于线性不可分问题,通过非线性映射将原数据映射到高维特征空间,据表示定理获得加权非线性SVM优化模型为
(7) |
式中:;;。
在惩罚AdaBoost算法的样本权重更新公式中引入自适应代价敏感函数,样本权重更新公式为
(8) |
自适应代价敏感函数为
(9) |
对于负类样本而言,代价值为固定值;而对于正类样本,代价值会根据的不同而不同,并且大于负类样本的代价值。设定正类样本函数的初始值为1.5,给出对应的正类样本的代价敏感函数图像,如

图1 正类样本代价敏感函数图像
Fig.1 Image of cost sensitive function of positive instances
基于代价敏感的惩罚AdaBoost算法(Penalized cost AdaBoost,PCADA)伪代码如下。
算法2 PCADA算法
输入:训练集S,间隔均值项参数,损失函数项参数,,步长,迭代次数T
输出:,
初始化:数据分布,负类样本代价敏感值为1,正类样本代价敏感值为;
(1) for
(2) 基于数据分布训练加权SVM基分类器,得到正类样本集,负类样本集,由每一个样本集,,计算和;
(3) 计算间隔反馈因子;
(4) 计算和;
(5) 计算基分类器;
(6) 对于样本,如果被分为正类,;否则;
(7) 更新样本权重和代价敏感函数:,
(8) 对于样本,如果,则重置样本权重以及前t次迭代的基分类器的和:,,
对样本权重归一化:;
(9) end for
本节给出本文所提算法和对比算法的实验,实验为五折交叉验证的平均值。编程语言采用Matlab R2017b,除Avila数据
数据集 | 非平衡比 | 样本个数 | 维数 |
---|---|---|---|
yeast‑2vs4 | 9.08 | 514 | 8 |
vehicle0 | 3.25 | 846 | 18 |
pima | 1.87 | 768 | 8 |
yeast1 | 2.46 | 1 484 | 8 |
glass‑0‑1‑6vs2 | 10.29 | 192 | 9 |
segment0 | 6.02 | 2 308 | 19 |
car‑vgood | 25.58 | 1 728 | 6 |
kr‑vs‑k‑zero | 26.63 | 2 901 | 6 |
abalone9‑18 | 16.4 | 731 | 8 |
vowel0 | 9.98 | 988 | 13 |
ecoli4 | 15.8 | 336 | 7 |
page‑blocks0 | 8.79 | 5 472 | 10 |
Avila | 8.52 | 20 867 | 10 |
bank‑full | 7.54 | 45 211 | 16 |
采用几何均值(G‑mean)和ROC曲线下面积(Aera under ROC curve,AUC)作为非平衡数据分类问题的评价指标。首先给出混淆矩阵如
类别 | 正类预测类标 | 负类预测类标 |
---|---|---|
正类真实类标 | TP | FN |
负类真实类标 | FP | TN |
根据混淆矩阵,几何均值表示为
(10) |
首先给出对比算法的描述。
(1) PADA算法。该算法为惩罚AdaBoost算
(2) GCADA算法。该算法在经典的Gentle AdaBoost算
(3) MCADA算法。该算法在Margin‑pruning Boost算
(4) SMLBoost算
下面给出本文提出算法与对比算法的几何均值对比实验结果,如
数据集 | PADA算法 | GCADA算法 | MCADA算法 | SMLBoost算法 | PCADA算法 |
---|---|---|---|---|---|
yeast2vs4 |
0.843 4 0.869 1 |
0.855 1 0.892 3 |
0.899 6 0.938 5 |
0.905 4 0.926 2 |
0.932 5 0.959 7 |
vehicle0 |
0.717 2 0.895 8 |
0.709 5 0.902 9 |
0.736 5 0.902 9 |
0.687 4 0.857 7 |
0.762 1 0.924 0 |
pima |
0.540 0 0.745 2 |
0.550 0 0.740 8 |
0.522 1 0.738 4 |
0.557 4 0.738 7 |
0.571 5 0.745 7 |
yeast1 |
0.608 1 0.726 4 |
0.707 5 0.786 2 |
0.699 5 0.741 3 |
0.665 7 0.696 8 |
0.722 4 0.726 1 |
glass‑0‑1‑6vs2 |
0.507 0 0.736 7 |
0.534 5 0.609 4 |
0.552 3 0.788 3 |
0.547 8 0.897 7 |
0.560 6 0.925 8 |
segment0 |
0.572 2 0.914 0 |
0.570 7 0.915 3 |
0.749 8 0.877 8 |
0.785 4 0.925 4 |
0.882 1 0.942 8 |
car‑vgood |
0.896 0 0.904 7 |
0.919 4 0.947 5 |
0.920 2 0.963 6 |
0.885 7 0.896 7 |
0.961 7 0.969 4 |
kr‑vs‑k‑zero |
0.742 0 0.742 8 |
0.747 7 0.752 0 |
0.750 1 0.752 5 |
0.776 5 0.785 7 |
0.807 3 0.845 2 |
abalone9‑18 |
0.731 1 0.808 0 |
0.761 3 0.843 7 |
0.631 9 0.800 8 |
0.756 5 0.825 7 |
0.816 4 0.883 6 |
vowel0 |
0.694 3 0.839 8 |
0.692 3 0.860 3 |
0.755 7 0.909 9 |
0.748 9 0.895 7 |
0.794 9 0.911 8 |
ecoli4 |
0.756 5 0.801 4 |
0.792 1 0.817 4 |
0.806 5 0.815 6 |
0.816 7 0.837 3 |
0.883 8 0.898 5 |
page‑blocks0 |
0.746 9 0.769 0 |
0.800 1 0.847 5 |
0.793 3 0.814 6 |
0.756 4 0.808 7 |
0.821 9 0.881 0 |
Avila |
0.541 6 0.690 1 |
0.602 1 0.745 4 |
0.613 6 0.710 5 |
0.639 8 0.758 9 |
0.674 9 0.803 9 |
bank‑full |
0.500 1 0.500 1 |
0.507 4 0.510 2 |
0.506 4 0.536 9 |
0.505 4 0.554 1 |
0.510 6 0.564 8 |
基于


图2 线性算法和非线性算法的泛化误差
Fig.2 Generalization errors of linear and nonlinear algorithms
本节给出本文提出算法与对比算法的AUC实验结果。从
数据集 | PADA算法 | GCADA算法 | MCADA算法 | SMLBoost算法 | PCADA算法 |
---|---|---|---|---|---|
yeast2vs4 |
0.572 2 0.914 0 |
0.570 7 0.915 3 |
0.749 8 0.877 8 |
0.785 4 0.925 4 |
0.882 1 0.962 8 |
vehicle0 |
0.667 8 0.795 0 |
0.679 5 0.801 1 |
0.706 2 0.822 9 |
0.697 4 0.847 7 |
0.792 1 0.944 0 |
pima |
0.540 0 0.657 2 |
0.550 0 0.665 8 |
0.522 1 0.708 9 |
0.557 4 0.738 7 |
0.671 4 0.780 0 |
yeast1 |
0.572 2 0.914 0 |
0.570 7 0.915 3 |
0.749 8 0.877 8 |
0.785 4 0.925 4 |
0.882 1 0.942 8 |
glass‑0‑1‑6vs2 |
0.609 8 0.736 7 |
0.634 5 0.809 9 |
0.651 1 0.799 3 |
0.647 8 0.864 5 |
0.660 6 0.925 8 |
segment0 |
0.842 0 0.892 8 |
0.847 7 0.898 7 |
0.849 1 0.902 5 |
0.936 5 0.945 7 |
0.937 3 0.948 2 |
car‑vgood |
0.796 0 0.762 1 |
0.879 4 0.847 7 |
0.821 1 0.832 5 |
0.895 1 0.901 2 |
0.961 7 0.969 4 |
kr‑vs‑k‑zero |
0.842 0 0.863 8 |
0.847 0 0.874 3 |
0.850 1 0.879 5 |
0.836 5 0.885 7 |
0.867 3 0.895 2 |
abalone9‑18 |
0.654 3 0.708 0 |
0.647 8 0.754 3 |
0.708 9 0.794 8 |
0.776 5 0.825 7 |
0.878 6 0.893 5 |
vowel0 |
0.564 3 0.739 8 |
0.654 3 0.760 9 |
0.709 8 0.801 1 |
0.733 1 0.895 7 |
0.794 9 0.932 1 |
ecoli4 |
0.654 3 0.785 4 |
0.708 4 0.743 2 |
0.802 1 0.813 4 |
0.826 4 0.844 7 |
0.853 1 0.855 5 |
page‑blocks0 |
0.652 1 0.702 6 |
0.700 3 0.798 7 |
0.723 3 0.814 0 |
0.756 4 0.848 7 |
0.834 7 0.887 0 |
Avila |
0.574 5 0.658 8 |
0.624 5 0.729 8 |
0.658 8 0.745 6 |
0.734 6 0.758 9 |
0.774 8 0.823 4 |
bank‑full |
0.506 5 0.509 1 |
0.527 4 0.532 4 |
0.567 4 0.570 0 |
0.565 4 0.574 1 |
0.623 3 0.678 9 |
针对本文提出的算法,给出参数对ecoli4数据集几何均值的影响,如


图3 参数对ecoli4数据集几何均值的影响结果
Fig.3 Influence of the parameter τ on the geometric mean of ecoli4 dataset
下面给出本文算法和对比算法在不同数据集上的平均间隔折线图,如


图4 各种算法在不同数据集上的平均间隔
Fig.4 Average interval of various algorithms on different datasets
为了解决非平衡数据分类问题,提出一种基于代价敏感的惩罚AdaBoost算法,在惩罚AdaBoost算法样本权重中引入自适应代价敏感函数,使分类器在分类时更加关注少数类样本和分错的样本,且对噪声样本起到抑制作用,提高了少数类样本的分类性能。通过引入惩罚策略增大了样本的平均间隔,进一步提高了分类精度。充分考虑数据分布情况,选择加权SVM优化模型作为基分类器,即引入间隔均值项,并根据数据非平衡比对间隔均值项和损失函数项进行加权,采用SVRG方法对优化模型进行求解,提高了算法的收敛速度。对比实验表明,本文提出的算法在几何均值和AUC上都优于其他算法,并且可产生更大的平均间隔。本文采用加权的SVM优化模型,该模型引入了间隔均值项,在此基础上引入间隔方差项,并将该模型应用在惩罚AdaBoost算法上,分析算法对分类精度的影响是进一步要做的工作。
参考文献
Han Xu, Cui Runbang, Lan Yanfei, et al. A Gaussian mixture model based combined resampling algorithm for classification of imbalanced credit data sets[J]. International Journal of Machine Learning and Cybernetics, 2019, 10(1): 3687-3699. [百度学术]
Shahee S A, Ananthakumar U. An adaptive oversampling technique for imbalanced datasets[J]. Computer and Information Engineering, 2018, 12: 1-16. [百度学术]
Zong Weiwei, Huang Guangbin, Chen Yiqiang. Weighted extreme learning machine for imbalance learning[J]. Neurocomputing, 2013, 101: 229-242. [百度学术]
Tao Xinmin, Li Qing, Guo Wenjie, et al. Self-adaptive cost weights-based support vector machine cost-sensitive ensemble for imbalanced data classification[J]. Information Sciences, 2019, 52(4): 132-140. [百度学术]
Wang Wenyang, Sun Dongchu. The improved AdaBoost algorithms for imbalanced data classification[J]. Information Sciences, 2021, 563: 358-374. [百度学术]
Schapire R E, Freund Y, Bartlett P, et al. Boosting the margin: A new explanation for the effectiveness of voting methods[J]. The Annals of Statistics, 1998, 26(5):1651-1686. [百度学术]
Rätsch G, Warmuth M K. Efficient margin maximizing with boosting[J]. Journal of Machine Learning Research, 2005, 6(11): 2131-2152. [百度学术]
ALLAN G,LARSEN K G,MATHIASEN A. Optimal minimal margin maximization with boosting[EB/OL]. (2019-01-30) [2019-02-20]. https://doi.org/10.48550/arXiv.1901.10789. [百度学术]
Chen Zhi, Duan Jiang, Yang Cheng, et al. SMLBoost-adopting a soft-margin like strategy in boosting[J]. Knowledge-Based Systems, 2020, 195(31):105705. [百度学术]
Demiriz A, Bennett K P, Shawe-Taylor J. Linear programming boosting via column generation[J]. Machine Learning, 2002, 46(1/2/3):225-254. [百度学术]
Friedman J, Hastie T, Tibshirani R. Additive logistic regression: A statistical view of boosting[J]. Annals of Statistics, 2000, 28(2):337-374. [百度学术]
Vezhnevets A,Vezhnevets V. Modest Adaboost-teaching Adaboost to generalize better[J]. Graphicon, 2005, 12(4): 987-997. [百度学术]
Warmuth M K, Glocer K A, Rtsch G. Boosting algorithms for maximizing the soft margin [C]// Proceedings of the Twenty-First Annual Conference on Neural Information Processing Systems. Vancouver, British Columbia, Canada: DBLP, 2007: 3-6. [百度学术]
Wu Shuqiong, Nagahashi H. A new method for solving overfitting problem of gentle AdaBoost[C]//Proceedings of International Conference on Graphic & Image Processing. Washington State, USA: International Society for Optics and Photonics, 2013:123-128. [百度学术]
Wu Shuqiong, Nagahashi H. Penalized AdaBoost: Improving the generalization error of gentle AdaBoost through a margin distribution[J]. IEICE Transactions on Information & Systems, 2015(11):1906-1915. [百度学术]
Cheng Fanyong, Zhang Jing, Wen Cuihong, et al. Large cost-sensitive margin distribution machine for imbalanced data classification[J]. Neurocomputing, 2016, 24(8): 45-57. [百度学术]
Wang Jun, Zhou Zhihua. Margin distribution analysis[J]. IEEE Transactions on Neural Networks and Learning Systems, 2021, 99: 1-13. [百度学术]
Rie J, Zhang Tong. Accelerating stochastic gradient descent using predictive variance reduction [C]// Proceedings of Advanced in Neural Information Systems. New York, USA: ACM, 2013: 315-323. [百度学术]
DE STEFANO C, MANIACI M, FONTANELLA F, et al. Reliable writer identification in medieval manuscripts through page layout features: The “Avila” Bible case[J]. Engineering Applications of Artificial Intelligence: The International Journal of Intelligent Real-Time Automation, 2018, 72: 99-110. [百度学术]
Moro S, Cortez P, Laureano R. Using data mining for bank direct marketing: An application of the CRISP-DM Methodology[C]// Proceedings of European Simulation & Modelling Conference. Athens, Greece: IJMO, 2011: 201-205. [百度学术]
KEEL. A software tool to assess evolutionary algorithms for data mining problems [EB/OL]. (2005-11-05) [2019-05-30]. http: //www.keel.es/. [百度学术]