[work]ROC AUC的理解

时间:2022-12-07 19:02:14

一、文章来由

ROC、AUC是标准的metrics,很多实验都要用到。而且有实验,最后一层是sigmoid layer,threshold是体现在ROC中

二、ROC

首先有两个定义需要澄清,曲线的坐标分别为真正例率(TPR)和假正例率(FPR),定义如下:

[work]ROC AUC的理解

下图为ROC曲线示意图,因现实任务中通常利用有限个测试样例来绘制ROC图,因此应为无法产生光滑曲线,如右图。

[work]ROC AUC的理解

绘图过程很简单:

给定m个正例子,n个反例子,根据学习器预测结果进行排序,先把分类阈值设为最大,使得所有例子均预测为反例,此时TPR和FPR均为0,在(0,0)处标记一个点,再将分类阈值依次设为每个样例的预测值,即依次将每个例子划分为正例。设前一个坐标为(x,y),若当前为真正例,对应标记点为(x,y+1/m),若当前为假正例,则标记点为(x+1/n,y),然后依次连接各点。

直观上来讲,为什么有ROC,如下图:

[work]ROC AUC的理解

ROC曲线和它相关的比率

(a)理想情况下,TPR应该接近1,FPR应该接近0。
ROC曲线上的每一个点对应于一个threshold,对于一个分类器,每个threshold下会有一个TPR和FPR。
比如Threshold最大时,TP=FP=0,对应于原点;Threshold最小时,TN=FN=0,对应于右上角的点(1,1)

(b)P和N得分不作为特征间距离d的一个函数,随着阈值theta增加,TP和FP都增加

三、AUC与总结

AUC是ROC曲线与x轴的面积。

[work]ROC AUC的理解