平均平均精度与平均倒数排名

机器算法验证 信息检索 平均精度
2022-02-12 02:11:55

我试图了解何时适合使用 MAP 以及何时应该使用 MRR。我发现这个演示文稿指出,当相关结果的数量小于 5 时,最好使用 MRR,最好在 1 时使用。在其他情况下,MAP 是合适的。我有两个问题:

  • 我真的不明白为什么会这样。
  • 我找不到此声明的可引用参考。

请注意,我没有很强的统计背景,所以外行的解释会很有帮助。谢谢你。

1个回答

想象一下,您有某种查询,并且您的检索系统返回了一个它认为与您的查询最相关的前 20 个项目的排名列表。现在还想象一下,这有一个基本事实,实际上我们可以对这 20 个中的每一个说“是”它是一个相关的答案,或者“不是”它不是。

平均倒数排名 (MRR)在这些情况下为您提供了质量的一般衡量标准,但MRR 只关心排名最高的相关项目如果您的系统在第三高的位置返回相关项目,这就是 MRR 所关心的。它不关心其他相关项目(假设有)是排名第 4 还是第 20。

因此,MRR 适合判断一个系统,其中 (a) 只有一个相关结果,或者 (b) 在您的用例中,您只真正关心排名最高的结果。这在某些网络搜索场景中可能是正确的,例如,用户只想找到一个要点击的东西,他们不再需要了。(尽管这通常是正确的,或者您是否会对返回十个很好答案的网络搜索更满意,并且您可以自行判断要点击哪些...?)

平均精度 (MAP)考虑是否所有相关项目都倾向于获得高排名。因此,在前 20 个示例中,它不仅关心第 3 位是否有相关答案,还关心该列表中的所有“是”项目是否都聚集在顶部。

当您的数据集中只有一个相关答案时,MRR 和 MAP 在 MAP的标准定义下完全等价。

要了解原因,请考虑以下受此博客文章中示例启发的玩具示例

示例 1

查询:“加利福尼亚州首府”

排名结果:“波特兰”、“萨克拉门托”、“洛杉矶”

排名结果(二元相关性):[0, 1, 0]

可能的正确答案数:1

倒数等级:12

精度为 1: 01

精度为 2: 12

精度为 3: 13

平均精度 =1*12=11*12=0.5.

如您所见,只有一个正确答案的查询的平均精度等于正确结果的倒数排名。因此,此类查询集合的 MRR 将等于其 MAP。但是,如下例所示,如果有多个正确答案,情况就会有所不同:

示例 2

查询:“加利福尼亚的城市”

排名结果:“波特兰”、“萨克拉门托”、“洛杉矶”

排名结果(二元相关性):[0, 1, 1]

可能的正确答案数量:2

倒数等级:12

精度为 1: 01

精度为 2: 12

精度为 3: 23

平均精度 =1*[12+23]=12*[12+23]=0.38.

因此,在这种情况下,MRR 与 MAP 的选择完全取决于您是否希望在第一次正确命中后影响排名。