偏差—方差分解
层级:A|必学
1. 为什么训练集换一次,模型就会变
学习算法输入随机训练集 ,输出函数 。测试误差来自不可约噪声、平均预测与真实规律的系统差异(偏差),以及模型对训练集变化的敏感程度(方差)。
2. 回归设定
假设
固定测试点 ,训练集 随机,模型预测 。
3. 分解公式
对平方误差,对训练集与新标签随机性取期望:
三项:噪声、偏差平方、方差。
4. 推导
令
写
平方取期望,交叉项因条件均值为零而消失,得到三项平方和。正交式分解依平方损失;其他损失没有完全相同公式。
5. 偏差
高偏差常来自:
- 模型类过于简单;
- 正则过强;
- 特征缺失;
- 优化未到位(广义上);
- 错误结构假设。
训练和验证误差都高常提示欠拟合,但也可能是标签错误或目标不可能。
6. 方差
高方差常来自:
- 模型相对样本太灵活;
- 数据少或噪声大;
- 特征共线/病态;
- 超参数/结构选择不稳定;
- 训练算法随机性。
训练误差低、验证误差明显高常提示过拟合/高方差。
7. 不可约噪声
在当前输入信息与平方损失下,即使知道 也无法消除。添加真正有信息的特征可把原先“噪声”变成可解释结构,因此“不可约”是相对于信息集。
标签测量错误可能可通过改进数据流程降低,不应轻易当作自然噪声。
8. 模型复杂度的经典图景
复杂度增加时常见:
- 偏差下降;
- 方差上升;
- 测试误差 U 形。
正则化、早停、数据增强与集成调整该权衡。现代过参数模型可能出现 double descent,故 U 形是有用直觉而非普适定律。
9. Bagging 降方差
个模型同方差 、误差相关 ,平均预测方差:
基模型越不相关,平均越有效。随机森林通过 bootstrap 与特征随机化降低树之间相关性;树本身低偏差高方差。
10. Boosting 与偏差
Boosting 逐步拟合前一轮错误,常首先降低偏差,也可能继续降低方差/改变 margin。轮数过多与噪声下仍可能过拟合,需 shrinkage、树深和早停控制。
11. 估计偏差与模型偏差不要混淆
- 参数估计偏差:;
- 预测偏差:;
- 数据偏差:抽样/测量系统性偏差;
- 社会公平 bias:另有规范含义。
同一个词在不同语境不同,报告时明确。
12. 实际诊断方法
- 学习曲线:训练样本增加时训练/验证误差;
- 多次重采样或 seed:预测波动;
- 比较训练与验证 gap;
- 增减模型容量与正则;
- 检查噪声、泄漏、分布偏移;
- 分群查看偏差与方差,不只全局平均。
单次 train/val 分数无法直接数值分解三项。
易错点
- 分解经典形式针对平方损失。
- 高训练误差不一定只因模型简单,可能优化/数据问题。
- 不可约噪声依可用特征信息。
- 增加数据通常主要降方差,不一定修复模型偏差。
- 集成模型高度相关时降方差有限。
常见问答
Q1:正则化为什么可能提高训练误差却降低测试误差?
它引入偏差、降低对样本噪声的敏感性,方差下降超过偏差增加时测试 MSE 下降。
Q2:更多数据能解决欠拟合吗?
若模型类无法表示关系,更多数据只更确定地学到错误近似;需要特征/模型/目标改变。
Q3:随机 seed 方差就是统计方差吗?
只覆盖初始化、顺序等算法随机性;完整预测方差还包括训练数据抽样变化。
练习
- 写出平方损失偏差—方差分解三项。
- 高偏差/高方差的典型训练验证表现。
- Bagging 为什么需要基模型多样性?
- 正则化如何改变偏差方差?
- “不可约噪声”为什么依特征集?
答案与提示
- 噪声方差、预测偏差平方、训练集导致预测方差。
- 高偏差两者都高;高方差训练低、验证高。
- 相关误差不会被平均抵消。
- 通常增偏差、降方差。
- 新信息可解释原本在给定旧特征下随机的部分。