← 返回信息流
AI 资讯Hacker News·4 天前

有效样本量

原标题:The Effective Sample Size

速览

有效样本量是统计学和机器学习中衡量数据信息量的关键指标。它反映了在考虑样本相关性或权重后,等效的独立同分布样本数量。准确理解该概念有助于更科学地评估模型性能及数据质量。

AI 深度解读

有效样本量(The Effective Sample Size):重加权背后的隐性成本

背景

在机器学习和统计推断中,修正协变量偏移(Covariate Shift)是一项常见且关键的任务。几年前,我曾撰文讨论如何通过数据重加权(Reweighting)来解决这一问题:当你的特征数据来自错误的分布 $q$,而你真正关心的是目标分布 $p$ 时,可以通过为每个观测值赋予权重 $\beta_i = p(x_i)/q(x_i)$ 来校正偏差,从而使估计量再次保持无偏。

然而,在那篇文章的结尾,我承认了一个被忽视的问题:这些权重“可能会偏离得很远”,并承诺另找时间深入探讨。当时我跳过了一个更基础的问题:即使权重完全正确,它们会付出什么代价?

重加权确实能减少偏差,但它同时也增加了方差。而这种增加方差的“货币”有一个特定的名称——有效样本量(Effective Sample Size, ESS)

核心内容

为什么正确的权重依然会损害估计效果?

直觉可以通过以下场景理解:假设数据来自标准正态分布 $N(0,1)$,而目标分布是 $N(\mu,1)$。此时,正确的权重函数为 $w(x) = e^{\mu x - \mu^2/2}$。

这个权重分布极不均匀:处于目标分布 $p$ 质量集中的稀有点会被赋予巨大的权重,而其他大部分点几乎被忽略。即使偏移量仅为 $\mu = 2$,最重的 1% 的观测值就承载了总权重的 37%,而实际上可用的数据比例已经降至 2% 以下。

当少数几个点主导了估计结果时,其余数据实际上被忽略了。此时,如果这少数几个点中存在误差(如离群点、标签错误或权重计算轻微偏差),这些误差将直接冲击最终答案,没有任何其他数据来平均或抵消这些错误。你并没有获得 $n$ 个观测值,你只是获得了几点数据,并给它们披上了“众多”的外衣。因此,我们需要量化:你实际上到底获得了多少个有效观测值?

计算你实际获得的样本量

为了量化这一点,我们将权重归一化,使得 $|\alpha|_1 = \sum_i \alpha_i = 1$,并定义有效样本量为:

$$ n_{\mathrm{eff}} = \frac{1}{|\alpha|_2^2} = \frac{1}{\sum_i \alpha_i^2} $$

  • 等权重情况:如果 $\alpha_i = 1/n$,则 $\sum_i \alpha_i^2 = 1/n$,因此 $n_{\mathrm{eff}} = n$。这意味着没有任何浪费,所有数据都同等有效。
  • 单点主导情况:如果所有权重都集中在一个点上,则 $n_{\mathrm{eff}} = 1$。这相当于只有一个样本。
  • 中间情况:其他情况介于两者之间。

这就是著名的 Kish 有效样本量。接下来,我们将通过两个不同领域的推导来解释为什么这个函数是合理的。

推导一:正态随机变量之和的方差

假设 $x_i$ 是独立同分布(iid)的 $N(0,1)$ 变量,我们构建加权平均值 $\bar x = \sum_i \alpha_i x_i$。由于独立性,其方差为:

$$ \mathrm{Var}[\bar x] = \sum_i \alpha_i^2 ,\mathrm{Var}[x_i] = |\alpha|_2^2 $$

对于一个包含 $m$ 个 iid 单位方差变量的普通平均值,其方差为 $1/m$。令 $1/m = |\alpha|_2^2$,则得到 $m = |\alpha|2^{-2} = n{\mathrm{eff}}$。

