44-机器学习与大模型开发数学教程-4-6 大数定律与中心极限定理

一句话版:**大数定律(LLN)**说"平均 会稳定";中心极限定理(CLT)说"波动的形状会趋近高斯 "。

在机器学习里,它们支撑:小批量梯度 ≈ 真实梯度;评估集的准确率 ≈ 真实准确率;置信区间/误差条能用"± 标准误差"做近似。


1. 两个问题,一对答案

  • 平均会不会准?

    用 nnn 个独立同分布(i.i.d.)样本 X1,...,XnX_1,\dots,X_nX1,...,Xn 的样本均值

    Xˉn=1n∑i=1nXi \bar X_n=\frac{1}{n}\sum_{i=1}^n X_i Xˉn=n1i=1∑nXi

    近不近真实均值 μ=E[X]\mu=\mathbb{E}[X]μ=E[X]?
    LLN :Xˉn→μ\bar X_n \to \muXˉn→μ(概率意义上、甚至几乎处处)。

  • 误差长什么样?
    Xˉn\bar X_nXˉn 围绕 μ\muμ 的波动像什么分布?
    CLT:标准化后的误差

    Zn=n(Xˉn−μ)σ Z_n=\frac{\sqrt{n}(\bar X_n-\mu)}{\sigma} Zn=σn (Xˉn−μ)

    近似 N(0,1)\mathcal{N}(0,1)N(0,1),其中 σ2=Var(X)\sigma^2=\mathrm{Var}(X)σ2=Var(X)。

类比:做奶茶的甜度试喝(均值)会越来越准(LLN);但每次试喝的偏差大致呈"钟形"(CLT),方便画误差条。


2. 样本均值的基本"物理量"

  • 无偏 :E[Xˉn]=μ\mathbb{E}[\bar X_n]=\muE[Xˉn]=μ。
  • 方差(标准误差) :Var(Xˉn)=σ2/n\mathrm{Var}(\bar X_n)=\sigma^2/nVar(Xˉn)=σ2/n,
    SE(Xˉn)=σ/n\mathrm{SE}(\bar X_n)=\sigma/\sqrt{n}SE(Xˉn)=σ/n 。
    这解释了"精度 ∝ 1/\sqrt{n}":样本数 ×4,误差 ÷2。

3. 大数定律(LLN):平均会稳定

3.1 陈述(最常用情形)

若 X1,...,XnX_1,\dots,X_nX1,...,Xn i.i.d.,且 E[∣X∣]<∞\mathbb{E}[|X|]<\inftyE[∣X∣]<∞,则

  • 弱大数定律(WLLN) :Xˉn→Pμ\bar X_n \xrightarrow{P} \muXˉnP μ。
  • 强大数定律(SLLN) :Xˉn→a.s.μ\bar X_n \xrightarrow{\text{a.s.}} \muXˉna.s. μ(几乎必然收敛)。

证明思路(WLLN):Chebyshev 不等式

P(∣Xˉn−μ∣≥ε)≤σ2nε2→0. P(|\bar X_n-\mu|\ge \varepsilon)\le \frac{\sigma^2}{n\varepsilon^2}\to 0. P(∣Xˉn−μ∣≥ε)≤nε2σ2→0.

3.2 何时会"翻车"

  • 厚尾/无均值 :Cauchy 分布没有有限期望,Xˉn\bar X_nXˉn 不收敛(均值"漂来漂去")。
  • 强相关/非独立:时间序列中的自相关会减慢"变准"。
flowchart TD S[抽样 X1,...,Xn] --> M[样本均值 X̄n] M --> C{n 变大} C -->|变大| R["靠近 μ (LLN)"]

说明:样本均值随样本数增长"贴近"真实均值。


4. 中心极限定理(CLT):误差像高斯

4.1 经典版(Lindeberg--Levy)

若 XiX_iXi i.i.d.,EX=μ, VarX=σ2<∞\mathbb{E}X=\mu,\ \mathrm{Var}X=\sigma^2<\inftyEX=μ, VarX=σ2<∞,则

n(Xˉn−μ)σ →d N(0,1). \frac{\sqrt{n}(\bar X_n-\mu)}{\sigma}\ \xrightarrow{d}\ \mathcal{N}(0,1). σn (Xˉn−μ) d N(0,1).

直觉:很多小而独立的影响相加 → 钟形。

4.2 更一般的版本

  • Lyapunov/ Lindeberg--Feller:允许非同分布,但需"单个样本不太重"的条件。

  • Berry--Esseen 误差界:若三阶绝对矩有限,则

    sup⁡x∣P(Zn≤x)−Φ(x)∣≤C⋅ρn, \sup_x\big|P(Z_n\le x)-\Phi(x)\big|\le \frac{C\cdot \rho}{\sqrt{n}}, xsup P(Zn≤x)−Φ(x) ≤n C⋅ρ,

    ρ=E∣(X−μ)/σ∣3\rho=\mathbb{E}|(X-\mu)/\sigma|^3ρ=E∣(X−μ)/σ∣3,常数 CCC 约 0.5~0.8。
    要点收敛速度是 O(1/n)O(1/\sqrt{n})O(1/n )

