想象你是一位美食大赛的总策划。50 位厨师,各怀绝技,川菜大师、法餐主厨、甜品高手齐聚一堂。要评出“年度最佳厨师”,最笨的办法是让每个人做自己最拿手的菜——川菜大师端出麻婆豆腐,法餐主厨呈上油封鸭,甜品高手捧出舒芙蕾,评委根本没法横向比较,因为题目不同、难度不同、评价标准也完全不同。聪明的策划会定下同一张考题:酸辣土豆丝、清蒸鲈鱼、提拉米苏,统一食材、同一批评委、同一张评分表。谁的分高,谁才是真正的厨神。 这套“统一题目、统一评委、统一标准”的比赛体系,用在 AI 身上就叫基准测试(Benchmark)。模型就像参赛厨师,测试集就像考题本,评估指标就是评分表。这篇文章就带你从零搭建一场 AI 界的“美食大赛”——从出题、评分到防作弊、写报告,全程手把手。
学会设计基准测试,是 AI 研究员的职业基石:无论是发论文、选模型还是推动业务上线,一份科学可信的评估报告,都是你所有技术判断的底气。
可视化演示
展示AI基准测试的排行榜矩阵与评测流程:多任务多模型评分网格、平均分对比,以及从数据集到排行榜的五步评测管道。
本节配有交互动效(进入视口后自动加载,约 3KB)。
Benchmark排行榜矩阵 GPT-4:多任务综合最优 开源模型:特定任务竞争力强 Score_avg = Σ(w_i × s_i) / Σw_i 多任务加权平均排名
基准测试概述
想象你是一位美食大赛总策划。今天来了 50 位厨师,各怀绝技:有川菜大师、法餐主厨、甜品高手。怎么才能公平地评出“年度最佳”?如果让川菜大师做刺身,法餐主厨做回锅肉,每个人都使出看家本领,裁判根本没法横向比较。真正的赛事策划会这样干:定下同样的三道题——酸辣土豆丝、清蒸鲈鱼、提拉米苏,备好同样的食材,请同一批评委,用同一张评分表打分。谁的分高,谁就是这一届的厨神。这套“统一题目、统一评委、统一标准”的比赛体系,就是基准测试(Benchmark)的灵魂。
在 AI 的世界里,“厨师”是待评测的模型,“比赛题目”是精心设计的测试集,“评分表”是评估指标,“评委”是预先固定的评测脚本。为什么 AI 圈如此看重 Benchmark?因为在一个研究季度里,可能有几十个新模型版本冒出来,如果各说各话——甲用 A 语料测翻译,乙用 B 语料测问答——大家根本不知道谁更有潜力。有了统一的 Benchmark,研究者和工程师才能在数轴上对号入座:你的模型在 MMLU 上 72 分,我的 68 分,请拿出计算过程来。
典型基准测试由三个要素构成:固定测试集、可复现的评估流程、明确的量化指标。常见类型包括任务型基准(如图像分类 ImageNet、自然语言推理 GLUE)和能力型基准(如数学推理 GSM8K、代码生成 HumanEval)。设计原则是“能被公平比较、能快速复现、能区分模型强弱”。而最基础的量化指标,就是把判断结果分成四类后算账——真正例(TP)、真负例(TN)、假正例(FP)、假负例(FN)。
回到美食大赛,如果菜都做糊了还能拿高分,那说明评分表有问题;同样,如果准确率连“全部猜负例”的傻方法都打不过,这个基准就是无效的。基准测试的第一口饭,就是让你看清:这个模型,到底是真有厨艺,还是只会吆喝。
- 真正例与真负例模型判断正确的两类样本总数——正样本被判为正、负样本被判为负,是“答对”的部分。
- 假正例与假负例模型判断错误的两类——把负判成正(虚报)、把正判成负(漏报),是“答错”的部分。
- 分母评测总样本:四类样本加起来就是测试集的总数量,无论对错都算在分母里。
- 二者相除答对总数除以总样本数,得到准确率——最直观的“总得分”,但要注意它掩盖了错误类型。
测试集设计
菜品定了,接下来出题。主办方要保证三点:第一,题目不能事先让选手们排练过;第二,题目要有难有易,一下就能区分出新手和大师;第三,冷热荤素种类齐全,别只靠一道菜定胜负。如果三道菜全是土豆丝,甜品大师就哭晕在后台了。测试集就是 AI 的“考题本”,出题水平直接决定比赛有没有说服力。
第一条铁律是独立性:测试集中的样本绝不能出现在训练过程里,否则等于选手提前拿到了考卷。经验做法是把原始数据按比例切分为训练集、验证集、测试集,常见比例如 80/10/10 或 70/15/15,且划分前先洗牌、按类别分层,防止某一类样本全部跑进测试集。样本来源也要讲清楚:是真实业务日志、公开数据集,还是众包标注,来源不同,测试结论的适用范围就不同。
第二,难度分层。全放简单题,所有模型都 99 分,失去区分度;全放难题,大家都 30 分,同样看不出差距。理想测试集应当包含简单、中等、困难三个层级,让不同水平的模型都能找到自己的位置。第三,领域覆盖。做医疗问答的基准,不能只有内科题而没有影像报告题;做代码生成的基准,不能只有 Python 而没有 SQL。覆盖面越广,排名越有公信力。
出题是门手艺。题目太少,比赛结果全靠运气;题目太偏,冠军只擅长冷门菜系。一份好的测试集,就是让每个选手都能在“熟悉的陌生题”上公平竞技。
- 观测比例p 是模型在测试集上观测到的正确率,它是真实能力的一个估计值,会随抽样波动。
- 方差项p(1-p) 是二分类结果的固有波动,除以样本量 n 之后,反映“估计到底有多不准”。
- 置信系数z 由置信水平决定,95% 置信水平对应 z = 1.96,表示“大约 95% 的区间会套住真值”。
- 区间估计真实分数以 95% 的概率落在该区间内。n 越大区间越窄,评估越可信——所以不要用几十条样本撑起一个 Benchmark。
评估指标
比赛当天,评委们拿着评分表却吵了起来:有的只看“熟没熟”——熟了就是好菜;有的说不行,满桌都是辣椒却没肉,这算什么硬菜?美食大赛最终决定分维度打分:刀工、火候、调味、摆盘各占权重。AI 的评估也一样,一个数字远不够用。最容易被误用的是准确率:当正负样本极端不平衡时——比如 99% 的邮件是垃圾邮件,模型全判成垃圾邮件也有 99% 准确率,看上去战无不胜,实际上一封正常邮件都发不出去。
这时要用精确率(Precision)和召回率(Recall)分别衡量“报得准”和“抓得全”。精确率回答“你说是垃圾邮件的那些,到底有多少真是垃圾邮件”;召回率回答“真正的垃圾邮件,你抓到了多少”。一个指标会撒谎,两个指标互相牵制,而 F1 分数把两者揉成一个数,作为单指标排名的依据。
精确率高了,可能靠“只挑最有把握的判”来偷懒;召回率高了,可能靠“宁可错杀一千”来凑数。F1 正是对这两种偷懒的惩罚:任何一项偏低,调和平均都会被狠狠拉低。此外,若测试集规模有限,还要报告置信区间,告诉读者 95% 信心下真实分数落在哪个范围。
评委如果只问“熟没熟”,那麻辣烫也能拿满分;真正专业的评审,必须回答“这道菜好在哪,差在哪,适合谁”。这就是多指标评估存在的意义。
- 精确率在模型预测为正例的结果中真正为正的比例,衡量“报得准不准”。
- 召回率在所有真实正例中被模型找出的比例,衡量“抓得全不全”。
- 调和平均F1 是精确率与召回率的调和平均,比算术平均更严格——任何一项偏低都会被明显拉低。
- 平衡解读F1 不会超过两者的算术平均,直观理解就是“偏科会拉低总分”,只有两科都高才拿高分。
评估流程
有没有见过这种情况:同一道菜,上午评委说咸,下午评委说淡,因为上午的厨师放了两勺盐,下午只放了一勺。美食大赛规定:统一盐罐、统一灶台、统一计时,甚至评委之间不许交头接耳。流程不规范,再好的评分表也是废纸。AI 评估的“统一盐罐”包括:固定的模型加载方式、固定的推理超参数(随机种子、解码温度、batch size),以及固定的运行环境(依赖库版本、GPU 型号)。否则同一个小模型,在不同设备上测出的速度能差一倍,同样的 prompt 在不同温度下结果也会抖动。
批次管理也很重要:一次性把所有测试样本跑完容易显存溢出,应按固定大小分批推理,并记录每批的耗时与结果。结果记录要像记账一样一丝不苟:模型版本、代码 commit、测试集版本、指标文件四者配对,缺一不可。复现要求是基准测试的底线——别人拿着你的评测脚本,必须能跑出同样的分数,否则论文里的数字就是空中楼阁。
由于模型初始化、数据顺序、硬件浮点误差等因素,单次评估总会带点随机抖动。聪明的做法是多次运行取平均,并报告波动范围。
流程严谨就像厨房里的标准作业:盐放几克、火开几档、计时几分钟,全部写进菜单。只有流程可复现,冠军的分数才有说服力。
- 单次得分第 i 次完整评估得到一个准确率分数,记为 a_i,不同次之间会有随机波动。
- 标准差先求 k 次得分的平均值,再算每个分数偏离平均值的程度,得到 σ,描述“抖动有多大”。
- 标准误把单次抖动除以重复次数的平方根,得到均值本身的标准差——重复越多,均值越稳。
- 报告方式最终报告写成“均值 ± 标准差”,比如 82.4% ± 0.6%,读者一眼就能看出分数是否可靠。
对抗陷阱
比赛办到第三届,丑闻来了。有选手半夜潜入评委休息室偷看了评分表;有选手花两个月疯狂练习三道指定菜,把红烧肉做成了肌肉记忆;还有选手为了让分数好看,拼命把菜做成评委喜欢的摆盘。主办方这才意识到:比赛规则再严,也会被人钻空子。AI 评估中最臭名昭著的就是数据泄露——测试集被模型在训练时见过,分数虚高得离谱。第二种是“过拟合测试集”:研究者反复在同一测试集上挑选最优版本,相当于把测试题刷成练习题。
更隐蔽的是选择偏差:研究者通常会尝试几十种超参数组合,只把最高分写进报告。这个“最高分”是在同一份测试卷上反复试出来的,天然高于平均期望——就像你掷 100 次骰子,挑最大的那次报给老师,不能代表你的真实水平。基准坍塌则是指一个公开基准存在足够久后,模型训练数据里混入了网上流传的测试题,导致分数普遍失真,排行榜失去意义。脏数据同样致命:众包标注的噪声、数据清洗的失误,会让模型“明明做对了却被判错”。
防作弊是主办方的长期功课:定期更换新题、抽查标注质量、公示评估代码。比赛办得越久,越要警惕那些“专为拿分而生”的选手。
- 单次尝试得分在同一测试集上,第 i 次调参后得到的评估分数是一个随机变量,可能虚高也可能虚低。
- 反复挑选最优研究者往往只保留若干次尝试中最高的那个分数,这就是“只报最佳状态”。
- 期望对比左边是“反复挑选”的长期平均,右边是“单次平均后取最大”;由于 max 的凸性,左边总不小于右边。
- 实际问题反复刷同一测试集调参,会让报告的分数系统性虚高——这就是选择偏差,也是基准坍塌的机制。
基线与消融
评委们总算评完了分,但一个新问题冒出来:这个厨师今年进步了吗?空口无凭。主办方规定,每一届必须有“去年的冠军”来参赛作对照——他就是基准线(Baseline);同时大家也很好奇,这位选手的招牌菜到底靠的是刀工还是火候?于是让他分别“蒙眼切菜”和“不调味”再各做一遍,看看分数掉多少。这就是消融实验。在 AI 论文里,新建一个 Benchmark 必须跑两个以上的对照:一个简单可靠的基线方法(如逻辑回归、BERT-base),一个当前最强方法(SOTA)。
如果新模型连简单基线都打不过,说明设计有重大问题;如果只比基线高 0.3 个百分点,还要警惕这 0.3 是不是随机噪声。基线的作用就是给所有模型一个“最低可接受线”:你声称有改进,请拿数据超过我。SOTA 对标则回答“你和世界最强差多远”——这决定了工作是修修补补还是真正突破。消融实验进一步拆解贡献:想证明注意力模块有效,就训练一个去掉注意力的版本;想证明数据增强有效,就训练一个不加增强的版本。
每个被拆除的版本都在同一测试集上评估,分数差距就是该组件的贡献。最后,多次重跑的均值和标准差要写进报告,必要时做显著性检验(如配对 t 检验),判断差异到底是真实的还是运气。此时可以用归一化的相对提升率,把“进步幅度”换算成距满分的填补比例。
没有对照的比赛是自嗨,没有拆解的胜利是黑箱。基线和消融,就是 AI 研究的“验明正身”:既证明你跑赢了谁,也证明你凭什么赢。
- 分子绝对提升:模型得分减去基线得分,看多答对的比例。
- 分母提升空间:基线距完美分数 1.0 还差多少,表示剩余可提升的容量。
- 归一化提升率用绝对提升除以可提升空间,得到一个与任务难度无关的相对进步百分比。
报告与迭代
比赛落幕,主办方要做两件事:发布一份让所有选手心服口服的成绩册,以及开始筹备下一届。成绩册上除了总分,还必须有每道题的得分明细和评委的专业点评;下一届则会根据本届暴露的问题调整题目,防止有人把考题背下来。AI 研究中的“成绩册”就是评估报告:表格列出各模型在各项指标上的均值与标准差,附上测试集分布说明、实现细节和运行环境,让任何人拿着同样的代码都能复现分数。
错误分析等于评委点评:把预测错的样本按类别拆开,看模型到底在哪种题上栽了跟头。比如一个问答模型总错误率是 10%,但拆开看,法律类错误率高达 35%,说明模型在专业领域存在系统性短板。定位短板后,下一轮训练就有了明确靶心。总错误率其实是各类别错误率的加权平均,这个分解公式能帮你找到“罪魁祸首”。
榜单维护是长期工作:更新时需重跑全量模型保证公平,防止刷分;测试集应随领域发展持续扩充新题目,防止基准坍塌。一个健康的 Benchmark 是活着的——它会像美食大赛的题库一样,年复一年地换菜、重赛、刷新纪录。
- 类别权重第 i 类样本数占总样本数的比例,作为该类错误的加权系数。
- 类别错误率模型在第 i 类上的错误率,数值越高,说明这类题目越“瘸腿”。
- 加权求和总错误率是各类错误率的加权平均,把每一类的短板按占比汇总起来。
AI 应用场景
大语言模型选型对标评测
阶段:模型评估与选型
解决的问题:开源底座(Llama、Qwen、Mistral)不断更新,选型靠口头传说容易踩坑。传统做法是“谁宣传得好用谁”,上线后才发现推理分高但代码能力一塌糊涂。AI 的做法是设计一个固定题库(如 MMLU + GSM8K + HumanEval),在统一环境下给候选底座依次“跑分”,用均值 ± 标准差横向对比。
具体案例:某算法工程师要在三个底座上微调智能客服,先各跑了 5 次综合 Benchmark,发现底座 A 推理分高但代码分低,底座 B 各项均衡且方差最小,最终选择 B 作为微调底座,上线后用户满意度提升 12%。
业务知识库问答的领域基准设计
阶段:上线前的评估把关
解决的问题:通用测试集不能反映公司内部业务,模型在公开榜上 90 分,一答业务问题就露馅。AI 的做法是从真实工单中收集 500 道业务题,按难度分三层、按业务线分层抽样,再由 3 名标注员双盲校验答案;每次模型更新必须先跑领域 Benchmark 再放量。
具体案例:某金融公司设计了一套“理财咨询问答基准”,覆盖开户、转账、风控、投诉四类业务,难度分层为“常规问题 / 条款细节 / 复杂计算”。新模型在复杂计算层错误率从 28% 降到 9%,才被允许进入线上 A/B 测试。
推荐模型离线评测与 A/B 衔接
阶段:模型迭代验证
解决的问题:推荐召回模型上线前,不能直接拿用户当小白鼠。AI 的做法是建立固定采样 30 天的离线测试集,把新模型与线上 Baseline 对比 F1/AUC,重复跑 10 次做显著性检验,通过后再开 A/B 实验,形成“离线基准 → 在线验证”的双保险。
具体案例:某短视频团队改进召回模型,离线 F1 提升仅 0.3%,但消融实验发现“时间衰减模块”贡献了其中 80%,于是只上线该模块,AUC 验证稳定提升,人均播放时长 +4%。
Python 演示
# -*- coding: utf-8 -*-"""一个小型基准测试(Benchmark)评估工具:统一得分、重跑统计、基线对比."""import numpy as np def make_testset(n=2000, seed=42): """生成合成测试集:特征x,标签y=(x0+x1>0).""" rng = np.random.default_rng(seed) X = rng.normal(size=(n, 4)) y = ((X[:, 0] + X[:, 1]) > 0).astype(int) return X, y def baseline_model(x): """基线:只检查第一维,简单但粗糙.""" return 1 if x[0] > 0.1 else 0 def new_model(x): """新模型:综合前两维,模拟一个更准的版本.""" return 1 if x[0] + x[1] > 0 else 0 class BenchmarkSuite: def __init__(self, X, y, model, name): self.X = X self.y = y self.model = model self.name = name self.run_count = 0 # 记录运行次数,与report方法不同名 def metrics(self): preds = [self.model(x) for x in self.X] tp = sum(p == 1 and t == 1 for p, t in zip(preds, self.y)) fp = sum(p == 1 and t == 0 for p, t in zip(preds, self.y)) fn = sum(p == 0 and t == 1 for p, t in zip(preds, self.y)) precision = tp / (tp + fp) if tp + fp else 0.0 recall = tp / (tp + fn) if tp + fn else 0.0 f1 = 2 * precision * recall / (precision + recall) if precision + recall else 0.0 return precision, recall, f1 def run(self, times=5): accs = [] for _ in range(times): accs.append(np.mean([self.model(x) == t for x, t in zip(self.X, self.y)])) return float(np.mean(accs)), float(np.std(accs)) def report(self, times=5): self.run_count += 1 mean_acc, std_acc = self.run(times) p, r, f1 = self.metrics() print("[%s] acc=%.4f±%.4f P=%.4f R=%.4f F1=%.4f" % (self.name, mean_acc, std_acc, p, r, f1)) return mean_acc if __name__ == "__main__": X, y = make_testset() base = BenchmarkSuite(X, y, baseline_model, "BaseLine") cand = BenchmarkSuite(X, y, new_model, "NewModel") base_acc = base.report() cand_acc = cand.report() delta = (cand_acc - base_acc) / (1.0 - base_acc) * 100.0 print("relative gain delta=%.2f%%" % delta)
X = rng.normal(size=(n, 4))合成 2000 条 4 维特征样本,模拟一份干净的测试集y = ((X[:, 0] + X[:, 1]) > 0).astype(int)用规则生成标签,保证测试集有“标准答案”def make_testset(n=2000, seed=42)固定随机种子,保证测试集可复现、可共享class BenchmarkSuite:把评估协议封装成类,相当于美食大赛的“统一评分台”def metrics(self):计算精确率、召回率、F1,三项指标一次算清def run(self, times=5):重复跑 5 次取均值和标准差,呼应“多次试菜取平均”base = BenchmarkSuite(X, y, baseline_model, "BaseLine")构造基线参赛者delta = (cand_acc - base_acc) / (1.0 - base_acc) * 100.0归一化相对提升率,回答“补上了多少差距”
常见误区
误区我把所有数据都拿来训练,模型在训练集上准确率 99%,我以为是完美模型,直接上线后效果稀烂,是不是代码写错了?
正解训练集相当于平时练习的琴谱,测试集是考场上从没见过的曲目。模型要的是在陌生题目上的能力,训练集上的高分只能说明“背得好”,不能说明“学得会”。基准测试第一铁律:测试集必须与训练过程完全隔离。
为何常见:初学者图省事不拆分数据,且训练集上的高分给人强烈安全感,误把记忆当泛化。
误区准确率都 99% 了,报告就写这一个数还不够吗?其他指标太麻烦,领导也只看这个。
正解类别不均衡时准确率会骗人。比如 99% 的邮件是垃圾邮件,模型全判成垃圾也有 99% 准确率,但正常邮件全被吞了。必须配合精确率、召回率、F1 和置信区间,才能看清模型是“真强”还是“偏科”。
为何常见:准确率最直观,人人都能看懂,但越简单越容易被误导。
误区排行榜上分数都 90+ 了,这个任务应该被解决了吧?我照着榜单方法微调一下也能刷上去。
正解公开基准存在太久,测试题可能混进了新模型的训练语料,分数普遍失真,这就是基准坍塌。看见 90+ 分先别激动,要核查测试集是否已污染、是否该更新了。
为何常见:刷分能带来即时满足感,而维护一个干净基准要长期投入,容易被忽视。
误区我发现把测试集加进训练数据多跑几轮,分数立刻涨,群里都传这个“技巧”。
正解这就是典型的数据泄露——好比把考场试卷提前发给选手背答案。分数涨得越高,越说明其余未见的样本上表现可能越差。任何让测试分布进入训练过程的操作,都会让基准失去意义。
为何常见:想快速提升数字的诱惑太大,且短期看不到恶果,直到上线翻车。
误区新模型比旧模型准确率高 0.5 个百分点,肯定更强,直接上线换掉旧的。
正解0.5 个点可能只是随机波动。要多次重跑,看均值差是否大于标准差,必要时做显著性检验。就像厨师尝一口就下结论“这盘菜天下第一”,没有复吃几轮的底气。
为何常见:看到数字上升就兴奋,忽略方差和运气成分,把噪声当信号。
面试题
Q1. 基准测试最核心的目标是什么?
- A.让模型训练更快
- B.公平量化模型能力← 正确答案
- C.提高模型参数量
- D.减少模型推理成本
答案:B。基准测试的本质是“统一题目、统一标准”,让不同模型在同一赛场公平比拼,量化真实能力。它不负责加速训练、增加参数量或降本,那些是工程优化的事。就像美食大赛的考题,目的是评出谁最强,而不是让厨师做菜更快。
Q2. 设计测试集时,下列哪一项是第一原则?
- A.与训练集相互独立← 正确答案
- B.规模越大越好
- C.包含全部数据集
- D.动态合成新样本
答案:A。独立性是测试集的生命线,否则模型可能“背过答案”,分数虚高。规模大、动态合成都重要,但都必须建立在独立前提之上。好比考卷再精美,如果选手提前看过,成绩就毫无意义。
Q3. 精确率和召回率的调和平均叫做什么?
- A.准确率指标
- B.F1 分数指标← 正确答案
- C.AUC 指标
- D.MSE 指标
答案:B。F1 是精确率 P 与召回率 R 的调和平均,公式为 2PR/(P+R),专门惩罚偏科。准确率是整体正确比例,AUC 是排序能力指标,MSE 是回归损失。评委既要看“报得准”也要看“抓得全”,F1 就是两者打成的总分。
Q4. 模型反复在同一测试集上调参,分数虚高的原因是什么?
- A.训练轮次过多
- B.学习率设得太大
- C.过拟合测试集← 正确答案
- D.类别分布不均
答案:C。反复在同一测试集上挑选最优版本,会把测试题刷成练习题,导致选择偏差——你报的是上百次尝试中的最高分,天然高于平均水平。训练轮次、学习率是超参数问题,类别不均是数据分布问题,都不是分数虚高的直接机制。
Q5. 关于消融实验,下列说法正确的是哪项?
- A.删除部分训练数据
- B.逐步移除组件验证贡献← 正确答案
- C.一次性训练全部组件
- D.只保留最优超参数
答案:B。消融实验是“逐步拆件”:去掉注意力模块、去掉数据增强等,逐一重训并在同一测试集评估,分数差距就是该组件的贡献。它回答的是“胜利凭什么”,而不是简单删数据或调超参。
Q6. 基准测试中设置 Baseline 的主要目的是什么?
- A.提供对照证明提升← 正确答案
- B.增加任务挑战性
- C.压缩模型的体积
- D.加快推理的运行
答案:A。Baseline 是“最低可接受线”,给所有模型一个通用参照物。新模型必须超过基线,并配合归一化提升率说明进步幅度。它不负责增加难度、压缩体积或加速推理,那些是任务设计与工程优化的事。
Q7. 评估结果报告最合适的做法是什么?
- A.只报告准确率
- B.均值与错误分析← 正确答案
- C.只报告最高得分
- D.报告训练集结果
答案:B。一份可信的报告应包含多次运行的均值与标准差,以及按类别拆解的错误分析。只报最高分是选择偏差的温床,只报训练集分数更是自欺欺人。好比成绩单既有总分,也要有每科得分和老师的评语。
Q8. 下列哪些属于基准测试的常见陷阱?
- A.数据泄露← 正确答案
- B.基准坍塌← 正确答案
- C.模型量化
- D.脏数据干扰← 正确答案
答案:ABD。数据泄露是测试样本混入训练过程;基准坍塌是公开基准被污染后分数失真;脏数据是标注噪声让公平评估失效——三者都会毁掉基准的可信度。模型量化是部署优化技术,与评估陷阱无关。
Q9. 设计图像分类基准测试集时,合理做法包括哪些?
- A.类别分层抽样← 正确答案
- B.领域覆盖多样← 正确答案
- C.评测时用训练集
- D.难度分层设计← 正确答案
答案:ABD。分层抽样保证类别比例真实,领域覆盖让结论有外推性,难度分层让模型强弱可见。用训练集评测是数据泄露的典型错误——让选手做做过的题,分数再高也没有说服力。
Q10. 关于置信区间与测试集规模,下列说法正确的是哪些?
- A.样本量增大区间变窄← 正确答案
- B.置信度95%对应约1.96← 正确答案
- C.观测准确率不影响宽度
- D.区间中心为观测准确率← 正确答案
答案:ABD。置信区间公式为 p ± z·√(p(1-p)/n)。n 增大分母变大,区间变窄;95% 置信水平对应 z≈1.96;区间中心就是观测比例 p。但 p 通过 p(1-p) 影响宽度——p 越接近 0.5 时宽度越大,所以 C 说“不影响”是错误的。