面向不平衡数据集的机器学习分类策略

2020-12-26 02:56徐玲玲迟冬祥
计算机工程与应用 2020年24期
关键词:特征选择分类器分类

徐玲玲,迟冬祥

上海电机学院 电子信息学院,上海201306

1 引言

科学技术的不断创新发展使得数据迅速膨胀并呈爆炸性增长,从错综复杂的海量数据中挖掘出潜在的价值成为机器学习和数据挖掘领域最为热门的话题。传统的分类问题大体是假设数据平衡,但在诸多应用领域这种假设往往是不成立的,即数据集中某一类的数量显著多于另一类,因此形成了不平衡数据集(imbalanced data sets)[1],此时传统的分类算法如决策树、朴素贝叶斯、KNN、SVM等基于精度评价标准的分类算法也不能很好地适用于不平衡数据集。一般称样本数量极端少的一类为少数类(minority class),样本数量特别多的类别为多数类(majority class),正类和负类之间的比例称之为不平衡比例(Imbalanced Ratio,IR),这种广泛存在的样本数量不平衡问题使得在处理不平衡数据集分类时容易发生错误分类,尤其在不平衡比例非常高的情况下,会造成很大的分类损失。例如在癌症疾病诊断中,把患者错误诊断为正常,会使病人错失最佳治疗时机,严重的还会造成生命威胁;又如在欺诈检测中,把欺诈事件误判为正常的代价远大于把正常的误判为异常,甚至造成不可预估的损失。

近年来,上述数据不平衡现象在各行各业愈发突出,引起了众多专家学者的高度关注[2],提出解决不平衡数据集的分类策略也层出不穷,总结起来可以归为两大类,一类是从数据本身出发对数据集重构,以此改变样本数量的分布结构,使不平衡数据集内不同类别之间的数量达到相对平衡。另一类针对传统分类模型整体分类精度高却对少数类识别能力低的特点,分别从分类算法和分类思想层面,提出了一系列有针对性、偏向对少数类更加关注、提高少数类分类精度的改进策略。

2 不平衡数据集分类问题概述

本章主要通过介绍不平衡数据集存在的基本问题,如不平衡数据集的特征描述、常见的应用场景、一般的分类过程以及不平衡数据集分类困难的主要来源,提供了对类不平衡数据集全面且深入的剖析。

2.1 不平衡数据集定义及应用场景

数据不平衡问题主要是指数据集中各类别样本数量分布不均衡,由于不平衡数据集分类问题的特殊性,用一般的分类算法对其进行分类操作时,往往易受“少数服从多数”原则影响。显而易见,分类器为了提高整体的分类精度,会自然地忽略少数类对分类的影响并将其划分为多数类。依据这样的划分结果确实能得到一个较高的分类性能,却不能带来相对高的利用价值。正所谓“物以稀为贵”,类不平衡问题中数量稀少的少数类带来的价值远远超过多数类,集中研究它会给人们带来巨大的潜在价值。在医疗检测、异常检测、故障分析、信用卡欺诈等场景中无一例外地存在不平衡数据集分类的困扰。

2.2 不平衡数据集分类过程

机器学习的分类过程主要包括:获取原始数据集、数据预处理、分类模型构建、模型评估四部分,不平衡数据集也常遵循着以下分类流程。

(1)获取原始数据集:数据集是机器学习算法必不可少的元素,获取数据集也是机器学习研究的第一步,较为常见的标准测试数据集是UCI数据集。

(2)数据预处理:原始数据可能是杂乱无章、纷繁复杂的,直接用这样的数据集进行建模训练往往会给分类器带来极高的训练成本,却得不到较好的分类效果。通常会在对不平衡数据集分析后,进行一些预处理操作,为训练模型减少后顾之忧。

(3)分类模型构建:这是从数据中学习从而建立一个分类模型(分类器,classifier),然后对新的输入进行输出预测的过程。构建分类模型从来不是一劳永逸的事情,需要根据不平衡数据集的内在特征,构建适合的分类模型。

(4)模型评估:通过一系列的评估指标去判断一个分类器模型的分类效果。

2.3 不平衡数据集分类存在的困难

分类是机器学习研究的基本问题,就算面对一组平衡的数据集,分类问题本身也没有一套较为完善的处理算法,不平衡数据集又以其内在的复杂性和特殊性,使得这一领域的研究还存在诸多有待解决的困难,其分类困难的主要原因如下。

(1)数据采样困难:分类问题常带来的是大量数据,但在不平衡数据集中少数类样本所占比值往往远不及整体样本的百分之一。虽然会采取一系列的采样策略去平衡数据,而现存的采样方法普遍存在诸如过拟合、易丢失多数类样本信息、增加冗余信息等缺陷。

(2)算法选择困难:常见的较为成熟的分类算法如决策树、随机森林、支持向量机等虽已取得长足的发展,但它们对不平衡数据中少数类的识别率低,不能很好地适应不平衡数据集的特点。

(3)数据识别困难:噪声通常是数据集中不可避免的因素,少数类样本遇上噪声无疑会降低分类器对少数类的识别能力。特别当噪声数据的数量与少数类样本数量持平或多于时,可能出现分类器同时学习噪声和少数类的风险。因此,尽可能多地去除不平衡数据集中的噪声尤为重要,也与后续分类器顺利分类息息相关。

(4)性能评价困难:性能评价对衡量一个分类器的优劣具有重要的评判价值,也为选择合适的分类器提供了不可或缺的参考价值。基于准确率和错误率的评价指标会为了追求整体较高的准确率和较低的错误率,不惜以牺牲少数类为代价将未知样本向多数类倾斜,忽略了少数类样本的分类精度,因而不能很好地反映模型的好坏。

3 不平衡数据集的数据重构策略

数据重构策略是独立于分类算法、在数据层面上对原始数据分布进行预处理的过程,旨在将不平衡数据集转换成较平衡数据集,然后采用对平衡数据的分类方法进行学习分类和性能评估。目前最为常见的数据重构策略有特征选择和重采样技术。

3.1 特征选择

有时数据集中的数据是不相关的、冗余的或是有噪声的,特征选择的目的是在不丢失有用信息的前提下,采用“取其精华,去其糟粕”的思想,从原始特征空间中选择较优的特征,剔除劣等特征,从而在原始特征中选择更适合不平衡数据集、能更好地反映不平衡数据集特点的训练子集,使构建的分类器模型达到最优的性能。

常见的特征选择方法大致可分为三类:过滤式(filter)、包裹式(wrapper)和嵌入式(embedding)。以下分别介绍了三种特征选择方法的特点、分析了面对不平衡数据集时它们做出的一系列改进方法。

(1)过滤式特征选择算法(filter)

