分类和检测任务中的Recall、Precision、AP(average precision)、mAP、ROC与AUC

分类和检测任务中的Recall、Precision、AP(average precision)、mAP、ROC与AUC

从信息学的观点来解释上图,你向系统提出查询,黄色区域是系统反馈的信息,绿色部分是你需要的信息,这样precision=TP/(TP+FP)表示给出信息中需要信息的占比,recall=TP/(TP+FN)表示准确的信息占所有准确信息的占比。

如果返回的信息含有先后顺序(表示不同的权重,越靠前权重越大),这样截至前N个结果,可以一次计算出precision和recall,如下图所示。

分类和检测任务中的Recall、Precision、AP(average precision)、mAP、ROC与AUC

这样就可以得到P-R曲线

分类和检测任务中的Recall、Precision、AP(average precision)、mAP、ROC与AUC

对曲线进行插值处理:Precision-Recall的曲线,趋势是下降的,所以前人就提出一种差值方法:任给一个Recall值,它对应的Precision值就等于它最近的右侧的那个“有值”Precision值中最大的那个值。

分类和检测任务中的Recall、Precision、AP(average precision)、mAP、ROC与AUC

AP就是这条曲线与x轴所围面积。

对于多个类别问题,对AP取均值就是mAP。

如果放在目标检测问题中,对于同一类别的所有预测框按权重进行排序,然后iou(交并比)来判断是否为真,这样就转换为分类问题来。

在分类问题中,阈值选择会影响系统的表现,如果同样按权重排序,取不同的阈值,就可以得到不同的真正例率TPR=TP/(TP+FN)和假真例率FPR=FP/(TN+FP),l两者曲线就是ROC曲线,曲线与x轴所围面积就是AUC。