4.3 小样本怎么办?

  • σ\sigmaσ 未知,用样本标准差 SSS 替代:

    T=n(Xˉn−μ)S∼tn−1(正态假设下) T=\frac{\sqrt{n}(\bar X_n-\mu)}{S}\sim t_{n-1}\quad(\text{正态假设下}) T=Sn (Xˉn−μ)∼tn−1(正态假设下)

    小样本均值的置信区间用 t 分布 更稳。

独立样本 Xi 和/均值 标准化 (减 μ 除 σ/√n) ≈ N(0,1) (CLT)

说明:对"和/均值"做线性标准化后,形状趋近标准正态。


5. 置信区间:用 CLT 给均值加误差条

未知 μ\muμ,用样本均值估计。若 nnn 足够大,

Xˉn±zα/2 Sn \bar X_n \pm z_{\alpha/2}\ \frac{S}{\sqrt{n}} Xˉn±zα/2 n S

给出约 1−α1-\alpha1−α 的近似置信区间 (zα/2z_{\alpha/2}zα/2 是标准正态分位数;小样本用 ttt 分位数)。

:在验证集上测准确率 p^\hat pp^(看作二项均值),标准误差 p^(1−p^)/n\sqrt{\hat p(1-\hat p)/n}p^(1−p^)/n 。

95% 置信区间 p^±1.96p^(1−p^)/n\hat p \pm 1.96\sqrt{\hat p(1-\hat p)/n}p^±1.96p^(1−p^)/n 。


6. 集中不等式 vs CLT:界 vs 形

  • Hoeffding(有界随机变量):

    P(∣Xˉn−μ∣≥ε)≤2exp⁡ ⁣( ⁣−2nε2/(b−a)2). P(|\bar X_n-\mu|\ge \varepsilon)\le 2\exp\!\left(\!-2n\varepsilon^2/(b-a)^2\right). P(∣Xˉn−μ∣≥ε)≤2exp(−2nε2/(b−a)2).

  • Chernoff/ Bernstein:更细粒度(利用方差或 mgf)。

区别

  • 集中不等式给任何 nnn上界("保守但有效");
  • CLT 给大样本时的形状近似误差条 ("精确但渐近")。
    样本复杂度 (PAC 风格):要在置信度 1−δ1-\delta1−δ 内把误差压到 ε\varepsilonε,需要

n≳O ⁣(1ε2log⁡1δ). n \gtrsim O\!\left(\frac{1}{\varepsilon^2}\log\frac{1}{\delta}\right). n≳O(ε21logδ1).


7. 在机器学习/大模型里的"指定座位"

  1. 小批量梯度估计

    批量大小 BBB 时,g^=1B∑i=1Bgi\hat g=\frac{1}{B}\sum_{i=1}^B g_ig^=B1∑i=1Bgi,
    Var(g^)=Var(g)/B\mathrm{Var}(\hat g)=\mathrm{Var}(g)/BVar(g^)=Var(g)/B。
    LLN 保证批均值"越来越准",CLT 让我们把梯度噪声近似成高斯(噪声注入、SDE 视角)。

  2. 评估与 A/B 测试

  • 准确率/点击率是均值,SE =p^(1−p^)/n=\sqrt{\hat p(1-\hat p)/n}=p^(1−p^)/n 。
  • 两模型差值的 SE 可合成,给差值画置信区间或做 z/t 检验。
  1. 集成/Bagging

    平均多个基学习器输出,方差降到 ≈1/K\approx 1/K≈1/K(理想独立)。LLN 给出"为什么平均会稳"。

  2. 蒙特卡洛估计/采样
    E[g(X)]≈1N∑g(Xi)\mathbb{E}[g(X)]\approx \frac{1}{N}\sum g(X_i)E[g(X)]≈N1∑g(Xi),误差 ∼O(1/N)\sim O(1/\sqrt{N})∼O(1/N )。

    在生成模型、贝叶斯推断里,CLT 让我们给蒙特卡洛均值加误差条

  3. 校准与不确定性

    验证集上"分箱校准"的频率估计靠 LLN 稳定;CLT 给每个箱子误差条,避免把噪声当问题。


8. 代码微实验(NumPy):看见 LLN/CLT

python 复制代码
import numpy as np
rng = np.random.default_rng(0)

# 1) LLN: 伯努利均值逐渐稳定到 p
p = 0.3
X = rng.binomial(1, p, size=50000)
running_mean = np.cumsum(X) / np.arange(1, len(X)+1)
print(running_mean[999], running_mean[9999], running_mean[-1])  # 越来越接近 0.3