过滤式算法与分类器独立,在训练分类器之前先利用距离测度、信息测度和相关性测度等特征选择方法对初始特征进行“过滤”,再使用过滤后的特征对模型训练。文献[3]便提出三种filter 技术:高权重(HW)、差分少数重复(DMR)和平衡少数重复(BMR),有效地从不平衡分布数据集中识别和选择出重要信息的特征。Relief[4]是一种典型的基于filter 原理的特征选择方法,根据二分类中每个样本的特征与其最近的样本之间的差异来估计特征的重要性,为分类贡献大的特征赋予较大的权值,Relief 算法简单、运行效率高、对数据类型也没有限制,然而它在广泛应用的同时,暴露出不适合处理有干扰的数据,也不适合处理不平衡数据等缺陷。为了弥补这些缺陷,菅小艳等[5]提出基于Relief 算法的阈值-Relief 干扰数据特征选择算法,消除了干扰数据对分类结果的影响。

特征选择方法多采用欧氏距离来衡量样本之间的差异,以识别出有助于分类的特征。欧氏距离简单易计算,却只局限于两个样本之间的相似度,忽略了数据的整体结构以及类内的不平衡,导致分类器的分类性能较差。Shahee 等[6]由此提出了基于距离的特征选择方法(ED-Relief),其特点是采用一种新的距离度量,利用归一化JF散度的几何平均值以及类之间的分离来同时处理类内和类间的不平衡,突破了传统仅基于类间不平衡特征选择的局限。

由于filter 算法独立于分类器,只是通过分析原始特征集的内在特性,再结合相应的评价准则来选择特征子集,通常会降低分类器的准确率。

(2)包裹式特征选择算法(wrapper)

包裹式特征选择算法[7]与分类器相结合,直接把最终将要使用的分类器的性能作为特征子集的评价准则,旨在通过启发式或顺序式搜索等方式为给定的分类器选择出能够取得较高准确率、有利于其性能的特征子集。Yang等[8]提出的基于集成的包裹式特征选择方法,从类分布高度不平衡的数据中进行特征选择,通过采样方法从原始的不平衡数据集中创建多个平衡数据集,然后使用在平衡数据集上训练的基分类器集成来评估特征子集。Das等[9]正是分析了过滤和包裹式方法在特征选择中的优缺点,从而提出一种新的混合算法,它利用提升技术,将wrapper 方法的一些特征融合到一种快速的特征选择filter 方法中。实验结果表明,该混合算法不仅在训练速度上优于单一的wrapper 方法,并且可以很好地扩展到具有数千个特征的数据集。

虽然包裹式特征选择方法为给定分类器进行优化,获得了比过滤式特征选择方法更好的性能,但它需要不断地训练和测试分类器以找到最优的特征组合,需要的计算代价大,遍历时间长。

(3)嵌入式特征选择算法(embedding)

不同于过滤式和包裹式方法,嵌入式算法没有将特征选择过程和分类器训练过程明显区别,而是将这两者有机融合在一起,在训练分类器的过程中自动进行特征选择。不仅能使所训练的分类器具有较高的准确率,还能大大节省计算开销。Maldonado等[10]针对高维不平衡数据,采用嵌入式特征选择方法选择原始数据集中不同类型的特征来权衡对少数类样本的重要性,从而筛选出对有效分类出少数类样本更有意义的特征,同时达到降维的目的,更有利于分类器的训练。Liu 等[11]提出代价敏感的嵌入式特征选择方法,在基于CART[12]决策树算法结构的基础上,增加了一种处理不平衡数据集的索引加权方法以达到提升分类器分类性能的目的。

一个好的特征选择可以提高分类器的学习速度、减少内存消耗、简化模型。文献[13]便全面介绍了上述三种特征选择方式的优缺点及其各自适用的应用场景。

3.2 重采样技术

特征选择侧重对数据进行“选择”,选择更有助于分类的特征进行训练,重采样技术则是一种异于特征选择的数据重构策略,通过调整多数类和少数类之间的样本分布结构,达到削弱数据集不平衡度的目的。

3.2.1 欠采样(Under-Sampling)

欠采样策略通过减少部分多数类样本数量来降低类间不平衡比例,使样本数量趋于平衡。最简单的欠采样策略是随机欠采样(Random Under-Sampling,RUS),即从多数类样本中随机选取一些样本进行剔除。常见的欠采样策略如图1所示。

图1 欠采样分类策略

编辑最近邻(Edited Nearest Neighbor,ENN)[14]欠采样算法主要删除那些类别与其最近三个邻近样本类别中有两个或以上不同类别的样本,在ENN 的基础上邻域清理法(Neighborhood Cleaning Rule,NCL)[15]进一步识别训练集中的样本,若该样本属于少数类且它的三个最近邻中包含两个或以上的多数类,便将三个最近邻中的多数类删除;若该样本属于多数类且它的三个最近邻中包含两个或以上的少数类样本,则把该多数类样本直接删除,NCL能精准地删除更多的多数类。压缩最近邻法(Condensed Neatest Neighbor,CNN)[16]反其道而行之,尽量保留决策边界附近可能具有价值的多数类样本,移除了远离决策边界的多数类样本,将剩下的多数类与少数类样本组合成新的数据集训练。Tomek Links[17]被用来识别噪声样本和边界样本,它计算来自不同类别的两个样本之间的距离,若在数据集剩下的样本中找不到任何一个样本与它们的距离更近,则称这两个少数类样本与多数类样本互为最近邻(称Tomek对),Tomek对中可能存在一个噪声或这两个样本位于两类样本的分类边界区域。通过找到所有的Tomek对,便可以删除多数类样本中的噪声或边界上的多数类样本,从而消除类之间的重叠。单边选择[18](one-sided selection)欠采样算法,利用CNN算法删除远离边界的样本点,利用Tomek对删除噪声样本点和边界样本点,两种方法的结合使采样后的样本更具有学习价值。Garcia等[19]则提出了一种进化欠采样(Evolutionary Under-Sampling,EUS)方法,旨在从原始训练集中选择数据样本的最佳子集,使用不同的适应度函数,以在不平衡数据集的类分布和分类器性能之间取得良好的平衡。

上述通过减少多数类的数量来平衡数据集的欠采样技术,简单高效易实现但易忽略多数类潜在的信息,特别是当不平衡比例非常高的时候需要剔除较多的多数类样本信息,严重影响了分类器的泛化能力。为了缓解这一问题,提出了两种算法,其一是EasyEnsemble[20]算法,将不平衡原始数据集划分为多数类数据集和少数类训练集两部分,对多数类随机欠采样独立生成与少数类样本数目相当的多个训练子集,并将生成的每个子集和少数类结合起来训练学习多个子分类器,然后将构建的子分类器加权融合成一个最终的分类器模型。其二是BalanceCascade[20]算法,前者是分类器串行的级联算法,后者则是分类器并行的算法。该算法反复迭代随机欠采样与分类器训练这两个过程,每迭代一次把子分类器中正确分类的多数类样本从训练数据集中移除,再对多数类样本集随机欠采样,直到训练数据集中多数类样本数目少于少数类样本数目为止。虽然这两种算法缓解了欠采样存在的问题,但分批训练多个分类器增加了训练时间和学习成本。

