性能指标(模型评估)之ROC与AUC

时间:2022-12-08 09:05:17

为什么ROC

在前面已经介绍了mAP性能指标,用于评估模型的性能(查全&查准双高)了。这里为什么还需要介绍ROC呢?他是何方妖孽?

通过前面的P-R曲线可以看出来,选取的top-N随着N的不同,模型对查全和差准的重视程度各有不同,比如N较小时更看重“查准率”,N越大越重视“查全率”。因此,排序本身的好坏,体现了综合考虑学习器在不同任务下的“期望泛化性能”的好坏,或者是“一般情况下”泛化性能的好坏。ROC就是从这个角度来研究学习器的泛化性能的有力工具。

什么是ROC

ROC的全称是“受试者工作特征”(receiver operating characteristic)曲线,源于“二战”敌机检测的雷达信号分析技术。这里为了说清楚他的定义,我们再次回顾下前面提到的表,同时也加入了两个定义。

表1 测试样本分类说明(分4类)

真实情况 预测为正 预测为反 召回率
TP(真正) FN(假反) TPR(R)=TPTP+FN
FP(假正) TN(真反) FPR=FPTN+FP
准确率 P=TPTP+FP

准确率

预测结果中,究竟有多少是真的正?(找出来的对的比例)

P=TPTP+FP

召回率

所有正样本中,你究竟预测对了多少?(找回来了几个)

R=TPTP+FN

这里要补充两个东西

真正例率(True Positive Rate)

TPR=TPTP+FN

假正例率(False Positive Rate)

FPR=FPTN+FP

看到了吗?真正例率就是召回率,假正例率就是实际是反的当中,有多少被判为了正。ROC曲线就是以TPR为纵轴,FPR为横轴的曲线。

性能指标(模型评估)之ROC与AUC

中间的对角线对应于“随机猜测”模型, (0,1) 对应所有正例排在反例之前的“理想模型”。值得注意的是,现实任务中通常是利用有限个测试样例绘制ROC图,因此不会得到光滑的曲线,只能得到向上面的右图离散图形,离散ROC曲线绘制过程和P-R曲线绘制套路相同(就是对预测输出从高到低排序,然后一次划分)。同样地,若一个学习器的ROC曲线被另一个学习器完全包围,则后者性能更优,当然交叉式就很难说了,此时可比较ROC曲线下的面积,即是AUC,进行比较。