← 返回题目列表

Top-K 场景下 Precision 和 Recall 怎么评估?

中等 第 25 / 25 题 更新于 2026/09/19
模型评估机器学习面试题模型训练

简化版

Precision@K 衡量前 K 个结果中相关比例,Recall@K 衡量全部相关项有多少进入前 K;二者分别回答顶部纯度与覆盖。必须明确 K、相关定义、query 平均方式和无相关 query 处理。

详细版

  • Precision@K 分母通常固定 K 或实际返回数,需说明。

  • Recall@K 依赖每个 query 的相关总数。

  • K 越大 precision 常下降、recall 常上升。

  • 候选召回上限会限制排序层 Recall@K。

  • 固定容量业务应直接选择真实展示 K。

完整版教学

一、Top-K 指标把有限展示位写进评估

搜索、推荐只展示少量结果,整体准确率无法反映前几位质量。

P@K 看用户看到的列表有多干净,R@K 看应找回的内容漏了多少。

同一个 P@K 在每 query 宏平均和全局微平均下权重不同,长尾 query 可能被掩盖。

二、底层机制与公式

P@K=|Rel∩TopK|/K
R@K=|Rel∩TopK|/|Rel|

三、带数字的推演

某 query 有 5 个相关文档,Top-3 中命中 2 个,则 P@3=2/3≈0.667R@3=2/5=0.4

K 增到 5 若多命中 1 个,recall 变 0.6。

四、方案对比

方案/对象核心特点代价或边界
Precision@K顶部结果纯度不关心 K 外漏掉多少
Recall@K相关项覆盖不惩罚 K 内非相关的程度
HitRate@K是否至少命中一个忽略命中数量

五、执行流程

按 query 生成固定候选 -> 排序取前 K -> 去重/匹配标签
-> 每 query 算 P/R -> 处理无相关 query -> 宏平均并做切片

六、边界条件与工程代价

若系统少于 K 个可返回结果,分母用 K 还是返回数会显著改变 P@K,口径必须固定。

隐式反馈未点击不等于不相关,曝光偏差会影响 Top-K 标签,需要人工集或反事实方法补充。

记忆钩子:Top-K 只需记两个分母:Precision 除展示位 K,Recall 除应找回的相关总数。

七、常见误区与追问

  • 误区:P@K 与 R@K 分母相同。 前者是 K,后者是相关总数。

  • 追问:为什么 Recall 随 K 常上升? 更长列表只能增加或保持命中数。

  • 误区:把所有 query 结果混算等于 MAP。 MAP还考虑每个相关位置的累计 precision。

  • 追问:无相关 query 怎么处理? 预先规定跳过或记零并报告比例。

  • 追问:候选层为何重要? 相关项没进入候选,排序模型无法找回。

八、加强记忆

Top-K 只需记两个分母:Precision 除展示位 K,Recall 除应找回的相关总数。

指标必须贴合真实 K 和 query 聚合口径。