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%的准确率。在实际应用中,通常会对大量用户或查询进行此类计算,以得到更为可靠的平均值。

相关推荐
Shockang5 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang5 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab6 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天7 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天7 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源