以上讨论的大都是基于K 近邻的欠采样方法,在不平衡数据集的背景下,聚类[21]以其“物以类聚,人以群分”,感知样本间的相识度,对类别归纳,对新的输入进行输出预测的思想获得了广泛的关注。从表1 的AUC对比值中,可以看出基于聚类的欠采样在不平衡数据集中获得了较好的效果[22]。Lin等[23]同样通过实验证明了基于聚类的欠采样策略可以降低从多数类中移除潜在有用数据的风险,使构造的分类器优于使用基于随机欠采样的分类器。文献[24]提出基于聚类的欠采样方法来选择具有代表性的数据作为训练数据,以提高少数类的分类精度。

表1 UCI数据集上三种欠采样的AUC值对比

图2 过采样分类策略

除了基于K 近邻和基于聚类的欠采样方法外,基于进化论的遗传算法也时常被用来探究多数类样本之间的特性,如Drown等[25]通过遗传算法对多数类样本欠采样,同时去除了噪声和冗余数据,使得采样后的数据更利于分类器训练。文献[26]等提出基于遗传算法的欠采样GAUS(Genetic Algorithm Based Under-Sampling)方法,使用遗传算法对样本选择,弥补了单一使用欠采样算法易丢失潜在有效信息的不足,使分类器的性能更加稳定。

3.2.2 过采样(Over-Sampling)

与欠采样相对应的过采样技术采用增加不平衡数据集中少数类数量的策略,通过一系列方法合成新的少数类样本,并添加到原始数据集中,从而均衡数据集。随机过采样(Random Over-Sampling,ROS)同样是最简单的过采样策略,从样本少的类别中随机复制采样,再将采样得来的样本添加到数据集中。过采样策略实现思想简单,但以这样简单随机复制的方法来增加少数类样本,易造成过拟合,使模型没有很好的泛化能力,新合成样本的加入也会增加样本训练时间。为了降低分类算法过拟合的可能性,过采样策略处理不平衡数据集引起了众多专家学者的广泛关注,经典的SMOTE 过采样算法应运而生。常见的过采样分类策略如图2所示。

SMOTE(Synthetic Minority Over-sampling Technique)是由Chawla 等人[27]提出的基于随机过采样算法的一种改进的线性插值过采样方法。该算法通过对少数类进行分析,取每一个少数类样本点xi,沿着连接它们在剩余少数类中随机选择出的k 个最近邻的样本点x̂i,并以0~1 之间的采样倍率进行线性插值,从而产生新的合成数据(synthesized data),其合成原理如公式(1)所示,合成示意图如图3所示。

图3 SMOTE算法合成数据示意图

SMOTE算法不仅有效弥补了随机过采样简单复制少数类合成新样本易造成模型过拟合、泛化能力不强等缺陷,还以其设计过程简单易实现,具有较强的鲁棒性等优势,为人们研究不平衡数据集提供了强有力的理论基础,后续衍生出一系列基于SMOTE 算法原理的采样策略,文献[28]综述了自SMOTE 算法被提出15 年来系列扩展算法及它带来的影响和将迎来的挑战。

从表2中也可以明显看出SMOTE算法在不同不平衡数据集分类器中的AUC值明显高于其他重采样算法[29]。

表2 三种重采样方法在不同不平衡数据集使用C4.5分类的AUC值比较 %

MSMOTE[30]是一种典型的优化算法,它弥补了SMOTE合成数据时对数据集中少数类分布特征和对潜在噪声欠考虑的不足,通过计算少数类样本与训练数据样本间的距离,将少数类样本划分为安全、边界和潜在噪声三类,并对安全样本随机选择k 最近邻样本点、对边界样本只选择最近邻样本点,来进行SOMTE采样,对潜在噪声不进行任何操作。Borderline-SMOTE[31]则利用k 近邻规则将少数类样本分为噪声、边界和安全三个区域,重点关注那些容易被错误分类的边界样本,分析和识别边界中的少数类样本,只对边界上的少数类进行SMOTE 过采样,减少了对所有的少数类进行过采样的处理时间、强化了边界数据的学习。自适应合成抽样算法(adaptive synthetic sampling,ADASYN)[32],同样是对少数类进行划分并针对其特征采取不同的处理方式合成新样本。但ADASYN方法侧重于根据样本分类的难易程度为少数类样本赋予不同的权重,并不断自适应调整,不仅减少了原始不平衡数据分布带来的偏差,而且自适应地将决策边界转移到难以学习的样本上。然而它易受离群点的影响,当一个少数类样本的K 近邻都是多数类样本时,会被赋予相当大的权重,进而会在其周围合成较多的样本。此外蒋华等[33]发现无论是SMOTE还是ADSYN 方法在合成新样本时都忽略了数据集分布特点,从而提出将两者相结合来合成少数类样本,使不同类别样本点边界更加清晰,分类性能明显优于两者单独使用。文献[34]正是认识到SMOTE算法在没有考虑多数类的情况下泛化了少数类区域的现象,提出了Safe-Level-SMOTE 算法,它在合成数据之前使用最近邻少数样本为每一个少数类计算一个安全级别,沿着同一条线根据不同的安全级别赋予不同的采样权重,由于只在安全区域生成所有合成样本,使得每个新合成的样本的位置将更接近最大安全级别,获得了更好的性能。尽管诸多SMOTE 改进算法获得了较好的成效,但仍然无法解决数据集中少数类样本分布边缘化和计算复杂度较大的问题,为此赵清华等[35]提出TSMOTE(Triangle SMOTE)算法和MDSMOTE(Max Disatance SMOTE)算法,前者着重关注新样本产生的区域,避免所产生的新样本使数据集分布边缘化;后者只关注少数类样本质心点和距离质心最远的少数类样本点,在这两个样本点连线之间随机产生新样本。

虽然上述SMOTE改进算法合成新数据采取的技术各不相同,核心仍是在选定的线段上线性插值。Luo等[36]针对SMOTE线性插值的不足提出利用不平衡三角形合成数据(the Imbalanced Triangle Synthetic Data method,ITSD),充分利用数据空间里将多数类和少数类分开的机器学习分类超平面,从超平面的两端取三个数据构成不平衡三角形,最大限度地利用了少数类和多数类数据。基于高斯概率分布的Gaussian-based SMOTE[37]算法,结合特征空间中的高斯概率分布,解决了SMOTE倾向于以高概率在同一条直线上合成数据易造成过拟合的问题。它不再以0~1间均匀分布的随机数生成数据,而是采用介于0~从高斯分布中启发式选择数字,使SMOTE算法产生的新合成样本不显著偏离直线。

