原文链接
注意区分mAP(mean average precision,平均AP)和MAP(**Maximum a posteriori,最大后验概率**)!!!
mAP 是指平均准确率,是机器学习中模型好坏的一种评价指标。在介绍 mAP 前应该首先了解几个概念:
1、P (percision) :准确率,在周志华的《机器学习》中,称为 “查准率”。在信息检索中,准确率是指我检索出的信息有多少比例是用户感兴趣的。
P = 系统检索到的相关文件 / 系统检索到的文件总数
2、R (recall) :召回率,又称为 “查全率”,指用户感兴趣的信息有多少被检测出来了
R = 系统检测到的相关文件 / 数据库中相关文件总数
举个例子来说,某数据库中有 1000 个文件,我要搜索跟机器学习相关的文件,而数据库中机器学习相关文件有 200 个。搜索后,系统检索出 100 个文件,80 个跟机器学习相关,那么:
P(准确率) = 80 / 100 = 80%
R(召回率)= 80 / 200 = 40%
在改变检索算法后,再进行一次检索,结果检索出 180 个文件,机器学习相关文件有 120 个,那么:
P(准确率)= 120 / 180 = 66.7%
R(召回率)= 120 / 200 = 60%
这两个算法到底哪个算法好呢,很难单一的用准确率或召回率来评判。
准确率和召回率一般有如下特点:准确率高,召回率就低。召回率高,准确率就低。这个也比较容易理解,比如要获得较高的召回率,势必要搜索出大量文件,还是上面那个例子,我搜索出 500 个文件,其中 200 个跟机器学习相关,那么召回率为 100%,但是准确率只有 40%。当然,如果算法能做到准确率和召回率都高,那是最好。
那么如何结合准确率和召回率对模型进行评判呢,可以使用 F 度量
3、F 度量(F-measure)
F 度量涵盖了准确率和召回率这两个指标。其计算公式如下:
F = 2 P R / (P + R)
结合以上两个例子,第一个例子的 F 度量为 0.53,第二个例子的 F 度量为 0.63
接下来进入主题,mAP 是什么呢?
前面介绍了准确率和召回率单独来评价模型不科学,结合这两个指标的话可以用 F 度量,其实还有一种方法,即 Average Precision(平均精度 AP)——以召回率和准确率为行纵坐标,得到二维曲线,即 PR 曲线。将 PR 曲线下的面积当作衡量尺度,得到 AP 值。
mAP 即平均 AP 值, 是对多个验证集求平均 AP 值,其中 QR 指验证集个数