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指验证集个数
reference: