非平衡类数据挖掘简介

非平衡类数据挖掘简介

谭琳

(南京大学计算机科学与技术系, 南京210093)

A brief introduction of mining class-imbalance data

Tan Lin

(Department of Computer Science and Technology, Nanjing University, Nanjing 210093, China)

Email:tanlin@https://www.360docs.net/doc/e06165870.html,

Abstract: Recently,the problem of Class-imbalance has become a hotspot in machine learning and data mining. This is because the problem exists in a large number of domains and proposes new challenges to our traditional classifier methods and evaluation measures. In this paper, an overview of mining Class-imbalance data is given. Section 1 provides a simple introduction of this domain. Section 2 explains the meaning of class-imbalance data. Section 3 presents the problems caused by class-imbalance. Section 4 introduces several performance measures for evaluating classifier algorithms in the presence of imbalanced datasets. Section 5 concludes some resolutions for this problem. Some opinions of this problem are given at last.

Key words: class-imbalance; rarity; evaluation measures; ROC; over-sampling; under-sampling; cost-sensitive; machine learning

摘 要: 最近在机器学习和数据挖掘上,非平衡类问题成为了一个研究热点。因为该问题存在于许多现实领域,并对我们传统的分类算法和评估措施提出了挑战。本篇文章对非平衡类问题进行了一个概述。首先是对该领域的简单介绍并说明了什么是非平衡数据。接着分析了非平衡类数据引起的种种问题。然后介绍了非平衡类数据下分类算法性能的评价措施。最后简单的概括了几种解决问题的方法以及我对该问题的一些看法。

关键词: 非平衡类;稀有;测量措施;ROC;过取样;欠取样;代价敏感; 机器学习

中图法分类号: TP301文献标识码: A

1 引言

当机器学习从理论转入实践,非平衡类问题就成为了一个新的研究领域并广泛应用于商业、工业以及科学研究中。尽管有些研究者很早就发现了这个问题,但仅仅在十多年前,非平衡类数据问题才出现在数据挖掘的研究范围内。现在非平衡类数据挖掘领域的研究已变得越来越重要,这是因为许多研究者都认识到他们的数据集基本上都是非平衡的并且这种非平衡性已经严重影响到他们分类算法的性能。

本文对非平衡类数据挖掘做了一个简单的介绍。首先说明了什么是非平衡类数据。接着分析了非平衡类数据引起的种种问题以及在何种情况下非平衡类数据对分类影响较大。然后介绍了非平衡类数据情况下分类算法性能的评价措施。最后简单的概括了几种解决问题的方法以及我对该问题的看法。

2

2 非平衡类数据的概念

现实世界中,数据的分布往往是不平衡的。“不正常”数据的数目往往比“正常”数据的数目少很多,比如生产零件的流水线在检查零件的合格率时,往往合格的产品是占大多数,不合格的产品占极少数。又如通信设备中发生故障的机器台数,生态保护中濒临灭绝物种的数量等等。有时这种不平衡性甚至能达到10的6次方。并且在这种情况下,我们往往感兴趣的是那些“不正常”数据。为了处理现实中这类问题就产生了非平衡类数据挖掘这一研究领域。文献[5]中Gary.M.Weiss对不平衡类数据进行了更为精确、广泛的定义。他不仅考虑了类之间的不平衡性,还考虑了类里的不平衡性。如多数类中的某个实例罕见出现在了少数类聚集的区域,这个实例就称为稀有案例。总的来说,他将现实中的各种类似现象统称为稀有问题,并且将该问题分为了两类:一是稀有类(rare classes),也就是我们在此提到非平衡类问题。这类问题往往会和分类有关系。另一个是稀有案例(rare cases)。稀有案例通常对应的是在数据集中意义重大,但数量较少或中等的数据子集,其只依赖于数据分布,因此可以是标记数据也可以是未标记数据,既可以进行指导性数据挖掘任务,也可以进行无指导的任务。稀有案例一般是通过域来定义的,比如用血液来测试一个病人是否患有癌症,稀有案例就是那些与癌症相关的稀有征兆。在文章末尾,他还将稀有类和稀有案例进行了对比并指出二者是很类似的现象,很多方法对它俩都适用,其解决可以使用同一个框架。并且,他还认为目前的研究集中于稀有类问题上,但稀有案例问题或许会更多,应该找到处理二者的杠杆。