结论:加权平均值的噪声程度,恰好等同于对 $n_{\mathrm{eff}}$ 个新抽取的未加权样本进行平均时的噪声程度。这是通过一行方差代数得出的最快捷定义。

推导二:霍夫丁不等式(Hoeffding’s Inequality)

方差描述的是平均情况,而霍夫丁不等式控制的是最坏情况(尾部概率)。假设 $x_i$ 是 iid 且在 $[0,1]$ 区间内,均值分别为 $\mathbb{E}[x_i]$,同样取 $\bar x = \sum_i \alpha_i x_i$。

每一项 $x_i$ 落在宽度为 $\alpha_i$ 的区间内。根据霍夫丁不等式(针对有界变量的切尔诺夫界论证),我们有:

$$ \Pr\big(|\bar x - \mathbb{E}[\bar x]| \ge t\big) \le 2\exp!\left(-\frac{2t^2}{\sum_i \alpha_i^2}\right) = 2\exp!\left(-2,n_{\mathrm{eff}},t^2\right) $$

教科书中等权重平均值的界限是 $2\exp(-2 n t^2)$。两者的形式完全一致,唯一的区别是样本量 $n$ 被替换为了 $n_{\mathrm{eff}}$。

结论:无论通过方差还是尾部概率来衡量散布程度,重加权之和的集中程度不由你拥有的点数决定,而由你有效拥有的点数决定。

应用场景:回放缓冲区(Replay Buffer)

在离线策略强化学习(Off-policy Reinforcement Learning)中,有效样本量是一个关键的调节旋钮。

回放缓冲区存储的是由早期策略(行为策略 $b$)收集的数据,但我们希望改进当前正在运行的策略(当前策略 $\pi$)。这里的校正方法与协变量偏移相同:将每个存储的转换(transition)权重设为当前策略 $\pi$ 与行为策略 $b$ 之比 $\pi/b$。

随着当前策略逐渐偏离缓冲区中的数据分布,这些权重会趋于集中,导致缓冲区相对于你真正关心的策略的有效样本量急剧下降,其变化曲线正如前文所述。

在这种情况下,$n_{\mathrm{eff}}$ 不仅仅是一个事后读取的数字,它成为了一个诊断控制信号

  1. 缓冲区还保留了多少真实信息?
  2. 当数据过于陈旧无法复用时,何时停止使用?
  3. 当前批次支持多大的更新步长?

对算法进行校准,使其适应其自身的有效样本量,正是 P3O 算法所做的,也是我们在 FeynRL 中实现的核心逻辑。

此外,有效样本量还有许多其他应用。例如,在序列蒙特卡洛方法(Sequential Monte Carlo,即粒子滤波 Particle Filter)中,它被用作诊断指标,以决定何时对当前分布进行重采样,从而获得权重更均匀的粒子集合。

关键要点

  • 重加权的双刃剑:重加权可以修正协变量偏移带来的偏差,但代价是增加方差。这种方差增加的度量即为有效样本量(ESS)。
  • ESS 的定义:对于归一化权重 $\alpha_i$,有效样本量定义为 $n_{\mathrm{eff}} = 1 / \sum_i \alpha_i^2$(即 Kish 的 ESS)。
  • 直观理解
    • 当权重均匀分布时,$n_{\mathrm{eff}}$ 等于实际样本数 $n$。
    • 当权重极度不均(少数点主导)时,$n_{\mathrm{eff}}$ 远小于 $n$,甚至接近 1。
    • 这意味着你并没有利用所有数据的信息,而是依赖少数几个高权重点,导致估计对噪声和异常值极其敏感。
  • 理论支撑
    • 方差角度:加权估计的方差等同于 $n_{\mathrm{eff}}$ 个未加权样本的平均方差。
    • 概率角度:重加权估计的尾部概率界限(Hoeffding 界)中,样本量 $n$ 被 $n_{\mathrm{eff}}$ 替代。
  • 在强化学习中的应用:在离线策略 RL 中,随着当前策略与行为策略差异
查看原文 →alex.smola.org