以上主要是针对线性可分数据集的讨论,实际应用中也不乏非线性可分的数据集,为了解决非线性数据集的分类难题,常使用核方法对其高维映射,然后在核空间线性分类[38]。王莉等[39]提出的基于核空间的过采样算法(NKSMOTE),首先利用非线性映射函数将样本映射到一个高维的核空间,在核空间中将少数类分成不同的类别,然后根据类别的不同赋予不同的向上采样倍率,再结合K 近邻合成新的样本。Lin等[40]为了减少特征空间投影过程中的信息损失,提出新的核自适应子空间过采样(MOKAS)算法,利用核变体中不变特征析取的能力来自适应子空间进行自组织映射,尽可能地保留了原始特征在映射过程中信息的完整性。

3.2.3 混合采样(Hybrid-Sampling)

欠采样方法缩小了样本训练空间、降低了学习成本,但易造成潜在有用信息遗失;过采样方法虽扩大了样本训练空间,却增加了训练时间,新合成的样本也增加了过拟合的风险。混合采样[41]将过采样和欠采样融合在一起,一定程度弥补了二者的缺点,也能兼顾他们的优点,往往能够取得比采用单个采样策略更好的效果。

Padmaja等[42]对不平衡数据集中的多数类样本随机欠采样,并在对少数类样本进行SMOTE 过采样时摒弃了使用欧氏距离来衡量样本间的距离,改用插值度量(VDM)来计算距离的混合采样方式平衡原始数据集。欧阳源遊[43]为了缓解过采样可能存在合成无用新样本以及噪声样本对分类产生干扰等问题,提出基于错分思想的混合采样算法,以错分样本为基础有指导地、针对性地合成新样本,避免了盲目产生新样本的风险。为了解决基于聚类的欠采样易造成训练集过度稀疏,SMOTE 过采样时常引入较多噪声等问题,林舒杨等[44]使用SMOTE过采样算法结合聚类欠采样方法。张明等[45]引进“变异系数”找出样本的稀疏域和密集域,针对稀疏域中的少数类样本,提出BSMOTE过采样算法;对密集域中的多数类样本,提出了改进的欠采样方法(IS)形成新的多数类样本集。

4 不平衡数据集分类模型改进策略

数据重构策略重点调整数据内部分布结构,使不平衡数据集趋于平衡。分类模型的改进策略则尽可能地保留原始数据的分布特征和数据集的内在结构,旨在调整传统的分类算法或提出对现有分类思想进行优化和改进,使其适应不平衡数据集的内在特征,从而提高对少数类样本的识别能力。本章所阐述的分类模型改进策略主要是从分类算法和分类思想这两方面对不平衡数据集分类进行优化和改进。

4.1 分类算法的改进策略

传统的分类算法在机器学习和数据挖掘领域取得了较为成熟的发展,也衍生出一系列经典的分类算法[46],如K 最近邻、支持向量机、朴素贝叶斯、决策树等已得到了广泛的应用。然而这些分类算法大都是基于样本数据间平衡的假设,当类不平衡时便出现了分类器明显向多数类偏移的共性问题。不平衡数据集的算法改进策略最大程度地保留了原始数据集的所有信息,因而受到了不少研究学者的青睐。

4.1.1 K 最近邻

K 最近邻(K-NearestNeighbor,KNN)[47]是一种经典的数据挖掘分类算法,测量不同样本之间的距离进行分类,大体思想是计算给定样本与剩下其他样本之间的距离,选出距离该样本最近的K 个邻近值,如果这K 个样本大多属于某个类别,则该样本同属于这一类别。当面对不平衡数据集时,KNN 算法却没有发挥属于它的优势,因为其K 最近邻通常会受到多数类的影响,多数类在K 近邻中占主导地位使得分类结果向多数类偏移,少数类分类精度下降。为了缓解不平衡数据的影响,Tan等[48]提出的近邻加权算法(Neighbor-Weighted KNearest Neighbor,NWKNN),对K 近邻中的少数类赋予较大权重,为多数类赋予较小权重,将其应用于文本分类领域,取得了较好的成果。在选择K 近邻时通常采用欧氏距离来测量各样本间的距离,作为一种定量距离度量公式,显然并不适用于二分类不平衡数据集非此即彼的分类规则。Batista 等[49]由此提出了使用异质值差度量(HVDM)距离函数来实现KNN 算法,该距离函数使用欧式距离来定量衡量样本间的距离;使用VDM距离来定性考虑样本的每个可能值分类的相似性,能够更好地描述不平衡数据集中样本间的差异和距离。

4.1.2 支持向量机

支持向量机(Support Vector Machine,SVM)[50]是基于统计学习理论的机器学习方法,在训练集的样本空间中找到一个能够将类别不同的样本划分开的最优边界或最大间隔超平面。当数据集中各个类别的数量比例是均衡时,支持向量机生成的决策边界是理想分界面;然而当面对不平衡数据集时或各类别间的数量比呈现高度不平衡状态时,支持向量机所训练的分类器会明显将决策边界偏向少数类,与理想的分界面形成一定的偏差(如图4 所示),受分类边界偏移的影响,新样本进行分类时易被错分为多数类,造成少数类预测精度比多数类的预测精度低。Imam等[51]考虑到传统支持向量机处理类不平衡时决策边界的偏移,在训练不平衡数据集建立支持向量机模型时,根据模型结果引入附加参数自动对决策边界进行修正,使其趋近理想分界面,从而消除SVM对多数类的偏差。同样为了矫正偏移的决策边界,文献[52-54]引入权重参数来调整SVM 的分类决策函数,以此提高少数类样本对分类器的贡献,使分类平面向多数类样本倾斜,解决了类不平衡对SVM 造成的影响。

图4 数据不平衡数据集下SVM的分类边界的偏移

杨等[55]直接将少数类作为训练目标,提出基于样本重要性的支持向量机(IISVM),首先将训练集按照样本的重要性重新组织规划,然后在新训练集上显式设置早停止条件,既节省了分类器学习训练的时间又高效地实现了对少数类的识别。Batuwita等[56-57]则利用在不平衡数据集上训练支持向量机模型得到的分离超平面,选择距离类边界区域最近且信息量最大的数据样本,再使用这些选定的样本进行重采样,避免了采样的盲目性,还处理了异常值和噪声,极大缩短了SVM的训练时间。

虽然SVM 在许多应用领域取得了不错的分类效果,当面对分类数据集呈现非线性分布的情况时,却很难找到超平面将样本分开。此时核方法的引入巧妙地将非线性映射到一个高维核空间,进而在高维映射的核空间分离样本,例如Zhang等[58]首先使用标准的支持向量机算法来获得一个近似的超平面,然后根据统计分析中的保角变换和卡方检验,结合每个样本到支持向量机分类器的距离,得到一个新尺度的核函数来修正近似超平面,解决了数据分布不均匀而导致的分类器性能下降的问题。

4.1.3 决策树