本文研究的对象主要是非平衡类(稀有类)数据集,所以对稀有案例并没有进行分析。简单的说,在一个数据集中,如果一类样本占绝大对数,而另一类样本只占很小一部分,我们就称这个数据集是非平衡的(即Class-imbalance data),其中占大多数的一类样本称为多数类(majority class),而另一类则称为少数类(minority class)。现在该问题已影响到多个应用领域如:欺诈侦测、风险管理、文本挖掘,医疗检测等。

3 非平衡类数据引起的问题

在非平衡类数据分布的情况下,我们关注的重点往往是在少数类上,而传统的分类方法如C4.5算法,CART算法、k-近邻算法等往往集中在多数类上,它们从全盘考虑,为了提高整个数据的分类准确性而倾向于将数据归到多数类当中,而忽略了少数类,因而不适用于非平衡类分布的情况。文献[5]中对非平衡类之所以不能使用传统的分类方法的原因进行了归纳,其认为原因主要有六个:1、不恰当的评估措施。以前的衡量标准不能充分的评估少数类样本,因而会导致错误的归纳。因此我们以前使用的精度度量已不能再使用,我们必须寻找更为精确的度量方法。2、缺少数据(绝对稀有)。稀有数据最主要的问题就是数据缺失,在绝对稀有的情况下,很难在这么少的数据中发现规律。3、数据的相对缺少(相对稀有)。相对稀有指的是数据本身不是很少,但相对其它类来说很少,因而很难被发现。4、数据碎片(Data Fragmentation)。大部分数据挖掘都会使用分治的方法,分治的过程会导致数据碎片。又因为我们在找规律时只会考虑分化的各个个体,所以这些碎片就会被忽略。这对于平衡类数据影响不大,但对非平衡类就会产生很大影响,因为这样就会产生缺少数据的问题,也即前面的第二点。5、不恰当的归纳偏差。大部分的归纳系统在不确定情况下都倾向于普通类,即多数类。显然这并不适合少数类的学习。6、噪音。由于非平衡训练集中少数类的数量很少,噪音的干扰就相当大,普通的训练系统很难区分少数类样本和噪声。一旦将少数类样本误判为噪声或者反之,结果都会相当糟糕。

但是,也并不是所有非平衡类数据都不适合这些传统算法,不同情况下的数据集对非平衡的敏感度也不同。文献[6]中,Nathalie Japkowicz对不平衡类数据进行了三个维度的关联考虑:1、概念复杂度(the degree of concept complexity)。2、训练集的规模(the size of the training sets)。3、两类之间的不平衡度(the level of imbalance between the two classes)。经过分析他发现训练集无论是大还是小,只要概念复杂度为1,那么其对任何程度的不平衡都是不敏感的。随着训练集概念复杂度的增加,其对不平衡的敏感度也会增强,当复杂度达到一定程度时,不平衡对其影响会非常大。并且训练集的规模并不是造成平衡类和非平衡类之间错误率差距的因素之一,从而非平衡问题是一个相对问题而不是训练集规模固有的问题。说在一个具有N个反训练(negative

3

training)实例但并没有标明正训练(positive training)实例数量的域上,某个系统的性能很差是毫无意义的。

非平衡类还会影响代价敏感(cost-sensitive)学习方法的性能.文献[2]中指出代价敏感学习是解决非平衡类数据挖掘很好的一个方法。反之,非平衡类也会对敏感学习产生影响。在该篇文章之前,大多数研究者只是集中于纯非平衡类学习或者代价敏感学习,而忽略了非平衡类往往和不等错误分类代价是同时发生的这一事实。尽管也有不少学者注意到了这个问题,比如2003年,Maloof曾指出不平衡类学习和不等代价学习可以使用同样的方法,但遗憾的是他们都没有深入调查二者的影响。这篇文章选取了三十八个数据集进行了实例研究,结果表明只有当少数类的错误分类代价比多数类大很多时,非平衡类才会对代价敏感学习性能产生较大影响。也即是我们在处理不是很严重的非平衡类时,我们可以直接使用代价敏感学习方法,只有当训练集不平衡度较高时,我们才需要在使用代价敏感学习之前平衡类分布。

