mAP precision recall

Precision and Recall

       在模型评估时,我们往往会参照一些性能指标,最基本的如准确率和召回率。看过西瓜书的同学应该对下面这张表格很熟悉:

  predicted:P predicted:F
actual:P TP FN
actual:N FP TN

       这张表其实很好记忆,横着看(actual:P和actual:N)代表实际所属的类别;竖着看(predicted:P和predicted:N)代表预测的类型。如果实际和预测都一样,那就是真正例(TP)和真反例(TN),对应表格的主对角线。如果实际是反例却预测成了正例,那就是假正例(FP),注意,这都是与实际的标签(actual)来对比的,同理可推出FN。
       在了解了表格的意义之后,就很好解释准确率(P)和召回率(R)了:

P=TPTP+FPTPTP+FP

R=TPTP+FNTPTP+FN

       准确率P是评估你预测的准不准(看预测列),而召回率R是看你找的全不全(看实际行)。如果处理平衡数据集用这些性能指标还好说,但是一旦你的数据集不平衡,那么这些指标可参考的价值就不那么具备参考性了。举个例子:对于一个二分类问题,如果其中90%是正样本,只有10%是负样本的话,而我的模型就是全部输出为正样本的分类器,那么准确率依然高达90%,但是这样并没有意义。所以提出了AP的概念。


Average Precision

       所谓的AP,其实就是平均准确率。这里的平均是相对于不同验证集而言的。
这里写图片描述
       假设我们想要训练一个猫咪分类器,如果是基于像素点级别的,那么就可以将它转换为一个二分类任务,判断这个像素点是不是属于猫的。这样,我们可以得到属于猫咪的像素点的准确率P1=TPTP+FPTPTP+FP,当然,我么还有其他很多的验证图片,这样还可以得到P2,P3,…而AP就是对于这些求平均值:
AP=Ni=0PiNAP=∑i=0NPiN.


mean Average Precision

       所谓的mAP,其实就是对m个类别的AP取平均值,对于上文讲的猫咪分类器,其实就是一个二分类器,它的mAP就等于正样本的准确率与负样本的准确率的平均值,多分类任务也可以如法炮制。
       相比于P,R,mAP这个性能指标对于数据不平衡问题就靠谱很多。还是拿之前举的例子来说:90%的正样本,10%的负样本,如果采用全部输出为正的分类器,那么P=0.9,P=0,而mAP=0.45.

猜你喜欢

转载自blog.csdn.net/u012426298/article/details/80995445
今日推荐