算法面试高频知识点:评价指标ROC、AUC、AP、mAP详解
ROC和AUC
ROC全称是“受试者工作特征”(Receiver Operating Characteristic)。
ROC曲线的面积就是AUC(Area Under Curve)。
AUC用于衡量二分类问题机器学习算法的性能(泛化能力)。
ROC曲线,通过将连续变量设定出多个不同的临界值,从而计算出一系列正真率和假正率,再以假正率为横坐标、正真率为纵坐标绘制成曲线,曲线下面积越大,表示准确率越高。在ROC曲线上,最靠近坐标图左上方的点为真正率和假正率均较高的临界值。
如下图所示:
其中,
FPR(False Positive Rate)公式:。
TPR(True Positive Rate)公式:。
ROC曲线的四点一线:
第一个点(0,1),即FPR=0, TPR=1,这意味着FN(False Negative)=0,并且FP(False Positive)=0。意味着这是一个 完美的分类器,它将所有的样本都正确分类。
第二个点(1,0),即FPR=1,T PR=0,意味着这是一个最糟糕的分类器,因为它成功避开了所有的正确答案。
第三个点(0,0),即FPR=TPR=0,即FP(False Positive)=TP(True Positive)=0,可以发现该分类器预测所有的样本 都为负样本(Negat ive)。
第四个点(1,1),即FPR=T PR=1,分类器实际上预测所有的样本都为正样本。
==经过以上分析,ROC曲线越接近左上角,该分类器的性能越好。==
ROC曲线所覆盖的面积称为AUC(Area Under Curve),可以更直观的判断学习器的性能,AUC越大则性能越好。
使用ROC和AUC作为评价指标的优点
ROC曲线有很好的特性:当测试集中的正负样本的分布改变的时候,ROC曲线能够保持不变。而真正率和假正率这两个指标正是ROC和AUC可以无视样本不平衡的原因。
在实际的数据集中经常会出现样本类别不均衡的情况,即正负样本比例差距较大,而且测试数据中的正负样本也可能随着时间变化。
AP
AP(Average-Precision,平均精度):是指P-R曲线围起来的面积,通常来说一个越好的分类器,AP值越高。
AP计算:
在VOC2010以前,只需要选取当Recall >= 0, 0.1, 0.2, ..., 1共11个点时的Precision最大值,然后AP就是这11个Precision的平均值。
在VOC2010及以后,需要针对每一个不同的Recall值(包括0和1),选取其大于等于这些Recall值时的Precision最大值,然后计算PR曲线下面积作为AP值。
具体计算细节阅读:mAP计算
mAP
mAP(Mean Average Precision,平均精度均值):是把每个类别的AP都单独拿出来,然后计算所有类别AP的平均值,代表着对检测到的目标平均精度的一个综合度量。