4 衡量措施

既然以前的衡量措施已经不能再使用,研究者们寻找了另外的方法来测量,现在较多采用的有两种:ROC 曲线和AUC曲线,当然还有许多其它标准如:lift curve, recall, precision, weight accuracy,cost curves等。

这里主要介绍一下ROC(Receiver Operating Characteristic)曲线,它是现在用得最多的衡量措施。

要理解ROC,必须先了解机器算法的性能评价最典型的分析方法:混合矩阵。在此,我们假设使用二分类法,将训练集分为少数类和多数类,并将少数类称为正类(Positive class),多数类称为反类(Negative class)混合矩阵涉及到表1中的几个参数:

Table 1 A confusion matrix for a binary classification problem

表1二分类问题的混合矩阵

预测为正类的样本数预测为反类的样本数

实际的正类样本数TP FN

实际的反类样本数FP TN

这几个参数的意义如下:

FN(False Negative):它是指使用分类模型将原本属于正类的样本错误的预测为反类。

TN(True Negative):它是指使用分类模型将原本属于反类的样本正确的预测为反类。

FP(False Positive):它是指使用分类模型将原本属于反类的样本错误的预测为正类。

TP(True Positive):它是指使用分类模型将原本属于正类的样本正确的预测为正类。

除了上述参数外,ROC还要用到下面这两个参数:

sensitivity 也称为TPR(True Positive Rate),它指的是分类器正确预测的正类样本比例。

令总的正类样本为P, 则:

=+(1)

P TP FN

TP

TPR =

(2)

P

specificity指的是分类器正确预测的反类样本比例,

令总的反类样本为N,则:

N TN+FP

=(3)

TN

(4)

specificity =

N

1-specificity也即FPR(False Positive Rate)指的是分类器预测错误的反类样本在真正的反类样本中所占的比例。其计算公式为:

4

FP 1- specificity = FPR N

= (5) ROC 曲线就是一种表示TPR 和FPR 之间权衡关系的图形方法,其代表了一组最佳选择边界。它利用了两个坐标轴x 和y 。x 轴表示的是1-specificity (即FPR ),y 轴表示的是sensitivity (即TPR )。由这两个坐标轴可得到一个二维表,如图1[15]所示。曲线上的每一个点都对应于一个分类器归纳模型。ROC 上最理想的点是(0,1),也即是所有的正类都预测正确,没有反类被错误的预测为正类。ROC 曲线的产生是通过控制训练集中每个类的训练样本的平衡性所得到的。具体的描绘方法限于篇幅在此处不做详细介绍。

AUC(Area Under the ROC curve)[15]也是一种很有用的测量措施,它指的就是ROC 曲线下图形的面积。其计算公式如下:

1

001N TP FP AUC d TPdFP P N P N ==?∫∫ (6) 它适用于测量在平均上比较优越的模型。如果该分类模型性能完美,那么在ROC 曲线区域下的面积应为1。如果该分类模型是随机分类的,则面积应该为0.5.此种测量方法也有不足之处,对于一些特定的代价和类分布,即使在ROC 曲线下的面积很大,也不是最优方法。因此,我们同样也会描述ROC 的凸起点,因为该点就是该模型的最优点。

Fig.1 ROC Curves

图1 ROC 曲线图 5 解决方法

5.1 方法介绍

处理非平衡问题有很多方法,文献[5]中对其进行了详细的分析,他总结了如非贪心搜索技术、抽样、代价敏感学习、特征选择、只训练少数类、推进等解决技术。文献[15]也总结了四种方法,与上面的类似。下面简单介绍几种解决方法。

5.1.1 抽样(Sampling)

抽样是一种常用的非平衡类数据处理方法[1,6,16]。其主要思想是通过调整训练集实例的分布,降低训练集的非平衡性。抽样的方法又可分为基本抽样方法和高级抽样方法。其中基本抽样方法主要有两种:

5

Over-sampling和Under-sampling。