决策树(Decision Tree,DT)算法是机器学习领域经典算法之一,利用树形结构、基于规则进行分类决策,将样本数据根据其特征的重要性进行分割,递归地生成决策树,树的叶子节点代表着最终决策结果。传统的使用信息增益或信息熵作为选择决策树分裂特征的度量准则在面对类不平衡数据时效果欠佳[59],Cieslak等[60]为此提出使用海林格距离作为决策树分裂准则来建立海林格距离决策树(Hellinger Distance Decision Tree,HDDT),有效提升了决策树在类不平衡数据下分类的鲁棒性。Liu 等[61]对基于关联规则的分类方法进行优化,用类置信度代替置信度,提出类置信度比例决策树(Class Confidence Proportion Decision Tree,CCPDT),充分考虑了类之间的联系,提高了决策树的健壮性和对类大小的敏感性。然而决策树在训练数据的过程中可能会生成复杂的树结构,易造成过拟合的现象。

4.1.4 朴素贝叶斯

朴素贝叶斯(Naive Bayes,NB)[62]是基于Bayes 定理的简单概率归纳算法,在各属性间相互独立的假设下,根据样本的后验概率对样本进行分类,该算法不需要对参数调整和估计,对缺失数据不敏感,效率高且具有广泛的适用范围,常应用于文本分类、推荐系统等领域进行决策与分析,但由于类不平衡数据的内在特征,使得后验概率与实际结果存在较高的偏差,影响了朴素贝叶斯分类性能。蒋盛益等[63]便提出一种对朴素贝叶斯的后验概率进行加权运算的算法,结合基于整个数据集的类别分布构造能自适应数据分布的代价敏感函数,使偏差尽量减小,显著提高了分类性能。姚宇等[64]进一步提出基于数据平滑与加权补集的朴素贝叶斯优化算法,并将其应用于文本分类中解决类不平衡及数据稀疏问题。韩忠明等[65]将贝叶斯思想引入不平衡分类任务,用类别的间隔似然函数代替后验分布中样本的概率似然函数,优化了不平衡类的分类判别依据,从而提高不平衡数据的分类精度。

朴素贝叶斯这一基于概率论的分类方法虽简单易实现,但其各属性间需要独立的前提假设和将各特征属性对分类影响一致视为相同的规则,在实际应用中很难满足,制约了它在类不平衡数据中的发展。

4.1.5 基于神经网络的分类策略

神经网络(Neural Network)[66]分类算法是运用类似于大脑神经突触联接结构,对信息进行分析处理的模型,传统神经网络主要通过梯度下降算法迭代调整权值的方式来缩小训练误差,将其应用于不平衡数据集时,由于多数类样本数多于少数类样本,导致梯度下降方向受多数类影响,以缩小训练误差为目的的迭代会使得决策边界向少数类样本倾斜,降低了少数类样本的识别率。文献[67]便采用反向传播算法对神经网络训练,然后应用粒子群优化算法(PSO)去训练网络中的数据,从而输出预测值,优化了神经网络的决策边界,以此解决类不平衡数据集对神经网络分类的影响。张文东等[68]则提出一种改进的神经网络算法,在输入层与隐藏层之间加入一层特征受损层,剔除了部分冗余特征值,降低了数据集的不平衡度。神经网络常与SMOTE 过采样结合起来处理类不平衡问题,如基于SMOTE 的互补神经网络[69]和基于SMOTE 的去噪自编码神经网络[70],不仅均衡了数据集,还有效降低了数据冗余和噪声。NNSMOTE[71]则弥补了SMOTE 线性插值的不足,采用神经网络非线性插值的思想来合成新的少数类,使合成的样本丰富多样,能更灵活地拟合原少数类样本的分布。值得注意的是,训练神经网络时,需要较多的参数,如权值和阈值等,增加了训练成本和时间。

神经网络得到了如此广泛的应用,提出了一系列基于神经网络的算法,其中最为常见且在类不平衡应用中获得了较为深入的研究当属于极限学习机和深度学习。

(1)极限学习机

极限学习机(Extreme Learning Machine,ELM)是由Huang等[72]提出的一种机器学习算法,主要通过随机初始化输入层和隐藏层的权重参数,并利用最小二乘法求解输出层权重的方式来训练单隐层前馈神经网络,相比于传统的前馈神经网络,在保证学习精度的前提下实现了更快的速度,同时避免了迭代训练过程。ELM 也因其泛化能力强,训练速度快等优点被广泛运用于故障诊断[73]、遥感图像分类等诸多实际应用领域。但当面对不平衡数据集时,同样面临着分类算法向多数类偏移的问题,针对这一现象很多学者也相继提出了不同的极限学习机处理类不平衡的算法。较为常见的便是为样本赋予不同的权重而引申出来的加权极限学习机[74-77],略有区别的是Zhang[76]将模糊记忆应用于ELM 的每个输入,使得不同的输入对输出权值的学习产生不同的贡献,于化龙等[77]基于此进一步提出了模糊加权极限学习机,引入模糊集的概念,充分挖掘每个样本在特征空间中的分布信息并对其各自的权重进行模糊化与个性化设置,以最大化分类性能。

(2)深度学习

正如上述所述,机器学习已经在不平衡数据集处理方法中取得了较好的研究成果[78],而深度学习虽然近年在某些方面取得了不错的进展,但是其在类不平衡情况下的研究还是非常少的。从图5 机器学习和深度学习处理流程对比图中,可以很明显地看到深度学习省去了机器学习中人工建立特征工程的步骤,能自动地学习特征和预测结果之间的关联,自动了解样本的数据分布特征,也能从简单特征中提取复杂的特征。特别是在大数据背景下,深度学习的出现无疑为机器学习开辟了一个新的领域,真正实现了“自主学习”。

图5 机器学习与深度学习处理流程对比

深度学习(Deep Learning,DL)[79]是源于人工神经网络的机器学习方法,不同于极限学习机的单隐层结构,深度学习是具有多个隐藏层的神经网络,采用多层级的模型结构,对输入的样本数据进行层次化提取与分析,因而具有更强的自主学习和泛化能力。如Dong等[80]提出了一种新的类不平衡深度学习方法,利用批量优化过程对少数类中难以分类的样本进行批量学习,对少数类增量校正。常见的深度学习模型有生成式对抗网络(Generative Adversarial Networks,GAN)、卷积神经网络(Convolutional Neural Network,CNN)等。

生成对抗网络[81]能够学习原始样本数据分布特征,进而生成具有相似分布的新样本。Lee等[82]便设计了一个用于故障检测与诊断的深层神经网络,利用经验模态分解(EMD)能谱数据通过GAN 生成的新样本,得到了比传统过采样技术更好的故障诊断结果。解晓波[83]认为不平衡数据集分类困难的主要原因是数据集中样本类别不协调,因此着眼于少数类样本,提出了基于生成对抗网络的数据集增强方法,充分利用生成对抗网络中生成器的强拟合能力最大程度拟合少数类样本的分布,再用较为成熟的生成器去生成与多数类数量趋于均衡的少数类样本。

