Recall@K、Precision@K、MRR、nDCG@K简介
这四个是信息检索IR和推荐系统中最常用的排序质量评估指标。它们的共同目标是衡量“把相关结果排在前面”的能力。下面按从简单到复杂的顺序讲清楚。1. PrecisionK前K个里有多少是相关的定义在返回的前 K 个结果中相关结果所占的比例。PrecisionK前K个结果中相关结果的数量K \text{PrecisionK} \frac{\text{前K个结果中相关结果的数量}}{K}PrecisionKK前K个结果中相关结果的数量​例子返回前 5 个结果其中 3 个相关 → Precision5 3/5 0.6关注点准确性——你推出来的东西里有多少是用户真正想要的。局限只看前 K 个不关心相关结果有没有被漏掉。2. RecallK所有相关结果里前K个覆盖了多少定义前 K 个结果中覆盖了多少比例的全部相关结果。RecallK前K个结果中相关结果的数量全部相关结果的总数 \text{RecallK} \frac{\text{前K个结果中相关结果的数量}}{\text{全部相关结果的总数}}RecallK全部相关结果的总数前K个结果中相关结果的数量​例子系统里一共有 10 个相关结果前 5 个里命中了 3 个 → Recall5 3/10 0.3关注点覆盖率——有没有把该找的都找出来。局限如果把所有东西都返回Recall 会很高但 Precision 很差。所以通常和 Precision 配合看。Precision 与 Recall 的权衡K 增大 → Recall 通常上升Precision 通常下降。实际中常用F1K或P-R 曲线来综合。3. MRR平均倒数排名定义对每个查询看第一个相关结果排在第几位取倒数再对所有查询求平均。MRR1∣Q∣∑q1∣Q∣1rankq \text{MRR} \frac{1}{|Q|}\sum_{q1}^{|Q|} \frac{1}{\text{rank}_q}MRR∣Q∣1​q1∑∣Q∣​rankq​1​其中rankq\text{rank}_qrankq​是第qqq个查询中第一个相关结果的位置。例子查询1第一个相关结果排第 2 → 1/2 0.5查询2第一个相关结果排第 1 → 1/1 1.0查询3第一个相关结果排第 4 → 1/4 0.25MRR (0.5 1.0 0.25) / 3 ≈ 0.583关注点第一个相关结果出现得有多早。适用场景用户通常只关心“找到第一个能用的答案”比如问答系统、导航、事实查找。局限只关心第一个相关结果后面的相关结果排得再好也不加分。如果一个问题有多个相关答案MRR 就不太合适。4. nDCGK归一化折损累计增益这是最全面、也最常用的排序指标。它同时考虑相关性等级不只是相关/不相关可以分等级位置越靠前越重要折损归一化方便跨查询比较分步理解① CG累计增益前 K 个结果的相关性分数直接相加。② DCG折损累计增益对每个位置的相关性除以一个随位置增长的折损因子DCGK∑i1Krelilog⁡2(i1) \text{DCGK} \sum_{i1}^{K} \frac{rel_i}{\log_2(i1)}DCGKi1∑K​log2​(i1)reli​​其中relirel_ireli​是第iii个结果的相关性分数可以是 0/1也可以是 0~4 这样的等级。③ IDCG理想 DCG把同一批结果按最理想顺序排列后算出的 DCG。④ nDCGnDCGKDCGKIDCGK \text{nDCGK} \frac{\text{DCGK}}{\text{IDCGK}}nDCGKIDCGKDCGK​取值范围 0~1越接近 1 越好。例子假设相关性等级为 3、2、0、1位置 irel_i折损 log₂(i1)贡献131.0003.000221.5851.262302.0000412.3220.431DCG 3.000 1.262 0 0.431 4.693理想排序3, 2, 1, 0IDCG 3/1 2/1.585 1/2 0 3 1.262 0.5 4.762nDCG4 4.693 / 4.762 ≈ 0.985关注点整体排序质量尤其是高相关结果有没有排在前面。优点支持多级相关性位置折损合理归一化后可比。四个指标对比总结指标关心什么是否考虑位置是否支持多级相关典型场景PrecisionK前K个里相关比例只区分前K/后否推荐列表准确率RecallK相关结果覆盖率只区分前K/后否搜索召回评估MRR第一个相关结果多早出现是否问答、导航nDCGK整体排序质量是折损是搜索、推荐排序怎么选只关心有没有找到→ RecallK只关心推出来的准不准→ PrecisionK只关心第一个正确答案→ MRR关心整个排序列表的质量且相关性有等级→ nDCGK实际工作中搜索和推荐系统通常同时看多个指标比如 Recall20 nDCG10一个看召回一个看排序。如果你有具体场景比如推荐系统、RAG 检索、问答我可以帮你分析该重点用哪个。