Over-sampling的基本思想是重复少数类的样本,直到其所占比例与多数类样本相同。其中又有两种方法:一是随机重取样,一是集中重取样。随机重取样就是对少数类样本只进行随机重复。集中重取样是对少数类样本进行选择性重复,只选择那些处于少数类与多数类边界之间的值进行重复。通常我们选择α=0.25来确定数据是否与边界接近。Over-Sampling的方法能在一定程度上降低非平衡度,但也有自己的不足。由于其引入了额外的训练数据,分类器的建立时间将会延长,而且更糟糕的是它通常对样本是原样复制,如果该训练集噪音较多,则会导致过度拟合。极端情况下会使得分类规则只涵盖一个被重复多次的样本规则并且还是错误的规则。

Under-sampling的基本思想是只取多数类的一部分实例作为训练集样本,如取与少数类数量相同的样本。同样,该方法也分为两种:随机Under-sampling和集中Under-sampling。前一种就是在多数类中随机抽取一部分样本。后一种是指按照某种非正式的规则来选取被删掉的多数类样本实例,例如将那些离判定边界较远的实例删除掉。总的来说Under-sampling和Over-sampling一样也可以降低训练集的非平衡度,但由于其只取了多数类的一个子集来训练分类,很可能会忽略掉多数类中的一些有用信息。这也是该类方法的主要不足之处。

为了解决上述抽样的不足,产生了一些高级抽样方法。

高级抽样方法也有许多,主要的是Under-sampling和Over-Sampling的合成方法,SMOTE,EasyEnsemble,和BalanceCascade等。

二者的合成采取的策略是对多数类采用undersampling,少数类采用oversampling以达到统一类分布的效果。

SMOTE(Synthetic Minority Over-sampling TEchnique)[3]方法扩充了Over-sampling方法,它不再是简单重复少数类样本,而是通过向少数类中插入成对的邻近样本来合成新的,非重复的少数类实例。首先对每个少数类实例都确定它的K-nearest邻居。然后随意选取一个实例,将该实例与它的K-nearest近邻组合,如此重复,直到少数类的数量足够为止。该方法被证明可以提高少数类的分类精确度。

EasyEnsemble和BanlanceCascade[8]都是对Under-sampling方法的扩展。两种方法都将抽样和Ensemble 方法结合了起来。Ensemble[7]方法又可称作多重分类系统、分类合并以及基于委员的学习(Committee-based learning)。它是使用多个学习者共同解决某一问题的机器学习方法,与普通的机器学习方法不同,它试图从训练集中组建多个假设并学习。该方法中包含一系列Base learners。这些Base learner通常是由训练集通过一些基本学习算法(如决策树,神经网络等)并行产生或相继产生的,其中相继指的是前一个Base learner 会影响到后一个Base learner 的产生。一个好的Ensemble方法要求其Base learner精度要高,多样性要好。将Ensemble方法应用到Under-sampling上的主要目的是克服前面提到的Under-sampling的不足之处,其基本思想是从多数类中抽取多个子集,并从这些子集中学习得到ensemble,然后合并这些ensembles的弱学习者得到最终的ensemble。上述两种算法都比Under-sampling更好的利用了多数类,并且训练所花时间与其相同。这两个算法的不同在于EasyEnsemble是在独立子集中进行抽样,而BalanceCascade从长远考虑,去除了那些会被正确预测为多数类的样本实例,也正因如此,它更适合于高度不平衡的训练集。

5.1.2 代价敏感学习法(cost-sensitive learning)

在许多数据挖掘任务中,往往少数类比较重要。如果解决此类问题不考虑这一点往往效果不佳。一种解决方法是代价敏感学习[2,13,16]。该类方法以代价为基础选择最优算法。最小代价也即最优。Cost-sensitive 在非平衡类问题上利用了将少数类正确归类比将多数类正确归类更为重要这一事实。比如对于一个两类问题。其处理方法是将少数类实例被错误的预测为多数类所付出的代价设置得比反过来的情况高。这种策略往往适合于医疗检测这种宁可误测不可漏测的情况。这种方法的一大问题是很难确定代价的具体大小,因为这些代价值通常依赖于不容易比较的多方面因素。

5.1.3 特征选择(Feature Selection)

特征选择是挖掘各种数据的一个重要步骤。当我们从一个高维空间学习规律时往往代价很高并且很不精

6