# 2) CLT: 不同分布的标准化和 ≈ 正态
def clt_demo(sampler, n=1000, trials=10000):
    # 生成 many trials 的样本和,标准化后返回 Z
    S = np.array([sampler(n).sum() for _ in range(trials)], dtype=float)
    mu = sampler(1000000).mean()
    var = sampler(1000000).var()
    Z = (S - n*mu) / np.sqrt(n*var)
    return Z

Z1 = clt_demo(lambda m: rng.exponential(1.0, size=m))   # 指数
Z2 = clt_demo(lambda m: rng.integers(0, 6, size=m))     # 均匀整数
print(np.mean(Z1), np.var(Z1), np.mean(Z2), np.var(Z2)) # 均应接近 0,1

提示:把 Z 画直方图,会看到"钟形"。


9. 常见误区(避坑清单)

  1. 样本太小就用 CLT :nnn 很小、分布偏斜时误差条会乐观;用 t 分布或自助法(bootstrap)。
  2. 忽视依赖 :时序/自相关数据,方差有效自由度小于 nnn,误差估计要增大。
  3. 厚尾分布 :σ2=∞\sigma^2=\inftyσ2=∞ 时 CLT 失效(可能趋向稳定分布而非正态),LLN 也可能不成立。
  4. 错误的"±2SE ≈ 95%":这是正态假设下的近似;强偏态时不可靠。
  5. 数据泄露:用同一验证集反复调参,置信区间不再可信(选择偏差)。
  6. 把集中不等式当精确分布:Hoeffding 给上界,不等于真实尾概率。

10. 练习(含提示)

  1. Chebyshev 证明 WLLN :给出从 Chebyshev 到 P(∣Xˉn−μ∣>ε)→0P(|\bar X_n-\mu|>\varepsilon)\to 0P(∣Xˉn−μ∣>ε)→0 的两步推导。
  2. Berry--Esseen 量化 :对伯努利 Bern(p)\mathrm{Bern}(p)Bern(p),写出 ρ=E∣(X−μ)/σ∣3\rho=\mathbb{E}|(X-\mu)/\sigma|^3ρ=E∣(X−μ)/σ∣3 并估算 nnn 取多大时误差 < 0.05。
  3. t vs 正态 :模拟 n=10,30,100n=10,30,100n=10,30,100 时均值的 95% 置信区间覆盖率,对比用 z 分位数与 t 分位数。
  4. 有界变量的样本复杂度 :对 X∈[0,1]X\in[0,1]X∈[0,1],用 Hoeffding 给出 ∣Xˉn−μ∣≤ε|\bar X_n-\mu|\le \varepsilon∣Xˉn−μ∣≤ε 以概率 ≥ 1−δ1-\delta1−δ 的最小 nnn。
  5. 自相关的影响 :构造 AR(1) 序列 Xt=ϕXt−1+ϵtX_t=\phi X_{t-1}+\epsilon_tXt=ϕXt−1+ϵt,比较"天真 SE"和"考虑有效样本量"的 SE。
  6. 梯度噪声实验 :在一个简单回归任务上,记录不同 batch size 下的梯度方差,验证 ∝1/B\propto 1/B∝1/B。

11. 小结

  • LLN:样本均值随着样本量增大收敛到真实均值("平均会稳定")。
  • CLT :标准化后的均值误差近似正态("波动像高斯"),误差条 ∼\sim∼ 1/n1/\sqrt{n}1/n 。
  • 工程用法:小批量梯度、评估误差条、置信区间、A/B 测试、Monte Carlo 都靠这对"定海神针"。
  • 正确姿势:看样本量、检查厚尾与依赖、必要时用 t 分布或集中不等式/自助法兜底。
相关推荐
Rabbit_QL2 小时前
【LLM评价指标】从概率到直觉:理解语言模型的困惑度
人工智能·语言模型·自然语言处理
呆萌很2 小时前
HSV颜色空间过滤
人工智能
roman_日积跬步-终至千里2 小时前
【人工智能导论】02-搜索-高级搜索策略探索篇:从约束满足到博弈搜索
java·前端·人工智能
FL16238631292 小时前
[C#][winform]基于yolov11的淡水鱼种类检测识别系统C#源码+onnx模型+评估指标曲线+精美GUI界面
人工智能·yolo·目标跟踪
爱笑的眼睛113 小时前
从 Seq2Seq 到 Transformer++:深度解构与自构建现代机器翻译核心组件
java·人工智能·python·ai
小润nature3 小时前
AI时代对编程技能学习方式的根本变化(1)
人工智能
AI即插即用4 小时前
即插即用系列 | ECCV 2024 WTConv:利用小波变换实现超大感受野的卷积神经网络
图像处理·人工智能·深度学习·神经网络·计算机视觉·cnn·视觉检测
愚公搬代码4 小时前
【愚公系列】《扣子开发 AI Agent 智能体应用》003-扣子 AI 应用开发平台介绍(选择扣子的理由)
人工智能