2. 湖南省计量检测研究院,湖南 长沙 410014;
3. 中南大学 自动化学院,湖南 长沙 410082
2. Hu’nan Institute of Metrology and Test, Changsha 410014, China;
3. School of Automation, Central South University, Changsha 410082, China
分类是机器学习的重要一环,支持向量机、随机森林、K近邻等[1-2]分类方法广泛应用于人工智能领域。这些经典的数据分类模型往往假定待处理数据具有较为均匀的分布特性,然而,在实际的工程应用中,数据往往会出现一类比另一类多的情况,即分类处理的对象是不均衡数据集[3],若不对其进行均衡化处理,那么分类器极有可能忽略少数类数据,导致所获得的分类模型不精确或者分类性能下降[4-5]。
不均衡数据集在生活生产中十分常见,如何对不均衡数据集的少数类样本进行正确分类是多个领域的重要课题[6]。比如,在工业过程故障检测与诊断领域[7],其模式分类的目标是识别出有故障的少数类样本,而有故障的样本数要远远少于正常(无故障)样本数。对这些极度不均衡的数据进行处理,往往会导致分类器偏向多数类样本,而难以得到较好的模式分类结果。类似的情况还有医疗诊断[8]、网络入侵监测[9-10]等领域。并且在实际应用中,少数类样本的误(漏)识别代价往往大于多数类样本的误(漏)识别代价。比如,在癌症筛查和诊断[11]中,对少数类类别(肿瘤)漏报,极有可能延误病人的最佳治疗时间,为病人生命带来不可估量的危害;在网络入侵监测中,正常访问与入侵行为存在严重的类别不均衡,如果不能有效区分入侵与访问,将严重威胁网络安全。基于这些原因,不均衡数据的处理方法在国内外受到广泛关注[12]。
现阶段,从数据层面进行考虑和从算法层面进行考虑是不均衡数据集处理方法中的两大主要分支。其中,数据层面的处理方法是基于某种规则,通过删减多数类样本或者增加少数类样本来改善原始数据的不均衡比,使样本尽可能地均衡化,方便进行分类模型的训练;算法层面的处理方法主要包括集成学习[13]和代价敏感学习[14-15]方法,这些方法通过修改分类算法在数据集上的偏置,使得分类决策向少数类偏移,从而有效提升分类器在不均衡数据集上的分类精度。
自适应综合过采样算法(adaptive synthetic sampling approach,ADASYN)[16]是一种有代表性的数据层面处理方法。ADASYN基于少数类样本的概率分布对少数类样本进行自适应插值(过采样),对少数类样本的扩充,以实现数据集的均衡化处理。该方法通过设定插值公式进行人工生成样本,避免了样本的简单随机复制,有效减弱了模型中可能出现的过拟合现象,同时顾及了样本的分布信息,因而在不均衡数据集处理中获得较好的处理结果。然而,虽然ADASYN在对少数类样本进行插值(过采样)处理时在一定程度上考虑了少数类样本周围多数类样本的分布情况,却没有分析和考虑少数类样本间的关联性,存在少数类样本特征信息利用不充分的问题,导致所获得过采样样本并不一定满足少数类样本的本质分布特性,严重时会降低后续分类模型的性能。
本文针对不均衡数据集中少数类样本难以有效分类,现有过采样方法未能充分利用少数类样本间的特征信息的问题,提出一种融合谱聚类的自适应综合采样方法(spectral clustering-fused adaptive synthetic oversampling approach,SCF-ADASYN)。SCF-ADASYN首先采用谱聚类方法对少数类样本进行分析和处理;根据少数类的分布结构,将其聚成若干个簇;再以少数类样本的聚类簇为单位对少数类进行自适应过采样,得到均衡数据集,以用于后续分类器模型训练。最后,在多个不均衡数据集上进行实验,通过搭配多种经典模式分类方法进行模式分类实验,以验证本文所提方法的有效性和性能优越性。
1 相关工作本节对ADASYN和谱聚类方法进行简单介绍,概述其算法核心思路及主要流程。
1.1 自适应综合过采样采样是一种常见的数据集预处理方法,它通过增加少数类样本或减少多数类样本改变其不均衡比,从而构造出新的训练数据集,最常见的采样方法包括过采样[17]和欠采样[18]方法。
欠采样是一类通过对部分多数类样本进行删减以达到均衡化处理目的的不均衡数据集处理方法,例如:压缩最近邻法、随机删除法。研究表明,欠采样方法在删除样本时会不可避免地丢失信息,因此并未被广泛采用。
与欠采样相比,通过增加少数类样本达到均衡化目的的过采样应用更为广泛。综合少数类过采样技术(synthetic minority oversampling technique,SMOTE)[19]是一种应用较为广泛的过采样算法。该算法通过线性插值对少数类样本进行过采样,插值空间位于原数据空间,因其具有良好的分类效果和简单易于实施的优势而被广泛应用。然而,研究表明,该方法会导致类别重叠的问题(在多数类样本之间线性插值出一个少数类样本而导致类别重叠)。因而,He等[16]提出了一种自适应综合过采样方法(adaptive synthetic sampling approach,ADASYN)通过预先判定少数类样本周围多数类的分布情况,对于不同的少数类样本进行自适应插值。
ADASYN算法流程如下:
不均衡度的计算:
1)应合成样本数计算:
2)少数类样本的K近邻查找。找出每个xi(少数类样本)在n维空间的K近邻,同时计算其比率
3)对r进行正则化处理:
4)计算每个少数类样本应合成的样本数目。每个少数样本
5)对于每个少数类样本xi生成gi个新样本,步骤如下:
对1~gi个新样本执行循环:
①在每个待合成的少数类样本xi周围k个邻居中选择1个少数类样本xzi;
②依据式(1)插值:
${s_j} = {x_i} + \lambda \times ({x_{zi}} - {x_i})$ | (1) |
其中(xzi−xi)是n维空间的差异向量,λ∈[0,1]。
ADASYN和传统过采样方法(比如SMOTE)相比,最大优势是能够自适应地决定待合成的少数类样本合成的样本数目,避免了简单的随机复制带来的过拟合问题。
1.2 谱聚类谱图划分问题衍生出了谱聚类[20],它将聚类问题转化为无向图的多路划分问题[21]。样本点用无向图
Download:
|
|
由Ng、Jordan和Weiss提出的NJW算法[21]是一种经典的谱聚类算法,给定一批样本维数为l、样本数量为n的样本集
1)构造相似性矩阵
2)构造度矩阵D,相似性矩阵A的第i行元素值的和是矩阵对角线上的元素
3)构造矩阵
4)归一化X的行向量得到矩阵Y,
5)空间
6)当且仅当矩阵Y的第i行被划分为第j聚类时,把最初的样本点
ADASYN算法[16]在计算插值数目时会计算少数类样本周围的多数类样本的分布情况,从而在分类边界对少数类样本进行自适应采样。然而在少数类样本之间也存在特征信息的关联,如果能充分利用少数类样本间的特征关联信息,再以此决定插值的数目和范围,将会进一步提高不均衡数据集的分类精度[22]。因此,本文在ADASYN算法的研究现状基础上,提出一种融合谱聚类的自适应综合采样算法(SCF-ADASYN)。
2.2 算法设计SCF-ADASYN的思路为:先依据公式
算法 SCF-ADASYN
输入 含有m个样本点{
输出 过采样后的数据集D。
算法实现的主要步骤如下:
1) 不均衡度的计算:
2) 求出应合成的少数样本数:
3) 使用谱聚类方法对少数类样本进行聚类处理,得到k个簇;计算每个少数类样本簇Ci(每个簇的少数类样本数记为ni,
4) 找出每个少数类簇的样本xi在n维空间的K近邻,计算其比率
5) 正则化r:
6) 以少数类样本簇为单位插值:
对C1~Ck执行循环:
①对于少数类簇的每个样本点计算需合成的样本数目,
②对于每个少数类样本xi生成gi步骤如下:
对1~gi个新样本执行循环:
(a) 在每个待合成的少数类样本xi周围k个邻居中选择1个少数类样本xzi;
(b) 依据式(2)进行插值:
${s_j} = {x_i} + \lambda \times ({x_{zi}} - {x_i})$ | (2) |
式中(xzi −xi)是n维空间的差异向量,λ∈[0,1]。
SCF-ADASYN算法流程如图2所示。由于谱聚类使用数据的相似性矩阵的谱执行降维,可以在小数据集上产生高质量的聚类,适用于少数类样本聚类分析,因此SCF-ADASYN在自适应样本插值前利用谱聚类分析少数类样本,SCF-ADASYN在聚类阶段将少数类样本分为簇,时间复杂度为O(n3);在插值阶段,时间复杂度与聚类簇数正相关,时间复杂度为O(Cn),其中C是聚类的簇数。因此,整个SCF-ADASYN的时间复杂度为O(n3)。
Download:
|
|
本文实验包括2个部分:1)验证性实验,在选用的不均衡数据集上,对本文提出的SCF-ADASYN进行有效性验证,对比了其相对于未处理以及经ADASYN算法处理的评价结果,分析、讨论本文算法的有效性;2)在多个常见的不均衡数据集上,将本文提出的SCF-ADASYN与SMOTE、ADASYN进行对比,判断本文算法的优劣。
3.1 数据集表1展示了实验中使用的数据集信息,表中IR为不均衡率,其公式为
$ {\rm{IR}} = \frac{{\text{少数类样本数}}}{{\text{多数类样本数}}} $ |
数据集Blood中的数据是2007年某地献血情况统计,分为献血与没献血2类。
数据集Pima为凤凰城附近的糖尿病呈阳性的患者分类数据集。
数据集Abalone为鲍鱼数据集,数据集中含有4 177个样本,本文选择其中的“18”作为少数类,选择其中的“9”作为多数类。
数据集Haberman包含病人手术时的多项指标,以此判断病人的状况。
数据集Yeast为酵母数据集,本文选择数据集标签中的CYT和MIT作为多数类,样本数为707,选择EXC类别作为少数类,样本数为37。
Abalone数据集的不均衡比0.061 0,而Haberman数据集的不均衡比是0.395 6,可以判断出Abalone要更加不均衡,选用不同不均衡度的数据集,能直观比较不同不均衡情况下本文方法效果。
本实验将在这5个数据集上对SMOTE算法、ADASYN算法以及本文的SCF-ADASYN算法进行测试。将3种方法处理过的数据集通过支持向量机(support vector machine, SVM)[23]、随机森林(random forest, RF)[24]、K最近邻算法(k-nearest neighbor, KNN)[25]等分类器进行分类,按4∶1的比率将数据集随机分为训练集和测试集,并运行5次取平均值作为结果,比较分析本文方法的优劣。
本文的实验环境为
1)处理器型号:Inter(R)I5-8300H CPU@2.30 GHz;
2)运行内存:8 GB;
3)实现语言:Python 3.7;
4)操作系统:Linux(Ubuntu18.04)。
3.2 评价指标对于少数类数据的分类评价在不均衡数据分类评价中十分重要[26]。本文用F-measure、G-mean以及AUC[27]来衡量分类结果。
分类结束后,结果分为4种情况:预测正例、预测负例以及真实正例、真实负例,如表2所示。
将表2中的TP、FP、TN、FN按照模型的评价需求进行组合就构成了常用的评价标准。本文使用的评价标准包括查准率、召回率、G-mean、F值以及AUC。
查准率(Precision)为
${\rm{Precision}} = {\rm{TP}}/({\rm{FP}} + {\rm{TP}})$ |
该指标表示正确分类的多数类样本与分为多数类的所有样本比值。
召回率(Recall)表示被正确分类的少数类样本与实际少数类样本的比值,其计算公式为
${\rm{Recall}} = {\rm{TP}}/({\rm{TP}} + {\rm{FN}})$ |
G-mean为查准率和召回率乘积的平方根,它反映出分类器对于多数类和少数类分类的整体能力。因此,采用G-mean准则来评价不均衡数据集总体分类性能十分合理。
总体性能指标G-mean的计算公式为
$ {\rm{G {\text{-}} mean}} = \sqrt {\frac{{{\rm{TP}} \cdot {\rm{TN}}}}{{({\rm{TP}} + {\rm{FN}}) \cdot ({\rm{TN}} + {\rm{FP}})}}}$ |
通过G-mean的数值来判断分类器的效果,G-mean数值越大说明召回率和查准率越高,效果越好。
F值计算公式为
$ {\rm{F}} {\text{-}} {\rm{measure}} = \frac{{{\rm{Precision}} \times {\rm{Recall}} \times \left( {1 + {\beta ^2}} \right)}}{{{\rm{Precision + }}{\beta ^2} \times {\rm{Recall}}}} $ |
F-measure计算公式中包含了查准率和召回率,在实验室中多取
因为能独立于数据集的类分布,ROC曲线对数据集的不均衡性有很好的鲁棒性,本文使用曲线下面积AUC来代替ROC曲线作为不均衡数据评价方法,值越大代表分类器的性能表现越优秀。
3.3 实验结果及分析1)验证性实验
本文验证性实验选用Pima数据集进行实验。Pima数据集为印第安人糖尿病数据集,其中少数类样本268例,多数类样本500例。比较未进行均衡化处理、采用ADASYN处理、SMOTE处理以及SCF-ADASYN算法处理后的Pima数据集,在多个分类器下的分类表现。
由表3实验结果可知,经SCF-ADASYN算法处理后,F-measure,G-mean以及AUC相较于未经采样处理显著提高,说明经本文算法处理后分类器整体的分类性能以及对少数类样本的分类精度都显著提高。也就是说,本文提出的SCF-ADASYN算法能有效地处理数据类不均衡的问题,从而提高分类器的性能。
将本文方法与SMOTE进行比较,3项指标均有提升,说明本文提出的SCF-ADASYN能够有效提升预处理后分类器的分类精度,相较于SMOTE具有更好的性能表现。
而经过SCF-ADASYN处理后,模型的AUC、G-mean以及F-measure值相较于搭配ADASYN的模型分别提高了7.19%、4.67%以及4.08%,说明SCF-ADASYN算法相比于ADASYN算法对分类的优化程度更高。
2)对比性实验
表4为SMOTE算法,ADASYN算法以及SCF-ADASYN算法在5个数据集上搭配不同分类器的F-measure值。
F-measure作为召回率和查准率两者的组合,相同的多数类样本查准率下,其数值升高,说明在分类过程中对于少数类样本的分类能力得到提高。
从表4可以看出,对比SVM、RF以及KNN对5个数据集进行模式分类,SCF-ADASYN的F-measure值基本高于ADASYN算法,其中在blood数据集上,使用RF作为分类器的分类性能指标F-measure提高了9.43%,这说明经本文方法处理后,在少数类的分类精度上要优于ADASYN算法。在Blood、Haberman以及Yeast数据集上,本文方法的F-measure值要高于两个经典算法,这是由于谱聚类在样本数量较少、样本属性较大的数据集上聚类效果更好,能更好地细化出少数类样本之间的特征属性,在这种情况下插值得到的均衡数据集少数类样本的分类精度更高。
表5为SMOTE算法、ADASYN算法以及SCF-ADASYN算法在5个数据集上搭配不同分类器的G-mean值。
G-mean为多数类样本分类查准率和少数列样本召回率乘积的平方根,G-mean提升意味着两者同时提升,因此本文整体的分类性能用它来衡量。
如表5所示,经SCF-ADASYN算法处理后,分类器的G-mean有不同程度的提高。其中,在Abalone数据集上,如果采用RF作为模型分类器,基于本文所提出的SCF-ADASYN进行不均衡数据集处理,其模型分类的G-mean要比采用ADASYN算法高3.2%,比SMOTE算法高1.9%。这些结果表明,本文算法与SMOTE以及ADASYN算法相比,分类效果有较大的提高,能够显著提高不同类别的分类精度,具有良好的适应性。
表6为SMOTE算法、ADASYN算法以及SCF-ADASYN算法在5个数据集上搭配不同分类器的AUC值,AUC值大意味着整体分类效果优秀。
由表6可以看出,使用SVM、RF以及KNN对5个数据集进行分类,本文方法的AUC值基本高于SMOTE算法和ADASYN算法,说明经本文方法处理后,模型对于不均衡数据的分类能力有效提升。
上述实验表明,经本文提出的SCF-ADASYN方法处理后,各分类器在各不均衡数据集上的模式分类性能显著提升,表明SCF-ADASYN方法能够有效地处理数据不均衡的问题。
4 结束语针对不均衡数据中少数类样本难以分类的问题,本文提出了一种融合谱聚类的自适应综合采样方法。该方法利用谱聚类将少数类样本按照特征信息分成若干个簇,有效获取少数类样本的空间结构,在获得少数类样本空间结构的基础上,再以所获得的聚类簇为单位,对少数类样本进行自适应插值,以此解决数据集的不均衡问题。验证性和对比性实验结果表明,不均衡数据集在经本文算法处理后,在传统分类器上均有更好的少数类分类精度。本文方法融合的谱聚类在处理样本数目较少的数据集时有较好的效果,而当样本数目较大时效果下降,怎样能在大样本数据集上取得更好的效果是进一步研究的方向。
[1] | LESSMANN S, BAESENS B, SEOW H V, et al. Benchmarking state-of-the-art classification algorithms for credit scoring: An update of research[J]. European journal of operational research, 2015, 247(1): 124-36. DOI:10.1016/j.ejor.2015.05.030 (0) |
[2] | LIU J, HE J, ZHANG W, et al. TCvBsISM: Texture classification via B-splines-based image statistical modeling[J]. IEEE access, 2018, 6(1): 76-93. (0) |
[3] |
翟云, 杨炳儒, 曲武. 不平衡类数据挖掘研究综述[J]. 计算机科学, 2010, 37(10): 27-32. ZHAI Yun, YANG Bingru, QU Wu. Survey of mining imbalanced datasets[J]. Computer science, 2010, 37(10): 27-32. DOI:10.3969/j.issn.1002-137X.2010.10.005 (0) |
[4] | LIN W C, TSAI C F, HU Y H, et al. Clustering-based undersampling in class-imbalanced data[J]. Information sciences, 2017, 17(2): 409-410. (0) |
[5] | HE H, GARCIA E A. Learning from imbalanced data[J]. IEEE transactions on knowledge & data engineering, 2009, 21(9): 1263-84. (0) |
[6] | LIU J, TANG Z, ZHANG J, et al. Visual perception-based statistical modeling of complex grain image for product quality monitoring and supervision on assembly production line[J]. Plos one, 2016, 11(3): 1-25. (0) |
[7] |
刘天羽, 李国正, 尤鸣宇. 不均衡故障诊断数据上的特征选择[J]. 小型微型计算机系统, 2009, 30(5): 924-927. LIU Tianyu, LI Guozheng, YOU Mingyu. Feature selection on unbalanced fault diagnosis data[J]. Journal of Chinese computer systems, 2009, 30(5): 924-927. (0) |
[8] | YUAN X, XIE L, ABOUELENIEN M. A regularized ensemble framework of deep learning for cancer detection from multi-class, imbalanced training data[J]. Pattern recognition, 2018, 77(1): 160-72. (0) |
[9] | LIU J, HE J, ZHANG W, et al. ANID-SEoKELM: adaptive network intrusion detection based on selective ensemble of kernel ELMs with random features[J]. Knowledge-based systems, 2019, 177(1): 104-16. (0) |
[10] |
刘金平, 张五霞, 唐朝晖, 等. 基于模糊粗糙集属性约简与GMM-LDA最优聚类簇特征学习的自适应网络入侵检测[J]. 控制与决策, 2019, 34(2): 243-251. LIU Jinping, ZHANG Wuxia, TANG Zhaohui, et al. Adaptive network intrusion detection based on fuzzy rough set-based attribute reduction and GMM-LDA-based optimal cluster feature learning[J]. Control and decision, 2019, 34(2): 243-251. (0) |
[11] | FOTOUHI S, ASADI S, KATTAN M W. A comprehensive data level analysis for cancer diagnosis on imbalanced data[J]. Journal of biomedical informatics, 2018, 90(1): 1-29. (0) |
[12] | ZHOU P, HU X, LI P, et al. Online feature selecton for high dimensional class-imbalanced data[J]. Knowledge-based systems, 2017, 136(15): 187-199. (0) |
[13] | QIAN Y, LIANG Y, LI M, et al. A resampling ensemble algorithm for classification of imbalance problems[J]. Neurocomputing, 2014, 143(2): 57-67. (0) |
[14] | LIU M, XU C, LUO Y, et al. Cost-sensitive feature selection by optimizing F-Measures[J]. IEEE transactions on image processing, 2018, 27(3): 1323-35. DOI:10.1109/TIP.2017.2781298 (0) |
[15] |
吴雨茜, 王俊丽, 杨丽, 等. 代价敏感深度学习方法研究综述[J]. 计算机科学, 2019, 46(5): 8-19. WU Yuqian, WANG Junli, YANG Li, et al. Survey on cost-sensitive deep learning methods[J]. Computer science, 2019, 46(5): 8-19. (0) |
[16] | HE H, BAI Y, GARCIA E A, et al. ADASYN: Adaptive synthetic sampling approach for imbalanced learning[C]// Neural Networks. Hong Kong, China, 2008, 3641−46 (0) |
[17] | AHMAD J, JAVED F, HAYAT M. Intelligent computational model for classification of sub-Golgi protein using oversampling and fisher feature selection methods[J]. Artificial intelligence in medicine, 2017, 78(1): 14-16. (0) |
[18] | LIN W C, TSAI C F, HU Y H, et al. Clustering-based undersampling in class-imbalanced data[J]. Information sciences, 2017, 17(2): 409-410. (0) |
[19] | CHAWLA N V, BOWYER K W, HALL L O, et al. SMOTE: synthetic minority over-sampling technique[J]. Journal of artificial intelligence research, 2011, 16(1): 321-357. (0) |
[20] |
蔡晓妍, 戴冠中, 杨黎斌. 谱聚类算法综述[J]. 计算机科学, 2008(7): 14-18. CAI Xiaoyan, DAI Guanzhong, YANG Libin. Survey on spectral clustering algorithms[J]. Computer science, 2008(7): 14-18. DOI:10.3969/j.issn.1002-137X.2008.07.004 (0) |
[21] | NG A Y, JORDAN M I, WEISS Y. On spectral clustering: Analysis and an algorithm[C]//Proceedings of the Advances in Neural Information Processing Systems. Berkeley, USA, 2002: 26−34. (0) |
[22] |
刘金平, 周嘉铭, 刘先锋, 等. 基于聚类簇结构特性的自适应综合采样法在入侵检测中的应用[J/OL]. 控制与决策: https://doi.org/10.1n3195/j.kzyjc.2019.1672. LIU Jinping, ZHOU Jiaming, LIU Xianfeng, et al.Toward intrusion detection via cluster-structure characteristics-based adaptive synthetic sampling approach[J/OL]. Control and decision: https://doi.org/10.13195/j.kzyjc.2019.1672. (0) |
[23] | CHAUHAN V K, DAHIYA K, SHARMA A. Problemformulations and solvers in linear SVM: a review[J]. Artificial intelligence review, 2018, 6(1): 1-53. (0) |
[24] | PAUL A, MUKHERJEE D P, DAS P, et al. Improved random forest for classification[J]. IEEE transactionson image processing, 2018, 27(8): 4012-24. DOI:10.1109/TIP.2018.2834830 (0) |
[25] | ZHANG S, DENG Z, CHENG D, et al. Efficient KNN classification algorithm for big data[J]. Neurocomputing, 2016, 195(26): 143-8. (0) |
[26] |
林智勇, 郝志峰, 杨晓伟. 若干评价准则对不平衡数据学习的影响[J]. 华南理工大学学报(自然科学版), 2010, 38(4): 147-155. LIN Zhiyong, HAO Zhifeng, YANG Xiaowei. The influence of several evaluation criteria on unbalanced data learning[J]. Journal of South China University of Technology (natural science edition), 2010, 38(4): 147-155. (0) |
[27] | THARWAT A. Classification assessment methods[J]. Applied computing and informatics, 2018, 12(1): 1-13. (0) |