卷积神经网络(CNNs)因其能够将自动特征提取和判别分类器集成在一个模型中的特性,在深度学习领域受到广泛的关注。如文献[84]为了解决背景图像块与目标图像块数量不平衡问题,利用卷积神经网络对目标进行检测,只随机选取背景图像块的10%进行训练,极大地降低了训练成本。陈志等[85]在使用卷积神经网络训练过程中,为损失函数引入类别标签权重,从而强化少数类对模型参数的影响,极大缓解了不平衡数据集分类难的问题。Xie[86]则巧妙地将卷积和生成对抗网络结合,提出了深卷积GAN(DCGAN)模型来模拟少数类的原始分布,从整体的类分布中学习,从而生成新的数据来解决不平衡问题。

4.2 分类思想的改进策略

分类算法侧重通过对分类器改进和优化来适应不平衡数据集的内部分布结构,而分类思想上的改进则保持了各类分类器原有的属性特征,根据不平衡数据集的特征采用不同的学习思想进行分类改进,但它们最终的分类实现往往还是要借助于传统的分类器。

4.2.1 代价敏感学习

不平衡数据集分类过程中,数量稀少的少数类往往是需要重点关注的研究对象,传统的分类器并不对各个类别的错分代价加以区分。代价敏感学习(Cost Sensitive Learning)[87]针对分类器对少数类的错分代价远远大于对多数类的这一特点,给予少数类更高的错分代价,从而使构建的分类器对少数类有较高的识别率和关注度,并最小化错误分类所带来的影响,即使面对大型数据集也能取得相当好的效果。

MetaCost[88]便是一种典型的代价敏感元学习方法,通过估计训练样本的后验概率密度,并结合代价矩阵来计算每个训练样本的理想类别,然后根据理想类别修改原训练样本的类别得到新的训练集,最后使用基于错误率的分类器学习此新的训练集。Zhou 等[89]则将代价敏感引入神经网络中,深入研究了采样和阈值移动对训练代价敏感神经网络的影响。

如上分析可知,代价敏感根据不同的类别对分类影响的重要程度给予相应的权重,迫使分类器更加关注权值大的类别,常与其他主流的分类算法结合使用获得了更好的分类效果。虽然在很多实际运用中取得了较大的成功,但也存在模型过拟合的风险,而准确地确定误分类成本也是需要有足够多的先验知识来支撑的,同样需要付出很大的学习代价去确定代价参数,数据内在特征也为代价敏感学习用于类不平衡数据带来巨大的挑战。

4.2.2 集成学习

集成学习[90]是在原始训练集上训练多个子分类模型,预测时根据每个子分类器的分类结果进行加权投票,得到最终预测结果来综合决策分类的技术,即将多个分类器组合起来,形成一个强大的分类器,如图6 所示。集成算法增加了分类器的多样性,按集成组合方式的不同,大致可分为三类,分别是Bagging、Boosting 以及随机森林。

图6 基于集成学习的方法

(1)Bagging

Bagging[91]是子学习器间不存在强依赖关系,可同时生成的并行化套袋算法,主要思想是使用Bootstraping方法从原始数据集中随机有放回地抽取数据样本,形成一个新的训练集,进行多次同样的随机抽取得到多个独立的训练集,对生成的多个训练集来最小化预测方差,独立地为每个训练集生成一个分类器,然后将它们各自的模型采用投票或加权的方式得到分类结果。通常在使用Bagging 算法之前会对原始数据集进行重采样,得到均衡的数据集来集成训练分类器的每个子分类器,有效地避免了重采样技术的潜在缺点,增强了弱分类器的性能。例如文献[92]使用SMOTE过采样和欠采样技术与Bagging 结合得到SMOTEBagging 和UnderBagging to OverBagging(UOBag)等套袋算法。RB-Bagging[93](Roughly Balanced-Bagging)算法则利用一种新的采样技术改进了现有的基于Bagging的不平衡数据处理方法中每一个子分类器的类分布与期望的分布完全相同的现状,使每个子集的类分布变得略有不同,以此增加训练模型的多样性。

(2)Boosting

Boosting[94]是子学习器间存在强依赖关系,须以串行方式生成的序列化提升算法。Boosting 在对每个模型序列进行拟合时,会更加关注那些序列中容易错分或难以处理的数据,即每次迭代都是对上一轮结果的优化、提升。AdaBoost[95]是典型具有代表性的Boosting 提升算法,它可以自适应地修改权重以减少预测偏差,从而提高分类器性能并有效地防止过拟合。该算法主要使用整个数据集对每个分类器进行串行训练,在每一轮训练之后,将更多的精力放在分类难度大的样本数据上,经过多次迭代后,错误分类的数据样本权重都会增加,而正确分类的数据样本权重则会减少。AdaCost[96]是AdaBoost的变体,它为了减少累积的错误分类成本,在迭代过程中利用错分代价来更新数据集中样本的分布,降低了固定和可变的错误分类成本。

同样,提升算法与采样技术结合,衍生出SMOTEBoost[97]等一系列基于采样技术的Boosting 算法在处理不平衡数据集的分类问题中也获得显著的成效。尽管Boosting 算法具有较高的准确率,但它的串行迭代过程,时常会降低训练速度、增加训练时间和学习成本。

(3)随机森林

随机森林(Random Forest,RF)[98]是Bagging的一个扩展变体,利用Bootstrap随机重采样技术和节点随机分裂技术构建多棵决策树,通过投票得到最终分类结果。其各子树间相对独立,各自选择部分样本进行训练或对特征按重要程度筛选出对分类贡献较大的特征来分裂,避免了过拟合的风险,可扩展性强,受噪声和异常值影响较小,即使是面对高维特征也能获得较优的分类结果。尽管如此,随机森林遇到类不平衡数据时,分类效果仍欠佳。为了使随机森林算法能够适用于不平衡数据的分类,目前提出了两种主流的优化方案,一种是结合预处理的随机森林优化算法,另一种则是改进自身构建过程的随机森林优化算法。如文献[99]针对这两种解决方案提出了平衡随机林(BRF)和加权随机林(WRF),实验结果表明这两种方法均能提高少数类的预测精度。魏正韬等[100]从数据层进行预处理,提出基于不平衡数据对随机森林算法进行新的改进,对采样结果增加约束条件来改进重采样方法,削弱采样对类不平衡的影响,保证算法随机性的同时利用生成的不平衡系数对每个决策树进行加权处理,以此提高不平衡数据敏感决策树在最终投票时的权重。文献[101]则从算法构建自身出发,在构造随机森林算法过程中为处于劣势地位的少数类赋予较高的投票权重,提高了少数类样本识别率。

4.2.3 单类学习

