标点符(钱魏 Way)

推荐系统、搜索引擎、自然语言处理常用指标

机器学习(ML)、自然语言处理(NLP)信息检索(IR)等领域评估是一个必要的工作。

精确率(Precision)与召回率(Recall)

  • 准确率 = 检索出的相关文档数/检索出的文档总数 = 查准率
  • 召回率 = 检索出的相关文档数/文档库中所有相关文档数 = 查全率

假如某个班级有男生80人,女生20人,共计100人,目标是找出所有女生。现在某人挑选出50个人,其中20人是女生,另外还错误的把30个男生也当作女生挑选出来了。

  • 准确率 = 20/50=40%
  • 召回率 = 20/20=100%

我们希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高。

  • 如果希望被检索到的内容越多越好,这是追求“召回率”
  • 如果希望检索到的文档中,真正想要的、也就是相关的越多越好,不相关的越少越好,这是追求“准确率”

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

综合评价指标(F-Measure)

P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。

F-Measure是Precision和Recall加权调和平均:

f-measure

当参数α=1时,就是最常见的F1,即

f1-measure

还是上面的例子,F1=2*40%*100%/(40%+100%)=57.14%

E值

E值表示准确率P和召回率R的加权平均值,当其中一个为0时,E值为1,其计算公式:

e

b越大,表示准确率的权重越大。

mAP(mean Average Precision)

mAP是为解决P,R,F-measure的单点值局限性的。为了得到 一个能够反映全局性能的指标,可以看考察下图,其中两条曲线(方块点与圆点)分布对应了两个检索系统的准确率-召回率曲线。

p-r

 

可以看出,虽然两个系统的性能曲线有所交叠但是以圆点标示的系统的性能在绝大多数情况下要远好于用方块标示的系统。从中我们可以 发现一点,如果一个系统的性能较好,其曲线应当尽可能的向上突出。

更加具体的,曲线与坐标轴之间的面积应当越大。

最理想的系统, 其包含的面积应当是1,而所有系统的包含的面积都应当大于0。这就是用以评价信息检索系统的最常用性能指标,平均准确率mAP其规范的定义如下:(其中P,R分别为准确率与召回率,Q为检索次数)

map

参考链接:

码字很辛苦,转载请注明来自标点符《推荐系统、搜索引擎、自然语言处理常用指标》

评论