我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章《机器学习衡量-mAP指标》

125 阅读2分钟
mAP(mean Average Precision) 即: 全类别平均正确率
在机器学习中的目标检测领域,是十分重要的衡量指标,用于衡量目标检测算法的性能。一般而言,全类平均正确率(mAP,又称全类平均精度)是将所有类别检测的平均正确率(AP)进行综合加权平均而得到的

前置知识点:
T:True,代表判断正确
F:False,代表判断正确
P:Positive,代表被分为正样本
N:Negative,代表被分为负样本

TP(True Positive): 代表被分为正样本且本身就是正样本、即:正确检测出来了
FP(False Positive): 代表被分为正样本、但实际是负样本、即:没有检测出来
TN(True Negative): 代表被分为负样本且分对了(在mAP指标中不会使用到TN)、即:不是检测目标也没有被检测出来
FN(False Negative): 代表被分为负样本但是分错了,即:被检测为目标、其实不是

有二个相关指标: 精确率(Precision)与召回率(Recall)
召回率(Recall):
通俗的讲就是:样本中有多少个目标、你检测出来多少个

召回率=被检测出的目标:n样本中的目标总数:N=TPTP+FP召回率 = { {被检测出的目标:n} \over {样本中的目标总数:N}} = {{TP}\over{TP+FP}}

精确率(Precision):

精准率=检测出来正确的数量:n检测出来的总数量:N=TPTP+FN精准率 = {{检测出来正确的数量:n}\over {检测出来的总数量:N}} = {{TP}\over{TP+FN}}

精准率和召回率之间的矛盾关系

一般情况下精准率越高在召回率越低、反之亦然。
通俗来说、如果你想提高精准率则需要提高置信度、监测出的样本就会减少、召回率就会下降。
极端情况下,只检测出一个结果、且是正确的。这个时候positive为100%,但是召回率就很低、如果把所有样本都返回,recall位100%,则positive就会降低。

AP是针对目标检测模型中某个单独的类别的识别效果来说的。 代表某一类别的P-R曲线下的面积值,P-R曲线是在同一IOU阈值下,通过调整置信区间、不同Recall值与Precision值对应关系的曲线。比如下面: image.png

mAP是所有类别的AP值取平均(mean)后的结果。一般来说,一个越好的目标检测网络其mAP值就越高。

如果是做搜索,那就是保证召回率的情况下提升精确率。 
如果做疾病监测、反垃圾,则是保证精确率的条件下,提升召回率。
如果是做实验研究,也可以绘制Precision-Recall曲线来帮助分析。