数据集中数据分布不平衡时,分类器通常都会间接地忽略少数类对分类结果的影响,倾向于将所有的数据划分为多数类。为了避免分类器在对样本分类时受多数类支配,传统采用基于区别的分类方法逐渐淡出了人们的研究视线,探索出了一种基于识别的方法进行学习,单类学习由此应运而生。它只利用感兴趣的少数类数据样本进行学习,对于新的样本,通过比较该样本与目标类的相似程度而识别该样本是否归属于目标类,巧妙地将两类问题转化成单类问题。在解决不平衡分类问题时,从少数类到多数类,单类学习为每个类制定规则,不断为每个规则添加条件。William[102]基于此就提出了一种直接仅用于少数类的规则学习算法,该算法以规则为基础,在规则归纳系统中采用分而治之的方法建立迭代规则,覆盖了以往未覆盖的训练样本。对可能包含噪声特征的高维空间下的高度不平衡数据集,单类学习效果显著。Bernhard 等[103]则提出了单类支持向量机(One-Class Support Vector Machine,OCSVM),它把原始数据映射到特征空间中,同时把原点作为异常点,将原点和训练样本分隔开来的超平面作为决策边界来实现对新样本的分类决策。

单类学习仅仅考虑某一个类别的样本数据来解决不平衡问题,虽然能够有效地减少时间开销,但也容易对训练集中的少数类造成过拟合,而且它完全无视多数类样本的相关有用信息,泛化能力明显下降,多用于数据极度不平衡的情况。

4.2.4 主动学习

单类学习只学习感兴趣的少数类样本,进而识别出新样本是否属于少数类。而主动学习[104]能够主动去选择想要学习的数据,从不带标签的数据中主动选择一部分进行标注,然后让分类器进行训练和学习,不断迭代这两个过程直到达到预先设定的最优值。即利用尽可能少的标记数据来达到高精度,最大限度地降低获取标记数据的成本。文献[105]较为详细地阐述了主动学习对不平衡数据的正面影响。主动学习时常会与重采样技术、SVM算法等结合起来处理类不平衡问题。张永等[106]运用SMOTE 方法均衡部分少数类样本,得到初始分类器;然后利用主动学习方法调整分类器精度,有效提高了不平衡数据的分类准确率。基于支持向量机的主动学习选择[107-108]策略,从较小的样本库中选择信息数据进行主动学习,避免了学习整个数据集带来的开销。Fu等[109]提出了基于确定性的主动学习(CBAL)算法来确定每个未标记样本在探索的邻域内查询的概率,有效地识别出信息样本和处理不平衡数据分类问题。

表3 各类分类算法总结

表4 各类分类思想总结

4.3 各类分类模型总结

以上分别讨论了各类分类模型为了适应不平衡数据集数据分布结构所做出的一系列的改进和优化,表3和表4 分别直观地展现了各类分类算法和分类模型的核心、优缺点以及所对应的文献。

5 分类评价指标

准确率(Accuracy)是分类问题的一项常见的评价指标,反映的是被正确分类的样本数量占样本总数量比值的大小。对于传统的数据平衡分类问题,准确率能够很好地反映分类算法的性能。然而对于不平衡问题,少数类会向多数类倾斜,导致准确率这一评价指标似乎没有参考价值。在信用卡欺诈检测案例中,正常情况的多数类占总体样本的比值高达99%,属于欺诈事件的少数类占总体样本数的1%,如果此时分类器把仅存的1%的欺诈事件归为多数正常类,尽管分类器的准确率达到99%,却忽视了真正关注的少数类,不仅不能够检测出欺诈事件,不能为决策提供有意义的信息,甚至会带来巨大的损失。因而一般采用召回率(Recall)、精确率(Precision)等单一评价指标和F-measure、G-mean、ROC曲线等综合评价指标作为不平衡数据集的评价指标。为了更好地描述这几类评价指标,本文首先引入混淆矩阵的相关概念。混淆矩阵[110]将预测分类结果和实际分类结果以矩阵的形式直观地展示出来。在二分类的不平衡分类问题中,将重点关注的少数类记为正类,多数类记为负类。混淆矩阵如表5所示。

表5 混淆矩阵

表5 中真正类(True Positive,TP)表示样本集中被正确分为正类的个数;假正类(False Positive,TP)表示样本集中错分为正类的个数;假负类(False Negative,TN)表示样本集中错分为负类的个数;真负类(True Negative,TN)表示样本集中被正确分为负类的个数。

5.1 单一评价指标

召回率(Recall)指分类正确的正类个数占所有正类个数的比例,Recall=TP/(TP+FN),召回率较高的分类器会尽可能多的关注少数类,尽量避免将少数类误分为多数类。

精确率(Precision)指分类正确的正类个数占所有被预测为正类个数的比例,Precision=TP/(TP+FP),精确率较高的分类器会尽可能地避免将多数类误分为少数类。

5.2 综合评价指标

显而易见,召回率和精确率有时是一对相互矛盾的指标,即不能保证在拥有较高召回率的同时也拥有较高的精确率。由于不平衡数据集分类的复杂性,很难做到仅使用召回率或精确率这样单一指标就能较准确地评价分类器的性能,为了综合反映不平衡数据集的分类性能,常采用F-measure、G-mean、ROC等作为评价指标。

F-measure[111]又称F-Score,其计算公式如式(2)所示,α是常取值为1的比例系数。F-measure可以兼顾精度和召回率并找到它们的最佳组合。

G-mean也是一项综合评价指标,涉及灵敏度(Sensitive)和特异度(Specificity)两个单一评价指标,Sensitive=TP/(TP+FN) ,衡量了分类器对正类的识别能力;Specificity=TN/(TN+FP),衡量了分类器对负类的识别能力。其表达式如式(3):

尽管F-measure 和G-mean 对准确率和错误率进行了改进和完善,但在比较分类器和各种分布之间的性能时,仍不能起到很好的评估效果。ROC[112]曲线的出现恰如其分地解决了难以在不同样本分布范围上比较不同分类器性能的这一问题。

ROC 曲线全称为接受者操作特性曲线(receiver operating characteristic curve)以假正率(FP_rate)和真正率(TP_rate)为轴,权衡了正确分类的收益和错误分类的代价之间的关联,并以可视化的方式直观地展现出来。ROC 曲线下方的面积称为AUC(Area Under Curve)[113],AUC用来定量评价分类器预测的准确性,曲线越接近左上角,值越高,即曲线下方面积越大,预测准确率越高。如图7所示,图中L2曲线对应的性能比曲线L1 好,D 点是性能最好的点,B 点则是最差的点,位于CA 直线上的点所代表的是随机分类器分类的结果,位于CA线之上的点如G点的性能比随机分类器上的点E好,F 点的性能比随机分类器差。最理想的情况是TP_rate接近1,FP_rate接近0。图7中TP_rate=TP/(TP+FN),FP_rate=FP/(FP+TN)。

图7 ROC曲线

AUC 因其不受分类器种类以及先验概率的影响,在不平衡数据集分类性能评价指标中获得广泛的认可。考虑到不同类别的分类代价存在着一定的偏差,Weng等[114]引入了加权AUC指标,它在计算面积时引入成本偏差,更好地反映了类不平衡数据集类别间误分代价的差异。文献[115]同样意识到ROC 曲线下的区域(AUC)由于隐式地对不同的分类器使用不同的误分类代价分布而存在的严重缺陷,提出H 测度,用对称β分布代替AUC中的隐式成本权重分布来评估分类器在训练不平衡数据集时的性能,即使面对高度不平衡数据时该方法也能获得比AUC更好的评价性能。Drummond等[116]则提出了一种代价敏感评估方法:代价曲线(Cost Curves),弥补了ROC曲线尚存的不足,直观地反映了分类器期望的总代价,更支持了几种关键的性能评估类型,评估效果更佳。