相关新闻

SAP EPPM集成实战:打通PPM、PS与MS Project的数据神经束

SAP EPPM集成实战:打通PPM、PS与MS Project的数据神经束

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 5:15:44 阅读更多 →
双模态水果识别:图像+音频融合的轻量级产线分拣系统

双模态水果识别:图像+音频融合的轻量级产线分拣系统

简介:本资源是一套基于Python实现的语音与图像双模态水果分拣系统源码及配套数据集,面向人工智能初学者、机器学习实践者及农业智能化项目开发者,解决水果产线中香蕉、苹果、桃子三类常见水果的自动化识别与分类问题。压缩包共502个文件&…

2026/10/4 5:15:44 阅读更多 →
BMC风扇控制:PID闭环热管理原理与工程实践

BMC风扇控制:PID闭环热管理原理与工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 5:15:44 阅读更多 →

最新新闻

Java Swing+MySQL物资信息管理系统全解析:从建库到答辩

Java Swing+MySQL物资信息管理系统全解析:从建库到答辩

简介:面向Java课程设计与期末大作业场景的物资信息管理系统完整项目,以Java Swing构建桌面端界面、MySQL作为数据存储,并配有数据库脚本与设计文档。系统覆盖登录认证、用户管理、基础信息维护、物资出入库、查询统计等典型模块,难…

2026/10/4 5:56:08 阅读更多 →
FPGA+STM32相控阵雷达原型:从LFM脉冲压缩到波束形成的工程实现

FPGA+STM32相控阵雷达原型:从LFM脉冲压缩到波束形成的工程实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 5:56:08 阅读更多 →
vSAN扩容实战避坑指南:性能下降、重平衡卡顿与策略不合规的根因解析

vSAN扩容实战避坑指南:性能下降、重平衡卡顿与策略不合规的根因解析

简介:本资源是VMware vSAN专业运维人员与虚拟化架构师必备的扩容操作指南,聚焦企业级vSAN集群在业务增长下的弹性扩展问题,覆盖横向扩容(新增节点)、纵向扩容(增磁盘组/容量层磁盘)及主机级硬件…

2026/10/4 5:56:08 阅读更多 →
MetaRoCE开源与AI供应链牛鞭效应:从RoCE技术到需求波动的全链条解析

MetaRoCE开源与AI供应链牛鞭效应:从RoCE技术到需求波动的全链条解析

最近和几个做AI基建的朋友聊天,话题绕不开三件事:MetaRoCE 开源、ChatGPT Work 这类企业级AI产品的采用断层、以及供应链上越来越明显的牛鞭效应。这三件事表面上看没什么交集——一个是网络协议栈,一个是企业软件采购,一个是供应…

2026/10/4 5:56:08 阅读更多 →
基于迭代学习控制的机器人双臂协调MATLAB仿真实践

基于迭代学习控制的机器人双臂协调MATLAB仿真实践

搞双臂协调控制这件事,我最初是被一个实验逼上梁山的。单臂轨迹跟踪做得再顺,一旦让两条机械臂共同夹持一个刚性负载,就会出现各种“默契度”问题——左臂到位了右臂还在赶,右臂修正了左臂又被带偏。当时正好在调研迭代学习控制&a…

2026/10/4 5:56:08 阅读更多 →
统一管理54+AI编程工具的Agent技能:我如何构建技能中枢

统一管理54+AI编程工具的Agent技能:我如何构建技能中枢

1. 为什么需要这么个“技能中枢”:54工具下的碎片化困局先说我碰到的真实情况。去年开始,我的主力机里装了Cursor、Windsurf、Trae、Codex CLI、Cline、Continue、Zed,还有几个叫得上名的Agent框架,加起来十几个AI编程工具。每个工…

2026/10/4 5:55:07 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:35 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →