4.11 统计显著性检验
构建系统时经常需要比较两个系统的性能。怎样知道新系统是否优于旧系统,或优于文献中的其他系统?这是统计假设检验(statistical hypothesis testing)所研究的问题。本节将介绍 NLP 分类器的统计显著性检验,主要参考 Dror et al.(2020)和 Berg-Kirkpatrick et al.(2012)。
假设用 或正确率等指标 比较分类器 A 和 B。例如,要判断新的情感分类器 A 在测试集 上的 是否高于旧分类器 B。用 表示系统 A 在 上的得分,并将 A 与 B 的性能差定义为:
我们想知道 是否成立,即 A 的 是否更高。 称为效应量(effect size):值大说明 A 看起来比 B 好很多,值小说明只好一点。
为什么不能只检查 是否为正?假设 A 的 比 B 高 .04,也不能断定 A 更好,因为 A 可能只是在这个特定测试集上偶然占优。我们还要知道,换一个测试集 或其他条件后,A 相对 B 的优势是否很可能再次出现。
统计假设检验用两个假设将其形式化:
称为零假设(null hypothesis),假定 实际为负或为零,即 A 并不优于 B。我们希望判断能否有把握地排除它,转而支持“A 更好”的 。
令随机变量 遍历所有测试集。然后问:若零假设 正确,把实验重复许多次时,观察到当前 或更大值的可能性有多高?这个可能性由 p 值(p-value)形式化:
也就是说,p 值是在“A 不优于 B”的假设下观察到当前差异的概率。若 极大(例如 A 的 ,B 仅为 .2),在 为真时便很不寻常,p 值会很低;若 很小,即使 为真也不足为奇,p 值就会较高。
很小的 p 值意味着观测差异在零假设下极不可能出现,因此可以拒绝零假设。常用阈值为 .05 或 .01。例如阈值 .01 表示:若在 为真时观察到当前差异的概率小于 .01,就拒绝 ,认为 A 的确优于 B。当观测差异的概率低于阈值、因而拒绝零假设时,就称结果具有统计显著性(statistical significance)。
如何计算 p 值?NLP 通常不用 t 检验或 ANOVA 等简单的参数检验,因为它们对检验统计量分布所作的假设(如正态性)通常并不成立。NLP 更常使用基于采样的非参数检验(non-parametric tests),人为构造许多实验设置的版本。如果有大量不同测试集 ,就可以测量每个 ,得到一个分布。设阈值为 .01;若分布中至少 99% 的差异小于当前观测差异,即出现如此大 的概率小于 .01,就可拒绝零假设,认为 A 确实优于 B。
NLP 常用两种非参数检验:近似随机化检验(approximate randomization;Noreen, 1989)和自助法检验(bootstrap test)。下面介绍最常见的配对自助法。配对检验(paired test)比较两组对齐的观测,每组中的一个观测都能与另一组中的观测配对。比较两个系统在同一测试集上的表现时自然满足这一点:系统 A 在单个样本 上的表现可与系统 B 在同一 上的表现配对。
4.11.1 配对自助法检验¶
自助法检验(bootstrap test;Efron and Tibshirani, 1993)适用于准确率、召回率、,乃至机器翻译中的 BLEU 等任何指标。自助采样(bootstrapping)是从原始集合中反复进行大量有放回采样,所得样本称为自助样本。其直觉是:可以从一个已观测的测试集中反复采样,创建许多虚拟测试集。该方法只假设样本能够代表总体。
考虑一个很小的文本分类例子,测试集 只有 10 篇文档。图 4.11 第一行展示分类器 A 和 B 的结果。每篇文档有四种情形:两者都正确、都错误、A 对 B 错,或 A 错 B 对。若简单地以正确率为指标,A 的正确率为 .70,B 为 .50,因此 。
随后创建大量(例如 105 个)大小均为 的虚拟测试集 。创建每个虚拟测试集时,从原测试集 中进行 次有放回抽样,每次抽取一篇文档及其金标准标签和两个分类器的判断结果。
有了 个测试集形成的采样分布,就可以统计 A 偶然占优的频率。以下采用 Berg-Kirkpatrick et al.(2012)的版本。在 (A 不优于 B)下,许多测试集上的 期望应为零或负数,远高于零便很反常。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | A% | B% | ||
原始测试集中的配对结果 | .70 | .50 | .20 | ||||||||||
第一次有放回采样结果 | .60 | .60 | .00 | ||||||||||
第二次有放回采样结果 | .60 | .70 | -.10 | ||||||||||
… | |||||||||||||
图 4.11 配对自助法检验:从真实测试集 创建 个伪测试集 。每个伪测试集由 次有放回抽样生成;每个样本是一篇带金标准标签以及 A、B 正误结果的文档。真实测试集当然不会只有 10 个样本, 也需要足够大。
若直接从均值为零的分布采样,p 值可统计 超过零达观测差异 的频率。但自助样本取自原测试集 ,而该测试集本身已经偏向 A(这里偏差为 .20),所以样本分布的期望不是零。要衡量观测到的 有多反常,应统计 超过其期望 达到另一个 的频率:
其中 在命题 为真时取 1,否则取 0。假设有 10,000 个自助测试集,阈值为 .01;若仅 47 个测试集满足 ,则 p 值为 .0047,小于 .01。这说明观测到的差异不太可能由偶然造成,可以拒绝零假设并认为 A 优于 B。
图 4.12 依据 Berg-Kirkpatrick et al.(2012)的配对自助法算法。输入测试集 和采样次数 ,统计 个自助测试集中满足 的比例,该比例就是单侧经验 p 值。