ROC曲线与“代价曲线”(cost-curve)的探究(1)

引言

  很多分类器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阈值进行比较,若大于阈值则分为正类,否则为负类。
  在不同的应用任务中,根据实际需要,可以选择不同的阈值。如果我们更加重视“查准率(Precision Rate)”,那么可以将阈值选得较大;如果我们更重视“召回率(Recall Rate)”,那么可以将阈值选得较小。
  当样本分布给定的时候,对于特定的阈值,我们都可以用该分类器进行测试,计算出真正例率(True Positive Rate,简称TPR,TPR=TPTP+FNTPR=\frac{TP}{TP+FN} )和假正例率(False Positive Rate,简称FPR,FPR=FPTN+FPFPR=\frac{FP}{TN+FP} )。如果连续地改变阈值,那么TPR和FPR就会构成一条二维曲线,这条曲线就称为ROC曲线(Receiver Operating Characteristic Curve)。

ROC曲线

ROC曲线与“代价曲线”(cost-curve)的探究(1)

ROC曲线的基本性质

性质1:任何ROC曲线必定经过原点和(1,1)

证明:
  当阈值大于所有样本的预测值时,所有的样本都会被归为负类,这时正例数为0,因此FPR和TPR都为0,对应于ROC曲线的原点,此时的分类方法是最“保守的”。
  当阈值小于所有样本的预测值时,所有的样本都会被归为正类,此时负例数为0,因此 TN=FN=0TN=FN=0,进而FPR和TPR都为1,对应于ROC曲线的(1,1)点。

性质2:位于上方的ROC曲线分类效果好于下方的ROC曲线

证明:
  在给定样本分布的情况下,如果某个分类器A的ROC曲线高于另一个分类器B的ROC曲线,说明在相同假正例率的条件下,A的真正例率大于B,因此分类器A要优于分类器B。

性质3:在样本有限的情况下,ROC曲线为由水平线和竖直线构成的折线

证明:
  我们可以将所有样本的预测值由小到大排序。然后把分类器的阈值设为最大,即所有样本都被归为反例,此时对应于ROC曲线的原点。然后,从高到低依次将阈值设为每个样本的预测值,即依次把每个样本划分为正例。设前一个标记点的坐标为(x,y),若当前为真正例,则对应标记点的坐标为(x,y+1m+)(x, y+\frac{1}{m^+}),若当前为假正例,则对应标记点的坐标为(x+1m,y)(x+\frac{1}{m^-},y)(其中m+,mm^+,m^-分别表示样本中正例和反例的总数)。这就证明了该性质。

注:该性质的证明过程同时也是绘制ROC曲线的方法之一。

性质4:y=xy=x 曲线对应于随机猜测分类器在无穷多样本下的极限

证明:
  对于随机猜测的情况,被归为正例的样本中有一半是猜对的有一半是猜错的,被归为负例的样本也一样。假设总共有MM个样本归为正类,NN个样本归为负类,则TN=FN=N/2TN=FN=N/2TP=FP=M/2TP=FP=M/2,因此 FNR=TNR=MM+NFNR=TNR=\frac{M}{M+N},这对应于 y=xy=x 曲线。

性质5:任何一个有效的分类器都位于 y=xy=x 上方

证明:
   由于任何有效的分类器都优于随机分类器,由性质2和性质3可直接得到性质4。

性质6:ROC曲线对样本的分布不敏感[1]

   由于ROC曲线是由TPR和FPR直接决定的,而TPR和FPR都对分布不敏感,因此ROC曲线也对样本分布不敏感。这条性质说明,ROC曲线是对分类器本身性质的表征,与样本的分布无关

AUC

AUC的定义

   AUC(area under curve)表示ROC曲线与坐标轴围成的图形的面积。
ROC曲线与“代价曲线”(cost-curve)的探究(1)

AUC的性质

   从样本中随机抽取一个正样本A和负样本B,并用分类器计算出A的预测值fAf_A和B的预测值fBf_B。并且定义分类方法为,如果fA>fBf_A>f_B,则将A归为正类;如果fA<fBf_A<f_B,则将A归为负类。那么AUC表示该分类器将A和B归类正确的概率。一般来说,“AUC越大,分类器的性能越好”(当然这不是绝对的,可以参考[1])。

AUC性质的证明

   [2]的第35页给了该性质的简要证明(如上图所示),书中的“损失“就对应于本文中AUC归类错误的概率。
ROC曲线与“代价曲线”(cost-curve)的探究(1)

总结

   总体来讲,ROC是对分类器进行评估和可视化的有效手段,具有对样本分布不敏感等优点。但是ROC无法反映分类错误代价的问题,而且从ROC中也无法直接看出分类器的错误率等重要信息。下一篇文章将介绍另一种评估分类器的曲线”代价曲线“,它在一定程度上解决了这两个问题,并与ROC曲线形成了良好的互补。

参考文献

  1. Tom Fawcett, An introduction to ROC analysis, Pattern Recognition Letters, 27(2006), 861–874.
  2. 周志华,机器学习.