通俗解释机器学习分类问题中的ROC曲线

先来讲一下为什么机器学习分类问题中要用到ROC曲线,P-R曲线的查准率和查全率他不香吗。是的,样本分布不均匀的时候P-R曲线确实很不香。来到第一个重点,ROC曲线是来解决机器学习分类问题中,模型在不均匀的测试数据集中的性能度量问题。 先讲一个结论,如果P-R曲线表现良好的话,优先考虑P-R曲线作为模型的性能度量

首先来介绍四个概念

1.真正类 (True Positive : TP) 正类预测为正类
2.假负类 (False Negative : FN) 正类预测为负类
3.假正类 (False Positive : FP) 负类预测为正类
4.真负类 (True Negative : TP) 负类预测为负类

TPR(真正率) 和 FPR(假正率) 的定义

强烈推荐大家记概念的时候主记英文缩写,然后理解意思。不要记博客中提到的中文名称再去理解。因为关于一个概念的中文解释名称实在是太多了,比如有的地方会称TPR为真阳性率,FPR为假阳性率。在没有理解时间的时候碰到这些名词可能会造成理解延时。

1.TPR

TP(真正类数量) 占所有实际正类(TP+FN)的比重,公式如下:

TPR=TPTP+FNTPR=\frac{TP}{TP+FN}
2.FPR

FP(假正类)占所有实际负类(TN+FP)的比重,公式如下:

FPR=FPTN+FPFPR=\frac{FP}{TN+FP}
回顾一下P-R曲线在样本分布不均匀时候的问题

我们回顾一下P-R曲线的定义,查准率P定义为 P=TPTP+FPP=\frac{TP}{TP+FP} ,假设现在模型和阈值固定。测试一批正负类均匀的数据集后,我们突然增大负类的数量,模型固定的情况下公式中的假正类数量也会增加,但是真正类(TP)数量不变,绘制P-R曲线时阈值增大的过程中,P值减小速度加快。同理得查全率R=TPTP+FNR=\frac{TP}{TP+FN} 在正类增加的时候,FN假负类会增加。绘制P-R曲线时,随着阈值的增加,R值(横坐标)前进缓慢。这两种情况下得到的都是不理想的P-R曲线。
关于更具体的问题可以看下博主关于P-R曲线介绍的文章

ROC曲线为什么能忽略样本分布不均带来模型度量精度失衡的问题

由TPR 及 FPR的公式可知,TPR 及 FPR记录的是样本中正类中被分对的比例、负类中负类被分错的比例。正负类样本单向增加减少时,TPR和FPR并不会发生改变。所以不会受到样本分布不均匀的影响。

怎样评价一个模型ROC曲线的好坏呢

由公式可知,当我们绘制ROC曲线是,阈值增大的过程中。TP和FP都是一起增大的。因此TPR 及 FPR基本可以看作是正相关的。大致图形如下:
通俗解释机器学习分类问题中的ROC曲线
我们期望的是TPR能高一点,所以曲线沿着横坐标往右走的时候,我们希望纵坐标一直在比较高的位置。我们把曲线下方的位置称为AUC面积,如果纵坐标一直比高,相应的AUC面积也会很大。因此,我们把AUC面积的大小作为衡量ROC曲线好坏的指标。AUC面积其实也就是ROC曲线在定义域中的积分。