RS——推荐系统评估指标-mAP


整体说明

  • 在推荐系统中,mAP(Mean Average Precision)是衡量推荐结果准确性的重要指标 ,主要用于评估排序型推荐任务(如搜索、推荐列表排序)的性能
  • 综合考虑了推荐结果的相关性(Relevance)排序质量(Ranking Quality) ,尤其适用于多类别推荐场景或需要衡量整体推荐精度的场景

AP(Average Precision,平均精度)

  • 定义 :对于单个查询(或用户),AP是其所有相关推荐结果的 Precision(精确率)的平均值 ,且仅对相关结果计算
  • 计算逻辑
    • 假设推荐列表中有 \( N \) 个结果,按排序从左到右依次判断每个结果是否为“相关项”(需预先定义相关性标准,如用户点击、购买等)
    • 对于每个相关项,计算其当前位置的精确率(即截至该位置,相关项在已推荐结果中的比例),并将所有相关项的精确率求平均,得到AP
  • 公式示例 :若推荐列表中有5个结果,相关性标记为 \( [1, 0, 1, 1, 0] \)(1表示相关,0表示不相关),则:
    • 第1个相关项位置:1,精确率 \( P_1 = 1/1 = 1 \)
    • 第3个相关项位置:3,精确率 \( P_3 = 2/3 \)
    • 第4个相关项位置:4,精确率 \( P_4 = 3/4 \)
    • AP = \( (1 + 2/3 + 3/4) / 3 ≈ 0.9167 \)

mAP(Mean Average Precision,平均AP)

  • 定义 :将AP指标扩展到所有查询(或用户) ,计算所有AP值的平均值,用于衡量推荐系统的整体性能
  • 公式
    $$
    \text{mAP} = \frac{1}{M} \sum_{i=1}^{M} \text{AP}_i
    $$
    • 其中,\( M \) 为查询(或用户)总数,\( \text{AP}_i \) 为第 \( i \) 个查询的AP值

附录:完整的mAP计算示例

  • 假设存在2个用户(查询),推荐列表及相关性如下:
  • 用户1 :推荐列表 = [A(1), B(0), C(1), D(0), E(1)]
    • 相关项位置:1、3、5
    • 各相关项精确率:
    • \( P_1 = 1/1 = 1 \)
    • \( P_3 = 2/3 ≈ 0.6667 \)
    • \( P_5 = 3/5 = 0.6 \)
    • \( \text{AP}_1 = (1 + 0.6667 + 0.6) / 3 ≈ 0.7556 \)
  • 用户2 :推荐列表 = [X(0), Y(1), Z(1)]
    • 相关项位置:2、3
    • 各相关项精确率:
      • \( P_2 = 1/2 = 0.5 \)
      • \( P_3 = 2/3 ≈ 0.6667 \)
      • \( \text{AP}_2 = (0.5 + 0.6667) / 2 ≈ 0.5833 \)
  • mAP计算
    $$
    \text{mAP} = \frac{0.7556 + 0.5833}{2} ≈ 0.6695
    $$