不可否认ROC曲线为类不平衡数据分类评估提供了强大的可视化方法,但当面对不平衡比例非常高,即高度倾斜的数据集时,ROC 曲线往往呈现出过于乐观的图来展示分类算法的性能,评估效果明显下降。在这种情况下,精确召回(Precision-Recall,PR)[117]曲线则可以提供一个较为全面、信息量更大的评估曲线。

6 不平衡数据集分类研究的挑战和展望

6.1 不平衡数据集内在结构分析问题

一些研究认为,类不平衡是造成机器学习算法分类性能受限的根本原因。但在某些情况下,分类算法在类不平衡的各个应用领域也能够获得较高的分类性能,由此又引发了对类不平衡问题新的思考。文献[118-119]等通过实验证明,在分类性能上造成阻碍的主要原因不是类分布不均,而是类之间的重叠程度,这常常是多数类和少数类边界模糊造成的。因此,即使解决了类不平衡问题也并不总是有助于分类器性能的提高。一个类中由于样本数量不同的多个子簇(也称小分离项,small disjuncts)而形成的类内不平衡同样会导致分类器性能的下降[120],由于普遍存在的类间不平衡问题,类内不平衡分布问题往往被忽视。

除此之外,以上对类不平衡数据分类方法的讨论大都是在有监督学习框架下进行的,但实际应用中半监督或无监督学习广泛存在,即未充分标注或完全未标注的样本均可能存在于数据集中,如何充分利用仅有标注好的少数类数据或从未标注的数据中学习隐藏信息是深入研究类不平衡数据又一大需要突破的瓶颈。

6.2 不平衡大数据分类问题

信息化时代的到来,数据的产生日益增加,如此庞大的数据体系虽然可以提供足够多的信息进行决策,但同样为对这些大规模数据进行分类提出了新的挑战。不言而喻,当使用传统的不平衡数据二分类技术去处理大数据时,即使分类器能够获得较好的分类性能,但所花费的时间以及需要的计算成本必将是巨大的,况且很多二分类分类器在面对不平衡大数据时表现得并不友好,分类性能明显下降。由于巨大的不平衡数据可能来自不同的应用领域,产生的数据其内部结构所呈现出的多样性和复杂性,为类不平衡数据集的分类带来了更大的挑战[121]。正如Katal[122]等指出的在大数据类不平衡比例高达10 000∶1的背景下,现有的分类方法对这些大数据进行建模和分析将会变得异常困难,其困难具体表现在大数据体积大、数据格式纷繁复杂、需要在海量数据中对重要数据进行过滤才能提取有价值的数据信息等,现有的分类方法望而却步,此时不仅急切需要可扩展和高效的分类算法,还需要能够处理异构数据的新方法,来解决大数据集下的类不平衡问题。

大数据还时常伴随着高维不平衡数据集的出现,这使得分类器对少数类的识别变得更加复杂。特别在高维特征空间下,数据分布尤其稀疏,直接导致少数类难以识别,而高维特征中含有更多的冗余和不相关特征,也为不均衡数据分类带来了额外的难度。现存处理高维数据的主要方式是降低数据维度来找到一个适合分类的低维空间或是通过特征选择[123]等预处理方式减少特征数量来缓解高维不平衡数据带来的问题。但面对数据呈现高维和不平衡的双重特性,目前这两种处理方式还存在欠缺,有效地分类高维不平衡数据仍是亟待解决的问题。

6.3 基于不平衡数据流分类问题

以上研究的分类算法主要是从静态的数据集中学习,实际应用中数据不乏以流的方式呈现,如在对动态不断更新的网页中分析数据以期建立分类模型时,因其数据特征高度动态变化的特性,对新的样本类别分布存在不确定性使得分类任务无法如期进行。以上分析可知,数据流分布可能随着时间的推移而改变,会形成概念漂移(Concept Drift)[124]的现象,可能导致数据集中多数类和少数类的不平衡比例变化,流式数据也可能表现出不同程度的类不平衡,导致分类任务更加复杂多变,基于静态学习的分类算法俨然难以根据数据集的分布规律和内在属性建立分类模型,进而对新样本进行预测,迫切需要能够实时处理类不平衡数据流的自适应方法。Nguyen等[125]提出新的自适应重用数据学习方法来解决类不平衡数据流问题便获得了较优的性能。Ryan等[126]则综合考虑了数据流中分布变化和类不平衡问题,提出基于分布散度和元分类的新方法,改进了不平衡分类研究中常用的几种性能指标,即使对于不平衡度高且极为复杂的数据流,它的分类性能也能明显提高。

虽文献[127]回顾了学习类不平衡数据流中的一系列框架,但是目前对类不平衡数据流的研究还是非常稀少,值得今后去进一步研究。

6.4 不平衡数据集的多分类问题

本文主要研究的是类不平衡数据下的二分类问题,讨论了类不平衡分类的各种策略。虽然这些应对策略可以使用多个二元分类任务序列扩展到多分类问题,但这大都是建立在理想的条件下,多分类问题的分类任务实际情况会复杂得多,很难判断数据集中不同类别之间的联系,而且也可能会为了追求某个类别较高的分类性能,而牺牲其他类别的分类性能。当然也存在着多个少数类和多个多数类的情况,文献[128]便深入研究了多少数类和多多数类这两类多分类不平衡问题,提出三种集成方法对总体性能和少数类性能进行分析,发现欠采样技术对少数类的数量很敏感,并且在多数类数据中分类器的性能会受到损失,得出一个好的解决多分类问题的方案不是减少多数类的数量,而应该克服过采样带来的过拟合问题的结论。Zhou等[129]也指出处理具有不同类别错误分类代价的多类别任务会比处理两类别的任务更困难。

另外,分类评估指标一直以来都饱受争议,又由于类不平衡问题的特殊性,使得对分类器性能的评价变得更加困难,即使是针对二分类任务也鲜有为其量身定制的分类性能评估指标出现,而多分类问题的复杂性导致很多适用于二分类问题的评估指标对于多分类问题未必适用。

只有深入了解多分类中类不平衡的本质,才能设计一个较为适合的算法处理该问题。而目前针对不平衡多分类问题的研究仍处于初期,还拥有很大的发展空间,这也为未来的研究提出了许多开放的挑战。

猜你喜欢
特征选择分类器分类
分类算一算
分类讨论求坐标
数据分析中的分类讨论
教你一招:数的分类
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
Kmeans 应用与特征选择
联合互信息水下目标特征选择算法
基于特征选择聚类方法的稀疏TSK模糊系统
基于层次化分类器的遥感图像飞机目标检测