对应:Stanford CS329H Fall 2026 Lecture 7(10/14 Fisher information & experimental design)。依据教材第 2 章(Fisher 信息、计算机自适应测试、最优实验设计、度量获取)及第 2 章幻灯片;度量获取依据 Hiranandani、Boodaghians、Mehta、Koyejo(2019);用 IRT 评测大语言模型依据 Polo 等(2024)与 Hofmann 等(2025)。 配套代码:
code/lecture07/(numpy) 预计阅读时间:3 小时(含运行代码)
0. 本讲导航
0.1 学完本讲,你应该能够
- 用两种方式定义 Fisher 信息(得分的方差、负二阶导数的期望),推导”二选一”观察的信息 ,并解释为什么”五五开”的问题信息最多。
- 说出 Cramér–Rao 下界,以及最大似然估计和它的关系;用信息估算”要多少次比较才能达到某个精度”。
- 写出 IRT 的 2PL 模型和项目信息函数,解释难度和区分度各自的作用;实现计算机自适应测试,并说出它为什么能用一半的题目测得一样准。
- 解释怎样用 IRT 少量题目估计大语言模型在整个基准上的表现,以及”自适应选题之后直接数正确率”为什么是错的。
- 写出多维情形的信息矩阵,说出 A、D、E 三种最优准则的含义;用矩阵行列式引理和 Sherman–Morrison 公式实现在线的 D 最优选择。
- 解释为什么”只挑最没把握的问题”(不确定性采样)和”只挑最不确定的方向”都不够好;为什么一次挑一批时要贪心地逐个加入。
- 说出最优设计的局限:依赖未知参数(局部设计)、短视、依赖模型正确。
- 解释度量获取的思路:用”你更喜欢哪个分类器”的两两比较,二分搜索出一个人心中的评价指标。
0.2 先修知识
| 知识点 | 用在哪里 | 最低要求 |
|---|---|---|
| 第 5、6 讲 | 全部 | 最大似然、海森矩阵与标准误、网格后验、拉普拉斯近似 |
| 第 4 讲 | 第 4 节 | Rasch 模型(“人和题目的 BT 比较”) |
| 线性代数 | 第 5 节 | 矩阵的逆、行列式、特征值、外积 |
0.3 本讲地图
第1节 为什么要设计实验:标注很贵
第2节 Fisher 信息与 Cramér–Rao 下界 ← 代码 01 演示 1
第3节 一维的自适应设计:给新模型安排对手 ← 代码 01 演示 3
第4节 项目反应理论与计算机自适应测试;评测大语言模型 ← 代码 01 演示 2、代码 02
第5节 多维的最优设计:A / D / E、在线与批量选择 ← 代码 03
第6节 度量获取:二分搜索一个人心中的指标 ← 代码 04
第7–11节 小结、与考核的关系、练习、延伸阅读、下一讲预告
0.4 关于数字
本讲引用的实验数字都来自配套代码的实际运行(随机种子固定,每个文件几秒钟)。
1. 为什么要设计实验
第 5、6 讲回答了”有了数据,怎样估计”。这一讲回答一个更早的问题:还没有数据时,该收集什么数据?
在偏好学习里,这个问题特别要紧,因为数据是问出来的,而问人很贵:
- 专业标注员(医生、律师、程序员)的时间很贵;即使是众包,高质量的偏好标注也需要培训和质量控制。
- 用户的耐心有限:推荐系统不能一直问”你喜欢 A 还是 B”。
- 有些”问题”本身代价很高:机器人要真的走一遍给你看,一个新模型要真的和别人比一场。
所以,同样的预算,问哪些问题能学得最多? 第 2 讲比较过”问法”(打分、比较、排序)的信息量;这一讲固定问法(主要是两两比较),研究”问哪一对”。
一个日常的例子:你想知道一个新来的棋手有多强。让他和世界冠军下 10 盘,他大概 10 盘全输——你只知道”他不如冠军”;让他和初学者下 10 盘,大概 10 盘全赢——你只知道”他比初学者强”。最有用的,是让他和实力相当的人下。这一讲把这个直觉变成一个可以计算的量:Fisher 信息。
2. Fisher 信息与 Cramér–Rao 下界
2.1 定义
设一次观察 的分布依赖于参数 :。对数似然对参数的导数叫得分(score):
它告诉我们”这个观察把 往哪边推、推多大力”。在真实参数处,得分的期望是 0(数据平均来说不推任何方向),Fisher 信息是它的方差:
两个定义相等(在常见的正则条件下)。第二个定义的直觉:对数似然在真实参数附近有多”尖”。越尖,数据越能把 定准。
2.2 二选一的观察:
比较两个选项,,。对数似然 对 求导得 (第 5 讲:“观察到的 − 预期的”),所以
代码 01_fisher_information.py 演示 1:
| 实力差 Δ | 胜率 p | 信息 | 相对五五开 | 标准误 0.2 需要的场数 |
|---|---|---|---|---|
| 0.0 | 0.500 | 0.2500 | 1.00 | 100 |
| 0.5 | 0.622 | 0.2350 | 0.94 | 107 |
| 1.0 | 0.731 | 0.1966 | 0.79 | 128 |
| 2.0 | 0.881 | 0.1050 | 0.42 | 239 |
| 3.0 | 0.953 | 0.0452 | 0.18 | 554 |
直觉:结果几乎确定的比较(Δ = 3,胜率 95%),比赛之前你就知道答案了,比完也没学到什么。同样的标注预算,“难分高下”的比较能学到多 5 倍的东西。
信息论的视角:一个”是 / 否”的回答最多带来 1 比特信息,只有在两个答案各占一半时才能达到(熵 在 时最大)。Fisher 信息 和熵在 处同时最大,不是巧合:两者都在说”答案越不可预测,问得越值”。
2.3 Cramér–Rao 下界
次独立观察,信息相加:。Cramér–Rao 下界说,任何无偏估计的方差至少是
最大似然估计在大样本下达到这个下界(渐近有效,第 5 讲第 2.1 节)。演示 1 每次比 400 场、重复 20000 次:Δ = 0 时下界 0.01000、实际方差 0.01017;Δ = 2 时下界 0.02381、实际 0.02415——几乎完全一样。
所以 Fisher 信息不只是一个”直觉上的信息量”:它精确地告诉我们,问一个问题能让估计的方差减少多少。设计实验 = 选问题,让总信息尽可能大。
2.4 和第 5 讲的海森矩阵是同一个东西
多个参数时,信息是一个矩阵:。对 BT 模型,第 5 讲算过海森矩阵 = 负的加权图拉普拉斯,权重正是 ,而且它不依赖于 (谁赢了都一样)。所以对 BT 来说,“观察到的信息”(负海森矩阵)和”期望的信息”(Fisher 信息)完全相同。第 5、6 讲的标准误、拉普拉斯近似的协方差,都是 Fisher 信息矩阵的逆。
这有一个非常实用的推论:一个问题的信息量,在得到答案之前就能算出来(只要知道 )。这是第 5.4 节”不等答案就挑一批”的基础。
3. 一维的自适应设计:给新模型安排对手
问题:排行榜上有 25 个实力已知的参考模型(实力从 −3 到 3)。一个新模型上榜,每场比赛该和谁比?
由第 2 节,和实力相当的对手比信息最多。可是新模型的实力正是我们不知道的——这是实验设计的”鸡生蛋”问题:最优的问题依赖于未知的参数。解决办法:用当前的估计代替,每比一场更新一次估计,再挑下一个对手。这叫自适应(或序贯)设计。
演示 3 比较三种安排(新模型的真实实力 ~ ,网格后验估计,重复 400 次):
| 比赛场数 | 随机挑对手 | 总和实力 0 的比 | 自适应(挑最接近当前估计的) |
|---|---|---|---|
| 5 | 0.993 | 0.868 | 0.836 |
| 10 | 0.779 | 0.766 | 0.645 |
| 20 | 0.566 | 0.555 | 0.480 |
| 50 | 0.389 | 0.362 | 0.285 |
| 100 | 0.290 | 0.251 | 0.205 |
(估计误差的均方根。)
- 自适应每个场数下都最好:50 场的误差(0.285)和随机挑对手 100 场(0.290)差不多——省了一半的比赛。
- 总和中等对手比平均来看还不错,因为新模型的实力大多在 0 附近。但对一个很强的新模型(真实实力 2.5),它几乎总是赢(胜率 92%),每场的信息只有五五开的四分之一多一点:20 场后误差 0.601,和随机(0.603)一样差;自适应是 0.493。
- 随机有一部分比赛恰好实力相当,其余的(和 ±3 的模型比)几乎没有信息。
【边界】自适应让数据依赖于之前的结果。最大似然和贝叶斯估计仍然有效(“似然原理”:怎样决定下一个问题,不影响已有答案的似然),但依赖”随机分配”的简单统计(例如直接比较两个模型的原始胜率)会有偏差——第 4.4 节会看到一个极端的例子。
4. 项目反应理论与计算机自适应测试
4.1 2PL 模型与项目信息函数
项目反应理论(IRT)是心理测量学的标准工具,用来设计考试。最常用的 2PL 模型(Birnbaum 1968):能力为 的考生答对第 道题的概率
- :难度。能力 的人答对的概率正好一半。
- :区分度。 大,能力稍高一点就很可能答对,题目能很好地区分能力相近的人。
这就是第 4 讲的 Rasch 模型()加上区分度,也可以看成”人和题目的 BT 比较”。由第 2 节,,,所以一道题对能力 的信息是
演示 2 的表格:
| 题目 | θ = −3 | −2 | −1 | 0 | +1 | +2 | +3 | 最大值 |
|---|---|---|---|---|---|---|---|---|
| 容易题 a=1, b=−1.5 | 0.149 | 0.235 | 0.235 | 0.149 | 0.070 | 0.028 | 0.011 | 0.250 |
| 中等题 a=1, b=0 | 0.045 | 0.105 | 0.197 | 0.250 | 0.197 | 0.105 | 0.045 | 0.250 |
| 难题 a=1, b=1.5 | 0.011 | 0.028 | 0.070 | 0.149 | 0.235 | 0.235 | 0.149 | 0.250 |
| 区分度低 a=0.5, b=0 | 0.037 | 0.049 | 0.059 | 0.062 | 0.059 | 0.049 | 0.037 | 0.062 |
| 区分度高 a=2, b=0 | 0.010 | 0.071 | 0.420 | 1.000 | 0.420 | 0.071 | 0.010 | 1.000 |
- 难度决定”对谁有用”:每道题在 处信息最多。难题对高手有用,对新手几乎没用(反正答不对)。
- 区分度决定”有多有用”:峰值是 。区分度 2 的题信息是区分度 1 的 4 倍,但峰更窄。
- 一套试卷的测验信息 = 各题信息之和,能力估计的标准误 ≈ 。
所以给所有人发同一套试卷很浪费:对每个人来说,大部分题不是太难就是太容易。
4.2 计算机自适应测试(CAT)
CAT 的算法几乎就是第 3 节的”安排对手”:
- 从先验(例如 )开始;
- 挑一道在当前能力估计处信息最大、还没做过的题;
- 根据对错更新后验(网格法,第 6 讲);
- 重复,直到题数用完,或后验标准差小于某个值(停止规则)。
代码 02_adaptive_testing.py 演示 1:题库 300 道题(2PL),300 个考生:
| 题数 | 随机出题 | 固定中等试卷 | 自适应出题 |
|---|---|---|---|
| 5 | 0.746 | 0.687 | 0.524 |
| 10 | 0.652 | 0.557 | 0.417 |
| 20 | 0.498 | 0.439 | 0.321 |
| 40 | 0.350 | 0.350 | 0.240 |
(能力估计误差的均方根。)40 道题时按能力分组:固定中等试卷对中间的人(|θ| < 1)误差 0.310,对两头的人(|θ| ≥ 1)0.424——高手全对、新手全错,答案没有信息;自适应对两组都好(0.228、0.264)。
用停止规则”后验标准差 < 0.3 就停”:随机出题平均要 59.1 题,自适应只要 21.6 题。
现实中的 CAT:GMAT 按题自适应;GRE 在 2011 年前按题自适应,之后改成按”部分”自适应(第一部分做得好,第二部分就更难)。真实系统还要处理题目曝光(信息量最大的好题被所有人做,容易泄露)、内容平衡(不能全是代数题)、多维能力。
4.3 用 IRT 评测大语言模型
大语言模型的基准测试动辄几千、几万道题,每评测一个模型(或一个训练中途的检查点)都要跑一遍,很贵。能不能像 CAT 一样,只做几十道题?
演示 2 的设定:一个 1000 道题的基准。先用 40 个”老模型”的完整作答估计每道题的难度(Rasch,交替牛顿法;估计的难度和真实难度相关 0.963)。然后对 200 个新模型,只让它做 道题,估计它在全部 1000 道题上的正确率:
| A. 随机 k 题,直接数比例 | B. 随机 k 题 + IRT | C. 自适应 k 题 + IRT | D. 自适应 k 题,直接数比例 | |
|---|---|---|---|---|
| 10 | 0.119 | 0.087 | 0.077 | 0.105 |
| 30 | 0.069 | 0.056 | 0.042 | 0.122 |
| 100 | 0.036 | 0.030 | 0.024 | 0.132 |
(正确率估计的平均绝对误差。)
- A 无偏,但误差按 缩小。
- B 用同样的题,只是借助了”每道题有多难”的知识:答对一道难题比答对一道容易题说明更多。先估计能力 ,再预测全部题目的正确率 。这是 tinyBenchmarks(Polo 等 2024)的核心思路。
- C 再加上自适应选题,误差最小。这是 Fluid Benchmarking(Hofmann 等 2025)的思路。
4.4 一个陷阱:自适应之后不能直接数
D 用的是和 C 一样的题,却直接数”答对的比例”——误差最大,而且题越多越差。原因:自适应选题专挑”五五开”的题,无论模型强弱,答对的比例都会接近 50%。
教训:自适应收集的数据,必须用模型(IRT、BT)来解释,不能用”假设数据是随机抽样”的简单统计。 这个陷阱在偏好学习里随处可见:主动选出来的比较对、Chatbot Arena 里按实力配对的对战,直接看原始胜率都会误导人。
【边界】IRT 评测假设模型是对的:题目难度对所有模型都一样(没有”这个模型恰好背过这道题”),能力是一维的。新模型在某类题上有特殊的强项或弱项时,少量题目的估计会有偏差;题目泄露进训练数据(污染)会让难度估计失效。
5. 多维的最优设计
5.1 信息矩阵与三种准则
现在参数是一个向量。第 2 讲的线性 BT:每个回答有特征 ,。一次比较的信息是一个矩阵:
是秩 1 的:一次比较只在一个方向()上提供信息。 次比较的总信息 ( 是先验精度,例如 ),估计的协方差 ≈ 。
“让信息矩阵变大”有几种不同的说法:
| 准则 | 优化什么 | 几何意义 |
|---|---|---|
| D 最优 | 最大化 | 置信椭球的体积最小 |
| A 最优 | 最小化 | 各参数方差之和最小 |
| E 最优 | 最大化 | 最不确定的那个方向尽量确定 |
D 最优最常用:它不受参数缩放的影响(把某个特征乘以 10,最优设计不变),而且计算方便。
5.2 在线选择:矩阵行列式引理与 Sherman–Morrison
逐个挑问题时,每加一个候选 (权重 ),D 准则增加多少?矩阵行列式引理:
这个式子很好读:
- :当前模型在方向 上的方差(还有多不确定);
- :这个问题的答案有多没把握。
D 最优挑两者的乘积最大的问题:既要在”还不确定的方向”上,又要”答案不是预先知道的”。
问了一个问题之后,协方差怎样更新?Sherman–Morrison 公式:
只需要 次运算,而重新求逆要 。代码 03 演示 3: 时 50 次更新,重新求逆约 250 毫秒,Sherman–Morrison 约 25 毫秒,结果在 以内一致。
5.3 五种挑法的比较
代码 03_optimal_design.py 演示 1:50 个回答、6 维特征(各特征在回答之间的差异大小不一:尺度 2.0、1.5、1.0、0.7、0.5、0.3),从 1225 个候选对里依次挑 200 个问。前 6 个随机挑(冷启动:一开始估计全是 0,所有 都是 0.5,按信息挑没有意义)。重复 20 次:
| 问题数 | 随机 | 不确定性采样 | 方差最大 | D 最优 | A 最优 |
|---|---|---|---|---|---|
| 20 | 1.776 | 1.645 | 1.740 | 1.345 | 1.234 |
| 50 | 1.264 | 1.194 | 1.532 | 0.931 | 0.866 |
| 100 | 0.923 | 0.854 | 1.311 | 0.613 | 0.643 |
| 200 | 0.638 | 0.620 | 0.956 | 0.424 | 0.406 |
(权重误差 。)200 个问题时所选问题的特点:
| 随机 | 不确定性采样 | 方差最大 | D 最优 | A 最优 | |
|---|---|---|---|---|---|
| 平均 | 0.346 | 0.139 | 0.457 | 0.238 | 0.285 |
| log det(信息矩阵) | 18.38 | 21.09 | 14.83 | 23.34 | 22.35 |
- 方差最大(只看 ,不管 ):最差,比随机还差。它专挑特征差异最大的对,而这些对的结果几乎一边倒(平均 ),信息很少。
- 不确定性采样(只挑 最接近 0.5 的):问题最”没把握”,比随机略好,但远不如 D / A 最优。原因: 意味着 ——它总在”几乎和 垂直”的方向上提问。这些问题对”边界在哪”很有用,对”沿着 的方向差距有多大”帮助有限,信息也不够分散。
- D、A 最优把两者乘在一起,学得最快:100 个问题的误差(0.61~0.64)和随机挑 200 个差不多。
这个对比是本讲最重要的实践教训:“最不确定”有两个维度——模型在哪个方向上不确定,以及答案有多不确定。只看其中一个都会走偏。 主动学习文献里常见的”不确定性采样”在分类问题上常常有效,但在偏好学习这种”每个问题只在一个方向上提供信息”的设定里,需要信息矩阵的视角。
5.4 一次挑一批
实际的标注流程通常是批量的:一次发给标注团队几十对,等结果回来再挑下一批。直接取”单个问题得分最高的前 名”会怎样?
演示 2(先随机问 15 对、拟合出当前估计,再一次挑 40 对,重复 100 次):
| 挑法 | log det(信息) | 问完后的权重误差 | 批内方向的平均 |余弦| |
|---|---|---|---|
| 随机 40 对 | 13.10 | 1.137 | 0.456 |
| 单个得分前 40 名 | 16.61 | 1.083 | 0.629 |
| 贪心逐个加入 | 17.70 | 0.951 | 0.483 |
“前 40 名”彼此很像:同一个”还不确定的方向”上得分高的对全被选了进来,问了第一个之后,后面的很多是在重复。贪心逐个加入:每选一个,就假装已经问了它,用 Sherman–Morrison 更新协方差,再挑下一个。这之所以可行,是因为第 2.4 节的结论:Fisher 信息不依赖答案,只依赖 (用当前估计)。
为什么贪心有效? 作为”选了哪些问题”的函数是子模的(边际收益递减:已经问了很多相似的问题,再问一个同类问题的收益更小)。对单调子模函数,贪心算法至少能达到最优值的 (Nemhauser、Wolsey、Fisher 1978)。第 10 讲的批量主动学习会用到这一点。
5.5 最优设计的局限
- 局部设计:信息依赖于未知参数( 依赖于 )。只能用当前估计代替;估计错了,挑的问题也会偏。所以要先随机问一些(冷启动),或者用贝叶斯设计:对参数的后验求平均的期望信息(Chaloner & Verdinelli 1995)。
- 短视:贪心地挑”下一个”最好的问题,不保证整个预算下最好。但对子模目标,贪心有近似保证,实践中通常够用。
- 依赖模型正确:最优设计会把问题集中在模型认为最有用的地方。模型错了(例如效用其实是非线性的),集中的设计可能完全看不到模型错在哪里。所以实践中常常留一部分随机问题,用来检查模型、做无偏的评估(第 4.4 节的教训)。
- 目标要明确:D 最优追求”所有参数都准”。如果你只关心”谁是第一”,最优的问题完全不同——应该把比较集中在几个候选冠军之间(第 11~13 讲的最佳臂识别和对决老虎机)。
6. 度量获取:二分搜索一个人心中的指标
6.1 问题
一个医生要用一个诊断分类器。漏诊和误诊都不好,但哪个更糟?“请给出漏诊和误诊的相对代价”——人很难直接回答。可是给他看两个分类器的表现,问”你更愿意用哪个”,他通常答得出来。度量获取(metric elicitation,Hiranandani、Boodaghians、Mehta、Koyejo 2019)就是用这种两两比较,把他心中的评价指标找出来。
设定(代码 04_metric_elicitation.py):病人和健康人的风险分数分别 ~ 、。阈值分类器”分数 > 就判为病人”的真阳性率 、真阴性率 构成一条上凸的边界曲线(ROC 曲线换个坐标)。医生心中的指标是线性的:
6.2 为什么二分搜索可行
两个关键性质:
- 最好的分类器在边界上,而且对线性指标(以及 F1 这类线性分式指标),它一定是某个阈值分类器。所以只需要沿着边界搜索一个数 。
- 沿着边界, 是单峰的(先升后降):边界是凸集的边,线性函数在凸曲线上只有一个峰。
于是:在区间中点 处问” 和 处的分类器,你更喜欢哪个”,如果更喜欢右边的,峰就在右边,丢掉左半。每个问题砍掉一半区间。
找到最好的阈值 后,由一阶条件(切线和指标的等高线平行)反推 。在这个设定里可以算出封闭解:(练习 6)。
6.3 结果
演示 1:问 5、10、20 次后 的误差,对 分别是 、、——按 缩小。对照随机提问(随机挑两个分类器问,每个回答是关于 的一个不等式,记下所有回答都允许的 的范围):
| 问题数 | 随机提问 | 二分搜索 |
|---|---|---|
| 5 | ||
| 10 | ||
| 20 | ||
| 40 |
随机的问题大多”答案早就知道”(两个分类器差得很远,几乎任何 都选同一个),每次只排除很小一部分可能;二分搜索的每个问题都恰好是”五五开”的——在当前的不确定范围内,一半的 会选甲、一半会选乙。这和 Fisher 信息是同一个原则:每个问题最多 1 比特,五五开时才能拿满。
6.4 回答有噪声
真实的人会答错。演示 3(总共允许问 30 次,含重复;报告 的中位数 / 90% 分位数):
| 答错的概率 | 每题问 1 遍 | 每题问 3 遍 | 每题问 5 遍 |
|---|---|---|---|
| 0.00 | / | / | / |
| 0.05 | / | / | / |
| 0.10 | / | / | / |
| 0.20 | / | / | / |
二分搜索很脆弱:某一步答错,峰就被丢到了错误的那一半,后面再怎么问也回不来(90% 分位数一下子变得很大)。每题问 3 遍取多数,大幅降低了每一步出错的概率,代价是步数变少。更系统的做法是”概率二分法”:维护 的后验分布,每次在后验的中位数处提问——这又回到了第 6 讲的贝叶斯更新。
6.5 非线性的指标
演示 4:如果医生心中的指标是 F1(病人比例 0.3),它不是 TPR、TNR 的线性函数,而是线性分式的(分子分母都是线性的),沿边界仍然是单峰的(拟凹)。二分搜索 15 次后找到的阈值 0.1859,和穷举的最优 0.1857 几乎一样。不过,找到最好的分类器不等于知道了指标的全部参数;线性分式指标需要在边界的不同位置多搜几次(原论文给出了完整算法)。
课程的视角:度量获取是”从偏好学习”的另一种形式——被学习的不是”哪个回答更好”,而是”一个人用什么标准评价”。同样的思想可以用来获取公平性指标里不同群体之间的权衡(第 17 讲)。
7. 小结
- Fisher 信息 = 得分的方差 = 负二阶导数的期望。二选一的观察:,五五开时最大。信息相加;Cramér–Rao 下界 ,最大似然在大样本下达到它。
- 对 BT,Fisher 信息矩阵 = 负海森矩阵 = 加权图拉普拉斯,不依赖答案——问题的信息量在问之前就能算出来。
- 自适应设计:信息依赖于未知参数,用当前估计代替,边问边更新。给新模型安排实力相当的对手,能省一半的比赛。
- IRT 与 CAT:难度决定一道题对谁有用,区分度决定有多有用。自适应出题用一半的题测得一样准;停止规则让每个人做到”够准”就停。同样的方法可以用少量题目评测大语言模型——但自适应收集的数据必须用模型解释,不能直接数比例。
- 多维设计:一次比较只在一个方向上提供信息()。D 最优 = 最大化 ,增量 = :同时要求”方向不确定”和”答案没把握”。只看其中一个(不确定性采样、方差最大)都会走偏。
- 批量:贪心地逐个加入(用 Sherman–Morrison 假装已经问了),避免挑一堆重复的问题;log det 的子模性给了近似保证。
- 局限:局部设计(依赖当前估计)、短视、依赖模型正确、目标要明确。留一部分随机问题用于检查和评估。
- 度量获取:沿边界单峰 ⇒ 二分搜索,误差按 缩小;回答有噪声时要重复或用概率二分法。
8. 与测验、口试和项目的关系
- 测验与口试可能会问:推导二选一观察的 Fisher 信息;为什么五五开的比较信息最多;Cramér–Rao 下界说了什么;项目信息函数的形状和难度、区分度的关系;CAT 的算法;为什么自适应选题之后不能直接数正确率;D 最优的增量公式和它的两个因子;为什么不确定性采样不够;批量选择为什么要贪心逐个加入、为什么不需要等答案;度量获取为什么能用二分搜索。
- 期末项目:如果你的项目要收集偏好数据,预分析计划里要写清楚:问哪些对、为什么(随机?自适应?按什么准则?);预算多大、预期达到什么精度(用 Fisher 信息估算);如果是自适应收集,分析时怎样避免第 4.4 节的陷阱;留多少随机问题用于检查模型。
9. 练习
练习 1(估算样本量)。两个模型的胜率大约是 70%。要把实力差的标准误控制在 0.1 以内,大约需要多少场比较?如果胜率是 90% 呢?
参考答案
标准误 。:,。:,。差距越大的两个模型,要把差距估准反而越难——不过如果你只关心”谁更强”,差距大时很快就能确定。
练习 2(两种定义)。对 ,分别用”得分的方差”和”负二阶导数的期望”计算 ,验证都等于 。
参考答案
得分 ,,。二阶导数:,不依赖 ,取负号即 。
练习 3(项目信息)。一道题 、。 (a) 它对 和 的考生的信息各是多少? (b) 一个考生已经做了 20 道题,测验信息是 4.0。再做这道题,他的标准误会从多少降到多少(假设 )?
参考答案
(a) :,。:,,。 (b) 标准误从 降到 。
练习 4(行列式引理与 Sherman–Morrison)。 (a) 验证 Sherman–Morrison 公式:把右边乘以 ,证明结果是单位矩阵。 (b) 由行列式引理,说明 D 最优的贪心选择等价于”挑 最大的候选”。
参考答案
(a) 记 ,。。 (b) , 单调递增,所以最大化它等价于最大化 。
练习 5(不确定性采样的盲点)。二维线性 BT,真实 ,候选的特征差 有两类:( 任意)和 。 (a) 不确定性采样(挑 最接近 0.5 的)会挑哪一类? (b) 只问这一类问题,能估计 吗? (c) D 最优会怎样选?
参考答案
(a) :第一类是 2(),第二类是 0()。不确定性采样永远挑 。 (b) 不能:这类问题的信息矩阵是 ,在 方向上信息为 0。问一万次, 的估计也只由先验决定。 (c) D 最优的增量 :问了几次 之后,第二个方向的方差 变小,第一类问题(第一个方向还完全不确定)的增量就会超过它,D 最优转去问第一类。这就是”两个因子相乘”的作用。
练习 6(度量获取的封闭解)。在代码 04 的设定里(两类的分数分别 ~ ): (a) 证明最好的阈值 和 的关系是 。 (b) 搜索区间是 。要让 的误差小于 ,大约需要问多少次?
参考答案
(a) 一阶条件 ,,,得 。而 ,所以 。 (b) 。 次后阈值区间宽 ,取中点,阈值误差 , 的误差 。要 ,,。(代码 04 里 、 的误差 正好接近这个上界 : 时 最大。)
练习 7(批量选择)。 (a) 为什么可以在没有答案的情况下贪心地挑一整批问题? (b) 这个”不需要答案”在什么情况下不成立?会有什么后果?
参考答案
(a) 信息矩阵 只依赖于问题本身()和预测概率 ,不依赖答案 。用当前估计算 ,就能算出”如果问了这些问题,信息会是多少”。 (b) 依赖于 的估计,而估计会随答案改变。一批问题的答案回来后,估计可能变了很多(特别是一开始数据少时),按旧估计算的 不准,挑的问题也就不再是最优的。后果是批量设计比”每问一个就更新”的完全序贯设计效率低一些;批越大、估计越不准,损失越大。所以一开始用小批量,估计稳定后再加大批量。
练习 8(开放题:冠军识别)。排行榜上有 30 个模型,你只关心”谁是第一”。你会怎样安排比较?和 D 最优有什么不同?
参考答案(思路)
D 最优追求所有分数都准,会花很多比较在排名靠后的模型之间。只关心冠军时,应该:先用少量比较粗略估计所有模型;把明显不可能是第一的模型排除(它们的分数上界低于当前最强者的下界);把剩下的比较集中在几个”候选冠军”之间,尤其是当前最强的两个之间(它们的胜负最不确定,也最关系到结论)。这是第 11~13 讲”最佳臂识别”和”对决老虎机”的思路。
10. 延伸阅读
课程教材
- Truong, Haupt, Koyejo. Machine Learning from Human Preferences. 第 2 章(Fisher 信息、自适应测试、最优设计、度量获取)。
Fisher 信息与估计理论
- Casella, Berger. Statistical Inference(第 2 版). 第 7.3 节(Cramér–Rao 下界)。
- Cover, Thomas. Elements of Information Theory. 第 11 章(Fisher 信息与熵的联系)。
项目反应理论与自适应测试
- Lord. Applications of Item Response Theory to Practical Testing Problems. 1980.
- van der Linden, Glas(编). Elements of Adaptive Testing. 2010.
- Polo et al. tinyBenchmarks: Evaluating LLMs with Fewer Examples. ICML 2024.
- Hofmann et al. Fluid Language Model Benchmarking. 2025.
最优实验设计
- Atkinson, Donev, Tobias. Optimum Experimental Designs, with SAS. 2007.(A / D / E 准则与等价定理)
- Chaloner, Verdinelli. Bayesian Experimental Design: A Review. Statistical Science 1995.
- Nemhauser, Wolsey, Fisher. An Analysis of Approximations for Maximizing Submodular Set Functions. 1978.
- Jamieson, Nowak. Active Ranking using Pairwise Comparisons. NeurIPS 2011.
度量获取
- Hiranandani, Boodaghians, Mehta, Koyejo. Performance Metric Elicitation from Pairwise Classifier Comparisons. AISTATS 2019.
- Hiranandani, Boodaghians, Mehta, Koyejo. Multiclass Performance Metric Elicitation. NeurIPS 2019.
- Hiranandani, Narasimhan, Koyejo. Fair Performance Metric Elicitation. NeurIPS 2020.
11. 下一讲预告
第 5~7 讲回答了”怎样从比较里学偏好、怎样知道学得多准、怎样问得聪明”。学偏好是为了用:第 1 讲的流程图里,奖励模型是用来训练语言模型的。
第 8 讲讲基于人类反馈的强化学习(RLHF):
- 把”生成一段文字”看成一个马尔可夫决策过程:状态是已经写出的词,动作是下一个词,奖励在结尾由奖励模型给出。
- 策略梯度、REINFORCE 与基线;KL 约束的目标和它的解析解 (第 1 讲练习 4);PPO 与 GRPO 的组成部分。
- InstructGPT 的完整流程与数字;Best-of-n 作为对照。
- 奖励过度优化:代理奖励一路上升,真实质量先升后降(Gao 等 2023)。在一个可以穷举所有回答的玩具语言模型上,我们能精确地画出这条曲线,并看清 KL 系数怎样选。