ROC曲线及其分析方法综述
2021-12-29王彦光朱鸿斌徐维超
王彦光,朱鸿斌,徐维超
(广东工业大学 自动化学院,广东 广州510006)
接收机工作特性曲线(Receiver Operating Characteristic,ROC)分析起源于二战时期的信号检测方法,最早被应用于处理雷达图像,用来描述检测信号的命中率及误报率之间的权衡关系[1-2]。此后,该方法广泛应用于医疗诊断[3-5]。在1989年,Spackman 将其引入机器学习领域,用于评价分类器性能[6]。从此,ROC曲线在机器学习[7-11]、计算机视觉[12-13]等领域被用于算法的评价和优化方面。
ROC曲线能对分类器的准确性进行全局性的评估,它包含了所有可能的决策阈值,不需特定的决策阈值。此外,ROC曲线不依赖于测试结果的规模,即对分类结果进行单调变换可以保持不变性[14]。由此,在大多数实际问题中,样本分布不均匀和错误分类的代价不一致的问题可能会影响评估结果,而ROC曲线能够很好解决该难题。在性能诊断方面,ROC曲线是完全意义上的自由分布假设[15],无需用到假设类分布的参数形式,从而保证了ROC曲线应用的广泛性。
根据ROC曲线在模型与算法的评价、展示、比较、选择和优化中所体现的优异性[16],本文旨在从二分类问题引入ROC曲线的基本概念,介绍了非参数、参数、半参数模型和ROC曲线的构建方法,同时根据ROC曲线的基本性质,介绍了ROC曲线的一些常见评价方法,为读者的实践应用提供参考。
1 二分类问题
1.1 定义
二分类方法在多种实际应用决策中起着核心作用。例如,在模式识别领域,重要的数据应该在一个巨大的数据集中进行分类和标记[17];在基于历史数据的预测中,将每个数据区分为是否遵循历史趋势的二分类方法;在人体跟踪领域,要分析人体行为,需要将阳性样本从阴性样本中分离出来,完成跟踪步骤[18-19]。总而言之,二分类贯穿于社会生产和生活的各个领域,也是数据处理领域的热门研究内容。
二分类是一种基于2组元素的分类规则的任务[8,20],在模型构建(训练)过程中,二分类算法能发现属性值与目标值之间的关系。不同的分类算法将使用不同的技术寻找这种关系,然后将这些关系总结在一个模型中,并应用于不同的数据集。二分类往往通过将一组测试数据中的预测值与已知目标值进行比较,从而对分类模型(分类器)进行检验。一个二分类模型的定义及构建过程如下。
然而,二分类问题必须面对的一个难题是数据平衡性[21]。数据平衡性是指不同类别数据集数量是否平衡,比如一个有1 000个数据的二分类数据集,一类数据有100个,二类数据有900个,它们之间的数量之比达到1:9,这就是类间数据不平衡。如果它们之间的数据大概相等,比如510:490,这样的数据集就是类间平衡。由于大多数学习算法的设计目的是关注最大化总体分类精度,这将导致在不平衡的场景中,只需将所有实例预测为数据较多的类别即可获得较高的精度。因此,不平衡的数据集将会降低分类器的性能。对于数据不平衡的情况,学者们提出了不同的评判指标[22]。
1.2 混淆矩阵与分类器性能评判
混淆矩阵是对分类问题的预测结果的总结,即正确和错误预测的数量用计数值进行汇总,并按每个类进行分类,这是混淆矩阵的关键。同时,混淆矩阵显示了分类模型在进行预测时混淆的方式,它不仅让大家了解分类器所犯的错误,而且更重要的是能够让大家了解所犯错误的类型。
在二分类问题中,给定一个二分类器和一个实例,有4种可能的结果,具体定义如下。
(1) 真阳性(TP):真实结果为正例,预测为正例。(2) 假阴性(FN):真实结果为正性,但预测为负例。
(3)真阴性(TN):真实结果为负例,预测为负例。
(4)假阳性(FP):观察结果为负例,但预测为正例。
其分类结果用一个2×2矩阵表示,称为混淆矩阵。构造如图1所示[8]。其中,P表示正例,N表示负例。
图1 混淆矩阵示意图Fig.1 Diagram of confusion matrix
1.3 常用分类器性能评估标准
给定一个数据集和一个分类器,经过训练和测试可以得到分类结果,但是得到结果后会面临如何评价这个模型性能的问题。从混淆矩阵的4种结果出发,可以得到很多有意义的分类算法评价指标[23]。
准确率(Accuracy,ACC)是一个最直观和简单的评价指标,它是正确的预测结果与总的预测结果之比,其计算表达式用混淆矩阵的量表示为
其中TP表示正例样本被正确分为正例的数目,TN表示负例类样本被正确分为负例的数目,而FP 和FN 分别表示正例样本被错误分为负例的样本数目和负例样本被错误分为正例样本的数目。
准确率能直接表征分类器的分类水平,但是当分类器面对的是不平衡数据集时,该指标并不能反映出分类器的真实分类能力。例如,有1 000人进行乳腺癌诊断,其中有10人确诊乳腺癌。如果以阴性为统计标准,那么,无论如何该准确率也可以高达 99.9%,然而,这样评价标准是毫无意义的。
真正率(True Positive Rate,TPR)也称为召回率或查全率、敏感性。高的真正率意味着很少的假负例,表示该类被正确识别,其数学表达式为
假正率(False Positive Rate,FPR),在信号检测领域也叫虚警率,指被错误分类为正例(假阳性)的负例事件数量与实际正例事件总数(不论分类如何)的比值,其数学表达式为
2 ROC曲线的构建
2.1 非参数ROC曲线模型
非参数ROC方法也称为经验ROC方法。因为非参数ROC方法可以通过使用观测数据进行经验拟合,而不需要对测试结果做任何分布假设,因此它是最常见的ROC分析模型。其构建过程如下。
2.2 ROC参数化方法
该方法首先假设正类和负类服从单调连续且不
2.3 ROC曲线的半参数模型
2.4 用非参数法绘制ROC曲线
在二分类问题中,主要目的是构造一个二分类器B,将每个样本x分配给2个互斥类别,即正例和负例。在不失一般性的情况下,分类器B为每个样本x提供分类结果B(x),它表示样本属于某一类别的置信水平。评价二分类器性能,可以通过改变某个类别的判别阈值c来获得一组混淆矩阵,进而计算相应的指标并对分类器性能进行评价[38]。
以表1实验数据为例,进行ROC曲线的绘制,对应的TPR,FPR及对应的坐标值的计算结果如表2与图2所示。
值得注意的是,当阈值在滑动改变过程中,实例中被划分为正类的数量增加的同时,正类中的误判即真正的负实例也会增加,这会导致TPR和FPR会同时增大。ROC曲线空间中越靠近左上方则分类器越好,虽然对角线以下的信息是错误的,但具备有用信息。
如图3所示,以FPR为x轴,TPR为y轴,所有的坐标点在平面坐标系内生成一个矩形的空间,该空间称为ROC空间。在ROC空间中,一个坐标点代表一个分类器,分类器越靠近x轴,越保守。保守分类器只有在充分依据的情况下才进行正例分类,因此它们很少犯假正性错误,但它们的真正率往往也很低。右上角的分类器可以被认为是自由分类器,它们只在依据不足的情况下进行正例分类,因此它们几乎正确地分类了所有正例,但它们往往有很高的假正率。如图3所示,A5分类器比其他4个分类器保守,A4分类器比其他4个分类器自由。
表1 实验数据Table 1 Experimental data
表2 不同阈值下TPR与FPR的分布Table 2 Distribution of TPR and FPR under different thresholds
图2 ROC曲线绘制示意Fig.2 The drawing process of ROC curve
图3 ROC空间中的分类器Fig.3 Classifiers in ROCspace
ROC曲线通过改变分类阈值来绘制利益(真阳性)和成本(假阳性)之间的相对权衡关系,分类阈值通常是一个类别的成员概率到决策面距离或决策函数产生的简单得分。每个阈值代表一个分类器,对应ROC曲线上的一个点。
3 ROC曲线分析
ROC曲线是分类器比较的重要工具,因此深入研究如何正确使用ROC曲线对分类器进行比较成为当前一个重要的研究问题。在对ROC分析比较之前,首先要认识它的基本性质。
3.1 ROC曲线的基本性质
3.2 ROC曲线的评价
ROC曲线的评价就是对ROC进行分析然后比较的过程。这是其应用于医学检验和机器学习等诸多领域的最终目的,即对检验结果或分类器性能的评价。其中使用较多的有ROC曲线下面积(Area Under the ROC Curve,AUC)、约登指数、距离度量以及最佳工作点与点(0,1)距离等ROC评价指标,分别对这几个指标进行介绍。
(1) AUC:ROC的曲线下面积AUC能将ROC曲线简化为一个单一的量化指标。作为一种单一的ROC
图4 ROC曲线最佳工作点与(0,1)的距离Fig.4 Distance from the best working point of the ROC curve to point (0,1)
以最佳工作点到点(0,1)的距离为评判标准,距离最小者为佳。文献[42]指出约登指数和最佳工作点有一定联系,当且仅当最佳工作点满足TPR(c0)+FPR(c0)=1时,最佳工作点也是约登指数的最大值点。但一般情况下,ROC最佳工作点的特异性高于约登指数。需要特别指出的是,约登指数法的本质是正例和负例概率分布差异的最大化,因此它是最佳阈值选择的结果。但是,最佳工作点没有与目标函数相关的明确事件,因此没有充分的理由将正例和负例的概率分布最大化,这也正是很少有文献讨论此类方法的原因[43]。此外,关于ROC置信区间的估计问题。Macskassy和Provost[44-45]提供了一些医学领域和机器学习领域的流行方法,他们对ROC曲线的置信区间进行了实证评价,进行统计学上的鲁棒性比较。Flach[46]通过ROC等距图(ROC等值线图)深入研究了精度、精密度、F-measure等常用性能指标。
4 结束语
当数据存在不平衡的情况时,比较传统的准确率很难判断分类结果的优劣,接收者操作曲线令横坐标为伪阳率,纵坐标为真阳率,可以解决数据不平衡的问题。并且可以比较接收者操作曲线(ROC)的下面积(AUC)来判断分类器的性能,AUC值越大,表明分类的效果越好。但是,当ROC曲线出现交叉时,还需要通过借约登指数进一步判断。