搜索排序MRR ,MAP ,NDCG比较

MRR:平均排名的倒数

MAP:平均精度均值

NDCG:标准化折扣累积收益

一、无排序的度量指标

二、有排序意义的度量指标

1:MRR

优点:该方法计算简单,解释简单。

           这种方法高度关注列表的第一个相关元素。它最适合有针对性的搜索,比如用户询问“对我来说最好的东西”。

           适用于已知项目搜索,如导航查询或寻找事实。

缺点:MRR指标不评估推荐项目列表的其余部分。它只关注列表中的第一个项目。

           它给出一个只有一个相关物品的列表。如果这是评估的目标,那找个度量指标是可以的。

           对于想要浏览相关物品列表的用户来说,这可能不是一个好的评估指标。用户的目标可能是比较多个相关物品。


2:MAP

平均准确率为每个查询的相关排序结果赋予一个评价数字,将多个查询的结果进行平均。

两个不同查询在同一排序算法上的召回率和准去率

查询1的平均准确率=(1.0+0.67+0.5+0.44+0.5)/5=0.62

查询2的平均准确率=(0.5+0.4+0.43)/3=0.44

MAP=(0.62+0.44)/2=0.53

优点:给出了一个代表“精确度 - 召回率“”曲线下复杂区域的单一度量。这提供了每个列表的平均精度。

           处理列表推荐物品的自然排序。这与将检索项视为集合的度量标准形成了对比。

           这一指标能够给予发生在排序高的推荐名单中的错误更多的权重。相反,它对发生在推荐列表中较深位置的错误的权重较小。这符合在推荐列表的最前面显示尽可能多的相关条目的需要。

缺点:这个度量标准适用于二进制(相关/非相关)评级。然而,它不适合细粒度的数字评级。此度量无法从此信息中提取误差度量。

           对于细粒度的评分,例如从1星到5星的评分,评估首先需要对评分进行阈值,以产生二元相关性。一种选择是只考虑大于4的评级。由于人工阈值的存在,这在评估度量中引入了偏差。此外,我们正在丢弃那些精细的信息。这个信息是在4星和5星之间的差异评级,以及在不相关的项目的信息。1星评级真的和3星评级一样吗?为了解决这些问题,recsys社区提出了另一个更近期的度量标准。这个度量考虑了评级中包含的细粒度信息。让我们看一看NDCG度量。


3:NDCG

优点:NDCG的主要优势是它考虑到了分等级的相关性值。当它们在数据集中可用时,NDCG是一个很好的选择。

           与MAP度量相比,它在评估排名项目的位置方面做得很好。它适用于二元的相关/非相关场景。

           平滑的对数折现因子有一个很好的理论基础,该工作的作者表明,对于每一对显著不同的排名推荐系统,NDCG度量始终能够确定更好的一个。

缺点:NDCG在部分反馈方面有一些问题。当我们有不完整的评级时,就会发生这种情况。这是大多数推荐系统的情况。如果我们有完整的评级,就没有真正的任务去实现!在这种情况下,recsys系统所有者需要决定如何归罪于缺失的评级。将缺少的值设置为0将把它们标记为不相关的项。其他计算值(如用户的平均/中值)也可以帮助解决这个缺点。

           接下来,用户需要手动处理IDCG等于0的情况。当用户没有相关文档时,就会发生这种情况。这里的一个策略是也将NDCG设置为0。

           另一个问题是处理NDCG@K。recsys系统返回的排序列表的大小可以小于k。为了处理这个问题,我们可以考虑固定大小的结果集,并用最小分数填充较小的集合。


参考资料:

《搜索引擎-信息检索实践》 |  W.Bruce Croft   Donald Metzler   Trevor Strohman

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容