基础篇

F35|评测指标的分母:成功率、精确率、召回率和pass

基础篇约 2.5 千字1 组分步图解

从具体对象与小例子开始,理解计算过程与适用条件。

本章目录
动态图解 · F35

读指标,先问它的分母是谁

为什么精确率高不等于证据找全了?

分子看起来都是“找对了多少”,分母却在回答不同问题。精确率从已拿回的内容看浪费;召回率从真正需要的内容看遗漏。Agent任务成功率又是另一层结果,不能把检索指标直接当作整个任务成功率。

TP该选且确实选中的项。
FP不该选却选中的项。
FN应该选却漏掉的项。
评测单位一次任务、一次运行、一个文档或一个位置,必须先定清。

输入与适用条件:本图始终TP=6、FP=2、FN=4;未定义TN,不计算准确率。与其他章节不同样本的百分比不可直接拼接。

1 / 4 · 四种结果先分开

第1步,共4步

窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。

读指标,先问它的分母是谁:四种结果先分开教学计数表被选中未选中真实需要64真实不需2未计数实际应该命中的10项里找到6项,漏4项;另有2项不应命中却被选中。

实际应该命中的10项里找到6项,漏4项;另有2项不应命中却被选中。

TP=6, FP=2, FN=4

Precision=6/8;Recall=6/10

默认静止。用“下一步”看完解释再继续;播放到最后一步自动停止。键盘聚焦播放器后,可用左右键逐步查看、空格播放/暂停。图中颜色辅助区分,含义同时用文字注明。

为什么需要

用准确的指标发现遗漏或浪费,而不被单个漂亮百分比误导。

怎样实现

明确任务集与单位,再计算分子分母,同时看下游任务表现。

可能的代价与误解

一题跑十次不是十道独立题;重试成功率与单次成功率也不同。

如何判断是否做对

从原始记录重算指标,逐项检查是否重复计数或遗漏失败。

先给评测单位起清楚名字

Task是一项有明确目标和判据的任务;Trial是对它的一次尝试;Trace是尝试过程中模型、工具和状态的轨迹;Outcome是最后结果;Grader是评分规则或执行评分的程序/模型。

同一Task可以跑多次Trial。把一个Task重试十次后成功,不能简单当成“一次运行成功”,否则分母被改变了。

成功率先用真实次数算

20个任务各跑一次,18个满足判据,经验成功率是18/20=90%。这个数依赖任务选择、环境、超时和允许重试次数。若只挑容易任务,90%不能代表所有业务。

统计一个长任务要不要部分得分,也应事先定义。临时为了让新系统分数更高而改判据,就难以公平比较。

精确率和召回率用集合手算

假设真正相关的文档有5篇,系统返回4篇,其中3篇相关。

精确率precision = 找到的相关数 / 返回总数 = 3/4 = 75%
召回率recall    = 找到的相关数 / 应找相关总数 = 3/5 = 60%

多返回一些文档,可能提高召回,也可能降低精确率并增加上下文负担。只返回最确定的一篇,精确率可能高但漏很多必要证据。

Top-k表示只看排名前k个结果,不是信心等级;Recall@k是在这个截断下看召回。

排得靠前也有区别

两个检索系统都找到了正确文档,一个排第一,一个排第二十,下游成本不同。MRR看第一个正确结果排名的倒数并平均;正确项第一是1,第二是1/2。

nDCG同时考虑相关性等级与位置折扣,并相对理想排序归一化。不同指标回答不同问题,不需要所有项目同时优化所有指标。关键是它是否关联最终任务成功。

pass@1、pass@k、pass^k的区别

用简化假设:某个任务每次独立成功概率p=0.8。

一次成功:pass@1 = 0.8
三次至少成功一次:1−(1−0.8)^3 = 0.992
三次全部成功:0.8^3 = 0.512

通常用pass@k表达k个候选至少一个成功的能力,pass^k类指标强调多次都成功的可靠性。实际论文或基准会给出具体估计方法,不能把这里的独立同概率推导无条件套到所有混合任务。

也不能在没有可靠判据时,假设“生成k份一定能选出正确那份”。找到成功候选还依赖验证器。

质量与成本必须一起看

新策略成功率相同但读了十倍文件,未必值得;更便宜的模型让失败重试大增,也未必更经济。每成功任务成本应把失败尝试和相关工具成本纳入分子,而不是只看成功那次Token。

同时记录用户可见延迟、输入输出量、检索范围和人工接管。流程更复杂或思考更长不是能力指标。

评测前怎样冻结条件

明确任务集、输入版本、环境、模型与Prompt版本、工具、超时、重试预算和判据,再比较。训练、调参和评测集合应有边界,避免把已知测试答案当新能力。

你不必先建庞大平台。先收集真实失败和代表性任务,人工核验判据,保存运行轨迹,再逐步扩充。数字有分母、有范围、有证据,比一个漂亮总分更有用。

运行示例 · F35

同一组结果,把四个分母分别数清

输入与条件。系统执行10个任务成功8个;某次搜索返回A、X、Y,而全部必要证据是A、B。

步骤与对象内部动作中间结果 / 新状态
1任务成功率8个成功÷10个任务80%。
2检索精确率返回3份里只有A相关1/3≈33.3%。
3检索召回率所需2份里找到A1/2=50%。
4至少一次成功若每次独立成功率0.8,试3次1−0.2³=0.992。
5三次都成功在同样独立假设下0.8³=0.512;与“至少一次”不是同一个指标。

把过程连起来。不能拿高任务成功率代替证据召回,也不能拿多次尝试里的最好一次冒充单次可靠性。

边界与反例。独立同分布是假设,不是Agent运行天然满足的性质。

依据与适用范围:[EVALS]。示例输入和场景由本书明确设定。

课后自检

自检 1

检索返回10篇,其中8篇相关,总共应找到20篇,精确率与召回率是多少?

查看参考答案收起参考答案
精确率80%,召回率40%。返回结果很干净并不说明关键资料已找全。
自检 2

每次独立成功概率0.8,3次至少成功一次和3次全成功相同吗?

查看参考答案收起参考答案
不同,分别0.992和0.512,反映能力探索与重复可靠性的不同要求。

机制依据:[EVALS][HUMANEVAL][TAU][F-IR]。本节数值与情景除另注外均为原创教学示例;来源不代替中文讲解。

记录保存在本机浏览器。

输入关键词即可检索。

↑ ↓ 选择 Enter 打开Esc 关闭 · 仅本地搜索

阅读设置

阅读设置仅保存在本机浏览器,不上传任何数据。