ROC-AUC 浅谈理解ROC曲线和AUC值

这是一个评价二分类器的指标,特点是不受不平衡数据集的影响。但事实理解起来有点难。下面先介绍ROC-AOC是什么,然后再谈谈我的一种理解。ps,理解这个指标,首先得对经典的F1, Recall,Precision的比较熟悉,否则看了会一头雾水,如果你不熟这几个指标的计算,建议先阅读。

1. ROC曲线

receiver operating characteristic curve(名称似乎无法直观理解它本身,所以忽略),它是一条关于TPR和FPR的曲线,其中TPR,true positive rate,标签为正的样本,被预测为正的比率。FPR,false positive rate,标签为负,预测为正的比率。

正确预测为正的 / 全体标签为正的数量。

ROC-AUC 浅谈理解ROC曲线和AUC值_第1张图片

本来是负,错误预测为正 / 全体标签为负的数量。

在一个二分类器中,这个两个值和我们预测的阈值有关(大于阈值为1,小于阈值为0),考虑我们的阈值设置得很小,比如0.2,那么就会有越来越多的样本被预测为正确,那么TPR自然上升,但是与此同时,越来越多本来负的样本被错误预测为正,所以FPR也同时上升。也就是说,通过改变阈值,TPR的提高是以FPR提高为代价,预测正确样本数量提高是以预测错误样本的提高为代价的,ROC曲线其实就是FPRTPR的一种权衡曲线。

如图,使用不同阈值会得到不同的FPR和TPR,画图如下。FPR升高,TPR同时升高,FPR下降,TPR同时下降。但阈值为0时,全部正样本都会被预测为正,TPR为1,全部负样本都会被预测为负,FPR为1。反之,当阈值为1时,TPR和FPR都为0。

ROC-AUC 浅谈理解ROC曲线和AUC值_第2张图片

2. AOC

Area Under Curve,这个从名字上就可以理解,它求ROC曲线的面积,通过对比面积,来对比分类器的好坏。

如图,两条曲线代表同一任务中两个分类器的ROC曲线。如何对比它们的好坏呢?我们来看TPR和FPR的公式,我们希望TPR当然是越大越好,FPR越小越好。我们可以从图中发现,蓝色的曲线的TPR,在FPR相同的情况下,要高得多。那有没有什么统一的方法衡量呢?答案就是曲线下面积,这就是所谓的AOC值。

ROC-AUC 浅谈理解ROC曲线和AUC值_第3张图片

3. 深入理解

以上是ROC-AUC指标内容部分,但是你应该还是不能建立起sensitive的感知,究竟什么分类器它的面积才会大呢?这里提供两种我自己理解的角度。

3.1 从公式理解

我们说了,TPR当然是越大越好,FPR越小越好。对于同一个任务来说,公式中的分母是固定的,代表真实标签中正样本和负样本的数量,所以我们只要对比分母即可。TP和FP,分别代表预测为正且正确,预测为负且预测错误。

ROC-AUC 浅谈理解ROC曲线和AUC值_第4张图片

那么TP和FP和分类器的好坏有什么关系呢?下图中两个分类器的分类结果,明显右侧的分类器要好得多。

如果正负样本有交叉,那么阈值变动的时候,在交叉部分,TP和FP必定同时增加(单调,可能其一不变)。

ROC-AUC 浅谈理解ROC曲线和AUC值_第5张图片

 

3.2 从ROC曲线上理解

像下图这种理想情况,处在中间时TPR=1,FPR=1,往右移动阈值,那么TP(预测为三角形且为三角形)的数量就要开始下降,但FP(预测为三角形但是为正方形)的数量一直为0。所以往右边移动阈值,TPR会不断下降,但是FPR一直为0。而往左边移动,则相反,TPR=1,FPR会不断增加,因为FP会不断增加。

ROC-AUC 浅谈理解ROC曲线和AUC值_第6张图片

于是,ROC曲线如下。

ROC-AUC 浅谈理解ROC曲线和AUC值_第7张图片

事实上,下图中红框框出的点,只有在样本预测分布有交叉的情况下才会出现。

ROC-AUC 浅谈理解ROC曲线和AUC值_第8张图片

所以,结论:为何ROC曲线以及AUC值——ROC曲线的面积,只和分类器预测的结果分布的交叉部分有关。你就不难理解为何ROC曲线不会受正负样本的平衡比例影响,因为它和样本的多少无关,只和预测发生交叉的数量有关。

建议可以把视频中的案例自己手动算一遍,然后应该就可以理解上文。

ref

https://www.bilibili.com/video/BV1wz4y197LU?from=search&seid=15705467768719329210

你可能感兴趣的:(ROC-AUC 浅谈理解ROC曲线和AUC值)