机器学习数学基础 120 章

偏差—方差分解

层级:A|必学

1. 为什么训练集换一次,模型就会变

学习算法输入随机训练集 DD,输出函数 f^D\hat f_D。测试误差来自不可约噪声、平均预测与真实规律的系统差异(偏差),以及模型对训练集变化的敏感程度(方差)。

2. 回归设定

假设

Y=f(X)+ϵ,Y=f^*(X)+\epsilon, E[ϵX]=0,Var(ϵX=x)=σ2(x).E[\epsilon|X]=0, \qquad Var(\epsilon|X=x)=\sigma^2(x).

固定测试点 xx,训练集 DD 随机,模型预测 f^D(x)\hat f_D(x)

3. 分解公式

对平方误差,对训练集与新标签随机性取期望:

ED,Yx[(Yf^D(x))2]=σ2(x)+(ED[f^D(x)]f(x))2+ED[(f^D(x)EDf^D(x))2].E_{D,Y|x}[(Y-\hat f_D(x))^2] =\sigma^2(x) +\left(E_D[\hat f_D(x)]-f^*(x)\right)^2 +E_D\left[(\hat f_D(x)-E_D\hat f_D(x))^2\right].

三项:噪声、偏差平方、方差。

4. 推导

fˉ(x)=ED[f^D(x)].\bar f(x)=E_D[\hat f_D(x)].

Yf^D=ϵ+[ffˉ]+[fˉf^D].Y-\hat f_D =\epsilon+[f^*-\bar f]+[\bar f-\hat f_D].

平方取期望,交叉项因条件均值为零而消失,得到三项平方和。正交式分解依平方损失;其他损失没有完全相同公式。

5. 偏差

Bias(x)=fˉ(x)f(x).Bias(x)=\bar f(x)-f^*(x).

高偏差常来自:

  • 模型类过于简单;
  • 正则过强;
  • 特征缺失;
  • 优化未到位(广义上);
  • 错误结构假设。

训练和验证误差都高常提示欠拟合,但也可能是标签错误或目标不可能。

6. 方差

Variance(x)=ED[(f^D(x)fˉ(x))2].Variance(x)=E_D[(\hat f_D(x)-\bar f(x))^2].

高方差常来自:

  • 模型相对样本太灵活;
  • 数据少或噪声大;
  • 特征共线/病态;
  • 超参数/结构选择不稳定;
  • 训练算法随机性。

训练误差低、验证误差明显高常提示过拟合/高方差。

7. 不可约噪声

σ2(x)=Var(YX=x).\sigma^2(x)=Var(Y|X=x).

在当前输入信息与平方损失下,即使知道 f(x)=E[Yx]f^*(x)=E[Y|x] 也无法消除。添加真正有信息的特征可把原先“噪声”变成可解释结构,因此“不可约”是相对于信息集。

标签测量错误可能可通过改进数据流程降低,不应轻易当作自然噪声。

8. 模型复杂度的经典图景

复杂度增加时常见:

  • 偏差下降;
  • 方差上升;
  • 测试误差 U 形。

正则化、早停、数据增强与集成调整该权衡。现代过参数模型可能出现 double descent,故 U 形是有用直觉而非普适定律。

9. Bagging 降方差

MM 个模型同方差 σf2\sigma_f^2、误差相关 ρ\rho,平均预测方差:

σf2(ρ+1ρM).\sigma_f^2\left(\rho+\frac{1-\rho}{M}\right).

基模型越不相关,平均越有效。随机森林通过 bootstrap 与特征随机化降低树之间相关性;树本身低偏差高方差。

10. Boosting 与偏差

Boosting 逐步拟合前一轮错误,常首先降低偏差,也可能继续降低方差/改变 margin。轮数过多与噪声下仍可能过拟合,需 shrinkage、树深和早停控制。

11. 估计偏差与模型偏差不要混淆

  • 参数估计偏差:E[θ^]θE[\hat\theta]-\theta
  • 预测偏差:ED[f^D(x)]f(x)E_D[\hat f_D(x)]-f^*(x)
  • 数据偏差:抽样/测量系统性偏差;
  • 社会公平 bias:另有规范含义。

同一个词在不同语境不同,报告时明确。

12. 实际诊断方法

  • 学习曲线:训练样本增加时训练/验证误差;
  • 多次重采样或 seed:预测波动;
  • 比较训练与验证 gap;
  • 增减模型容量与正则;
  • 检查噪声、泄漏、分布偏移;
  • 分群查看偏差与方差,不只全局平均。

单次 train/val 分数无法直接数值分解三项。

易错点

  1. 分解经典形式针对平方损失。
  2. 高训练误差不一定只因模型简单,可能优化/数据问题。
  3. 不可约噪声依可用特征信息。
  4. 增加数据通常主要降方差,不一定修复模型偏差。
  5. 集成模型高度相关时降方差有限。

常见问答

Q1:正则化为什么可能提高训练误差却降低测试误差?

它引入偏差、降低对样本噪声的敏感性,方差下降超过偏差增加时测试 MSE 下降。

Q2:更多数据能解决欠拟合吗?

若模型类无法表示关系,更多数据只更确定地学到错误近似;需要特征/模型/目标改变。

Q3:随机 seed 方差就是统计方差吗?

只覆盖初始化、顺序等算法随机性;完整预测方差还包括训练数据抽样变化。

练习

  1. 写出平方损失偏差—方差分解三项。
  2. 高偏差/高方差的典型训练验证表现。
  3. Bagging 为什么需要基模型多样性?
  4. 正则化如何改变偏差方差?
  5. “不可约噪声”为什么依特征集?

答案与提示

  1. 噪声方差、预测偏差平方、训练集导致预测方差。
  2. 高偏差两者都高;高方差训练低、验证高。
  3. 相关误差不会被平均抵消。
  4. 通常增偏差、降方差。
  5. 新信息可解释原本在给定旧特征下随机的部分。