LLM(大语言模型)常用评测指标-MAP

MAP (Mean Average Precision)

MAP (平均平均精度) 是一种常用于评估信息检索系统、推荐系统或其他排名模型的性能指标。它特别适用于任务中涉及到返回一组排序结果的场景,如搜索引擎、推荐系统、图像检索等。

计算方法

  1. 计算平均精度 (Average Precision, AP):对于每个查询,首先计算其精度(Precision)在不同截断级别(即不同数量的返回结果)的值,然后计算这些精度值的平均值。精度是指检索到的相关文档数量与检索到的总文档数量的比值。
  2. 计算平均精度的平均值 (Mean AP):对所有查询的平均精度(AP)进行平均。

应用场景

MAP常用于评估搜索引擎、推荐系统、文本检索、图像检索等领域中的模型性能,尤其是在关注排名顶部结果的精确性时。

计算实例

假设有一个推荐系统,它针对两个不同的用户返回了以下推荐结果(这里的"相关"和"不相关"是基于用户偏好预先定义的):

  • 用户 1:
    • 推荐结果:[相关, 不相关, 相关, 不相关, 相关]
  • 用户 2:
    • 推荐结果:[相关, 相关, 不相关, 相关, 不相关]

步骤

  1. 计算每个用户的平均精度 (AP):

    • 对于用户 1:

      • 第一个相关结果的精度 = 1/1
      • 第二个相关结果的精度 = 2/3
      • 第三个相关结果的精度 = 3/5
      • AP1 = (1/1 + 2/3 + 3/5) / 3 = 0.867
    • 对于用户 2:

      • 第一个相关结果的精度 = 1/1
      • 第二个相关结果的精度 = 2/2
      • 第三个相关结果的精度 = 3/4
      • AP2 = (1/1 + 2/2 + 3/4) / 3 = 0.917
  2. 计算 MAP:

    • MAP = (AP1 + AP2) / 2 = (0.867 + 0.917) / 2 = 0.892

因此,在这个例子中,MAP的值是0.892。这意味着在所有返回结果中,模型在这两个用户上的平均表现接近于89.2%的准确率。在实际应用中,通常会对大量用户或查询进行此类计算,以得到更为可靠的平均值。

相关推荐
肥猪猪爸3 分钟前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
LZXCyrus32 分钟前
【杂记】vLLM如何指定GPU单卡/多卡离线推理
人工智能·经验分享·python·深度学习·语言模型·llm·vllm
我感觉。1 小时前
【机器学习chp4】特征工程
人工智能·机器学习·主成分分析·特征工程
YRr YRr1 小时前
深度学习神经网络中的优化器的使用
人工智能·深度学习·神经网络
DieYoung_Alive1 小时前
一篇文章了解机器学习(下)
人工智能·机器学习
夏沫的梦1 小时前
生成式AI对产业的影响与冲击
人工智能·aigc
goomind1 小时前
YOLOv8实战木材缺陷识别
人工智能·yolo·目标检测·缺陷检测·pyqt5·木材缺陷识别
只怕自己不够好1 小时前
《OpenCV 图像基础操作全解析:从读取到像素处理与 ROI 应用》
人工智能·opencv·计算机视觉
幻风_huanfeng1 小时前
人工智能之数学基础:线性代数在人工智能中的地位
人工智能·深度学习·神经网络·线性代数·机器学习·自然语言处理
嵌入式大圣1 小时前
嵌入式系统与OpenCV
人工智能·opencv·计算机视觉