平均精度均值 (MAP) 是一种用于评估排名检索系统(如搜索引擎或推荐算法)质量的指标。 它通过对多个查询的精度分数进行平均来衡量系统对相关项目的排序效果。 要计算 MAP,首先要计算每个查询的平均精度 (AP)。 AP 是排名列表中每个出现相关项目的位置的精度值的平均值。 例如,如果一个查询在结果列表中的位置 2、4 和 7 有相关文档,您需要计算每个位置的精度(例如,precision@2 = 1/2,precision@4 = 2/4)并取它们的平均值。 然后,MAP 是所有查询的这些 AP 分数的平均值。 这种方法强调了对相关项目进行更高排名的重要性,因为较早的正确结果对分数贡献更大。
MAP 通常用于比较排序算法,尤其是在排序重要的场景中。 例如,在搜索引擎中,两种算法可能为一个查询检索到相同的相关文档集,但对它们进行不同的排序。 将相关结果放置在前面的系统对于该查询将具有更高的 AP,从而获得更好的总体 MAP。 开发人员可能会在 A/B 测试期间使用 MAP 来确定哪种算法在不同的用户查询中表现更好。 例如,如果算法 A 的 MAP 为 0.75,而算法 B 的 MAP 为 0.68,则表明算法 A 在测试数据集中始终将相关结果排在更高位置。 当每个查询的相关项目数量不同时,MAP 特别有用,因为它通过关注每次查询的平均有效性来标准化性能。
使用 MAP 时,请考虑其局限性。 它假设二元相关性(项目要么相关,要么不相关),这可能无法捕捉到部分相关内容的细微差别。 此外,MAP 需要一个带有每个查询的已知相关项目的标记数据集。 通常排除没有相关项目的查询,以避免结果出现偏差。 对于非相关项目的精确排序同样重要的任务(例如,异常检测),MAP 的效果较差。 对于分级相关性,标准化折扣累积增益 (NDCG) 等替代方案可能更好。 尽管有这些考虑因素,但由于 MAP 侧重于精度和排序,因此它仍然是评估排名系统的标准工具。