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