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

相关推荐
0 16 小时前
260401日志
人工智能·深度学习·nlp
是有头发的程序猿7 小时前
用Open Claw接口做1688选品、价格监控、货源对比
开发语言·c++·人工智能
chools7 小时前
Java后端拥抱AI开发之个人学习路线 - - Spring AI【第一期】
java·人工智能·学习·spring·ai
IT_陈寒7 小时前
Vite热更新坑了我三天,原来配置要这么写
前端·人工智能·后端
子兮曰7 小时前
CLI正在吞掉GUI:不是替代,是统治,AI时代的入口争夺战
人工智能·github·命令行
星星也在雾里7 小时前
Dify Agent + FastAPI + PostgreSQL实现数据库查询
数据库·人工智能·fastapi
Maschera967 小时前
openclaw-lark 的 Bot@Bot 跨Bot提及功能 - 开发经验分享
人工智能·node.js
TDengine (老段)8 小时前
以事件为核心 + 以资产为核心:工业数据中缺失的关键一环
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据
阿里云大数据AI技术8 小时前
欣和大数据阿里云上升级,打造湖仓一体平台
大数据·人工智能
CC数分8 小时前
大模型时代的数据分析:AI会取代数据分析师吗?
人工智能·数据挖掘·数据分析