ROC曲线与“代价曲线”(cost-curve)的探究(1)
引言
很多分类器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阈值进行比较,若大于阈值则分为正类,否则为负类。
在不同的应用任务中,根据实际需要,可以选择不同的阈值。如果我们更加重视“查准率(Precision Rate)”,那么可以将阈值选得较大;如果我们更重视“召回率(Recall Rate)”,那么可以将阈值选得较小。
当样本分布给定的时候,对于特定的阈值,我们都可以用该分类器进行测试,计算出真正例率(True Positive Rate,简称TPR, )和假正例率(False Positive Rate,简称FPR, )。如果连续地改变阈值,那么TPR和FPR就会构成一条二维曲线,这条曲线就称为ROC曲线(Receiver Operating Characteristic Curve)。
ROC曲线
ROC曲线的基本性质
性质1:任何ROC曲线必定经过原点和(1,1)
证明:
当阈值大于所有样本的预测值时,所有的样本都会被归为负类,这时正例数为0,因此FPR和TPR都为0,对应于ROC曲线的原点,此时的分类方法是最“保守的”。
当阈值小于所有样本的预测值时,所有的样本都会被归为正类,此时负例数为0,因此 ,进而FPR和TPR都为1,对应于ROC曲线的(1,1)点。
性质2:位于上方的ROC曲线分类效果好于下方的ROC曲线
证明:
在给定样本分布的情况下,如果某个分类器A的ROC曲线高于另一个分类器B的ROC曲线,说明在相同假正例率的条件下,A的真正例率大于B,因此分类器A要优于分类器B。
性质3:在样本有限的情况下,ROC曲线为由水平线和竖直线构成的折线
证明:
我们可以将所有样本的预测值由小到大排序。然后把分类器的阈值设为最大,即所有样本都被归为反例,此时对应于ROC曲线的原点。然后,从高到低依次将阈值设为每个样本的预测值,即依次把每个样本划分为正例。设前一个标记点的坐标为(x,y),若当前为真正例,则对应标记点的坐标为,若当前为假正例,则对应标记点的坐标为(其中分别表示样本中正例和反例的总数)。这就证明了该性质。
注:该性质的证明过程同时也是绘制ROC曲线的方法之一。
性质4: 曲线对应于随机猜测分类器在无穷多样本下的极限
证明:
对于随机猜测的情况,被归为正例的样本中有一半是猜对的有一半是猜错的,被归为负例的样本也一样。假设总共有个样本归为正类,个样本归为负类,则,,因此 ,这对应于 曲线。
性质5:任何一个有效的分类器都位于 上方
证明:
由于任何有效的分类器都优于随机分类器,由性质2和性质3可直接得到性质4。
性质6:ROC曲线对样本的分布不敏感[1]
由于ROC曲线是由TPR和FPR直接决定的,而TPR和FPR都对分布不敏感,因此ROC曲线也对样本分布不敏感。这条性质说明,ROC曲线是对分类器本身性质的表征,与样本的分布无关。
AUC
AUC的定义
AUC(area under curve)表示ROC曲线与坐标轴围成的图形的面积。
AUC的性质
从样本中随机抽取一个正样本A和负样本B,并用分类器计算出A的预测值和B的预测值。并且定义分类方法为,如果,则将A归为正类;如果,则将A归为负类。那么AUC表示该分类器将A和B归类正确的概率。一般来说,“AUC越大,分类器的性能越好”(当然这不是绝对的,可以参考[1])。
AUC性质的证明
[2]的第35页给了该性质的简要证明(如上图所示),书中的“损失“就对应于本文中AUC归类错误的概率。
总结
总体来讲,ROC是对分类器进行评估和可视化的有效手段,具有对样本分布不敏感等优点。但是ROC无法反映分类错误代价的问题,而且从ROC中也无法直接看出分类器的错误率等重要信息。下一篇文章将介绍另一种评估分类器的曲线”代价曲线“,它在一定程度上解决了这两个问题,并与ROC曲线形成了良好的互补。
参考文献
- Tom Fawcett, An introduction to ROC analysis, Pattern Recognition Letters, 27(2006), 861–874.
- 周志华,机器学习.