信息检索系统常用的评价指标(准确率,召回率,F1,MAP,NDCG)

来源:互联网 发布:java面试宝典2017版 编辑:程序博客网 时间:2024/05/16 18:00

1. 准确率,召回率,F1值

首先介绍三种最常用的无序的评价指标,它们适用于一种相对简单的情况:在搜索结果中仅考虑返回的文档是否与查询相关,而不考虑这些返回文档在结果列表中的相对位置和顺序。


准确率(Precision)是返回的结果中相关文档所占的比例

召回率(Recall)是返回的相关文档占所有相关文档的比例

具体可以根据混淆矩阵来理解


 相关不相关返回真正例(tp)伪正例(fp)未返回伪反例(fn)真反例(tn)


已知上述矩阵,那么准确率和召回率可以按如下方法计算:





举个例子,假设针对某个查询词,某搜索引擎返回10个结果,其中有5个是相关的,那么准确率就等于5/10 = 50%, 如果索引中与该查询词相关的文档共有8个(也就是说还有3个没有返回),那么召回率就等于5/8 = 67.5%.


通常而言,一个好的搜索引擎需要兼顾准确率(P)和召回率(R),因此有了结合两者的指标—— F值,它是准确率和召回率的调和平均值,定义如下:



其中, 表示强调正确率,而表示强调召回率。当时,表示准确率和召回率的权重相等,通常记为,此时F值的计算公式可以简化为



这里为什么使用调和平均而不是算术平均来计算F值呢?考虑极端的情况,如果搜索结果返回所有的文档,那么此时召回率就是100%,这时的F值至少为50%,这显然是不合理的。而调和平均值小于等于算术平均值和几何平均值,如果两个求平均的数之间差距比较大,那么调和平均值更接近其中较小的值。


2. MAP

准确率,召回率和F值都是利用无序的文当集合进行计算,而搜索引擎返回的结果通常是有序的,因此有必要对这些指标进行扩展以考虑位置信息。

MAP(Mean Average Precision)是近年来比较流行的评价指标, MAP在准确率的基础上考虑了位置的因素。

首先对于单个查询,其平均准确率的具体计算方法如下:


其中r是相关文档的总数,Q是查询总数。

查询集合的平均准确率由所有单个查询的MAP值的平均。

总的来说,系统检索出来的相关文档在列表中越靠前,MAP的值就越高。如果系统没有返回相关文档,则MAP=0.


3.NDCG

NDCG(normalized discounted cumulative gain,归一化折损累计增益)是一种近年来逐渐被采用的指标,尤其是在基于机器学习的排序方法中。NDCG是针对连续值的指标,它基于前k个检索结果进行计算。设R(j,d)是评价人员给出的文档d对查询j的相关性得分(通常是一个概率),那么有:




其中,用于保证对于查询j最完美系统的NDCG在k的位置得分是1,m是返回文档的位置。

如果某查询返回的文档数,那么上述公式只需要计算到k‘为止。


0 0
原创粉丝点击