确。同时现实世界中的高维数据集还存在另一个问题:数据分布的严重倾斜。因此进行两类之间高度分离的特征选择显得尤为重要。现在非平衡类问题上的特征选择研究一般集中于文本分类和网络分类问题上。文献[10]提出现有的特征选择措施并不适合于非平衡类并建议了一个新的特征选择框架,即对少数类和多数类分别独立选择特征值然后再显示地合并。实验表明根据非平衡类数据选择较优的方式把多数类的特征和少数类的特征结合有巨大的实用价值。

5.1.4 元学习

元学习方法是采用集成学习的策略来产生最终的全局预测模型。因为它从获得的知识中再进行学习,所以称为元学习。其优点是在训练阶段可以采用多种算法,从而使得不同的数据样本可以选择不同的对其更有效的方法。从不同的算法中选择最佳分类器再将结果合并显然比使用单一方法的效果要好得多。

除了上述方法外,还有许多解决方案,如单类学习[12],两阶段规则归纳法[14],类别均衡法,BMPM 方法[9]等等。其中BMPM方法与其它方法有所不同,它不是采用调整平衡或代价值的方法,而是直接扩展了Mimimax Probability Machine(MPM)方法得到了一个新的算法。与朴素贝叶斯算法、K-Nearest算法和C4.5决策树算法相比,BMPM的性能更优。

5.2 方法比较

随着非平衡类问题研究的深入,许多解决非平衡类问题的方法被提出。人们开始考虑哪种方法性能最好。于是研究人员开始比较各种算法。但由于各种算法描述不一,并且不同领域上同一算法性能差别也很大,所以现在算法的比较主要集中在抽样方法上。如文献[6]中对三种算法进行了比较,这三种算法分别采用的方法是RE-sampling即Over-Sampling,down-sizing即Under-Sampling,learning by recognition。经过分析他发现前两种方法比最后一种更有效,并且他还提出在处理非平衡类问题上没有必要使用过于复杂的算法,因为这个问题是面向应用的,算法越简单,其投入实践的机会越大。并且在这种情况下,使用简单算法的效率也是比较高的。文献[1]中使用代价曲线(cost curves)性能评估方法测试了Over和Under-sampling的性能。分类方法采用的是C4.5决策树算法。通过比较,他们惊讶的发现Over-sampling至少使用默认设置的情况下不如Under-sampling有效。因为它对错误分类代价的变化并不敏感,甚至是基本无变化。除此之外,Ling and Li(1998)对Over和Under-sampling基于推近C4.5分类算法使用三种不同的市场数据集进行了比较。最后发现Under-Sampling的lift曲线比Over-sampling更好,也即其方法更有效。而文献[11]中指出当错误分类代价不等并且未知时也可以用同样的方法来处理,也即是在这两种场景下,我们也可以用ROC分析技术来指导分类方法的设计。他们还比较了用Under-sampling和Over-sampling得到的结果,发现抽样方法在移动判决点和调整代价矩阵上也能达到代价学习方法同样的效果。

6 未来的发展

尽管非平衡类的研究已进展了十多年,但仍旧有许多问题还未解决。在衡量措施上,虽然ROC被广泛接受,但ROC仍有许多不足,文献[4]中指出它最主要的两个不足是无法处理类里的非平衡问题(即非平衡案例问题)以及在评估时未考虑到测试数据集的分布问题通常我们假设使用了目标分布,但实际上我们往往在测试时根本不知道目标的分布情况。

在解决该问题的方法上,也存在着许多未解的难题:如是否一些分类方法对非平衡类不敏感;单类学习(one-side class learning)问题;非平衡类分布与数据挖掘中其它领域的关系,如和少量抽样的关系,和数据重复的关系,和稀有案例的关系,和重叠类的关系等等;非平衡类的各种机制之间的比较问题,尽管已经有一些文章比较了某些方法,但最终仍无定论。在某特定场景下,某些方法或许很有效,但场景一变,性能也就变了;与抽样有关的问题如获取数据的代价以及给定了一个数据采集的预算,应该选择何种类分布等等。

7 结术语

通过阅读关于非平衡类的相关文章,我逐渐了解了一些关于该问题的相关知识。非平衡类数据集是我们

7

在处理现实挖掘任务时会经常碰到的问题,为了能更好的学习数据规律,我们必须处理好非平衡类之间的关系。虽然现在有很多处理该问题的方法,但是没有一个统一的最优的解决方案。或许最优在该类问题上是无法达到的,因为不同的领域,其注重点不同,所以算法的性能差距也很大。我觉得我们虽然不能在所有域中寻求最优解,但是我们可以分领域进行讨论,在每个领域中找出最优解。另外类间平衡和类里平衡也是非平衡问题研究上的一大难点。我认为类里平衡比类间平衡的研究更为复杂。总之,非平衡类还有很多值得研究的地方。相信以后的学者会将该问题更好的解决。

致谢在此,我们向对本文的工作给予支持和建议的同学,特别是对教授我们数据挖掘课程的周志华老师及我们的助教李宇峰同学表示感谢。

References:

[1] C.Drummond and R.C.Holte. C4.5, class imbalance, and cost sensitivity: why under-sampling beats over-sampling. In Working

Notes of the ICML’03 Workshop on Learning from Imbalanced Data sets, Washington, DC, 2003

[2] Z.-H. Zhou and X.-Y. Liu. The Influence of Class Imbalance on Cost-Sensitive Learning: An Empirical Study. In Proceedings of

the sixth IEEE International Conference on Data Mining(ICDM’06), Hong Kong, China, 2006

[3] N. V. Chawla, K. W. Bowyer, L. O. Hall, and W. P. Kegelmeyer. SMOTE: Synthetic minority over-sampling technique. Journal of

Artificial Intelligence Research, 16:321-357,2002

[4] N. V. Chawla, N. Japkowicz, and A. Kotcz. Editorial to the special issue on learning from imbalanced data sets. ACM SIGKDD

Explorations, 6(1):1-6,2004.

[5] G. Weiss. Mining with rarity: A unifying framework. SIGKDD Explorations,6(1):7-19,2004

[6] Nathalie Japkowicz. The class imbalance problem: significance and strategy. In proceedings Of the 2002 Intl.. Conf. on Artificial

Intelligence: Special Track on Inductive Learning, volume 1,pages 111-117,LasVegas, NV, June 2000.

[7] Z.-H. Zhou. Ensemble Learning. In: S. Z. Li ed. Encyclopedia of Biometrics, Berlin: Springer, 2009

[8] Xu-Ying Liu, Jianxin Wu, Zhi-Hua Zhou. Exploratory Under-Sampling for Class-Imbalance Learning. In Proceedings of the sixth

IEEE International Conference on Data Mining(ICDM’06), Hong Kong, China, 2006

[9] Kaizhu Huang, Haiqin Yang, Irwin King, Michael R. Lyu. Learning Classifiers from Imbalanced Data Based on Biased Minimax

Probability Machine, Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proc of the 2004 IEEE Computer Society Conf.

on, 2004,2:Ⅱ-558~Ⅱ-563

[10] Z. Zheng, X. Wu, and R. Srihari. Feature selection for text categorization on imbalanced data. SIGKDD Explorations,

6(1):80-89,2004

[11] M. Maloof. Learning when data sets are imbalanced and when costs are unequal and unknown. In Proceedings of the ICML’03

Workshop on Learning from Imbalanced Data Sets, 2003

[12] M . Kubat and S. Matwin. Addressing the curse of Imbalanced Training Sets: One Sided Selection. In Proceedings of the 14th Intl.

Conf. on Machine Learning, pages 179-186, Nashville, TN, July 1997

[13] Z. –H. Zhou and X. –Y. Liu. Training cost-sensitive neural networks with methods addressing the class imbalance problem. IEEE

Transactions on Knowledge and Data Engineering. 18(1);63-77,2006

[14] M. V. Joshi, R. C. Agarwal, and V. Kumar. Mining needles in a haystack: classifying rare classes via two-phase rule induction In

SIGMOD ’01 Conference on Management of Data, pages: 91-102,2001

[15] J. Burez, D. Van den Poel. Handling class imbalance in customer churn prediction, Expert Systems with Applications(2008),

doi:10.1016/j.eswa.2008.05.027

[16] Pang-Ning Tan, Michael Steinbach, Vipinn Kumar. Introduction to Data Mining. Beijing: Posts & Telecom Press. 2006.1. 217-226.

相关文档
最新文档