Bias-Variance Tradeoff

0 阅读9分钟

补充笔记 · Bias-Variance Tradeoff(金字塔结构梳理)

来源:Unit 2 additional-readings 延伸讨论 + 跨场景梳理(RL / LLM / 经典 ML) 用途:复习 bias-variance 的统一框架。按金字塔原理组织:塔尖=核心结论,塔身=支撑论点,塔基=细节例子。


🔺 塔尖:核心结论(一句话)

bias/variance 是「用数据估计未知量」这件事的两个属性:bias = 准不准(系统性偏离真值),variance = 稳不稳(换批样本波动多大)。它们是【整个估计流程】的属性,不是模型大小或训练方法单独的——模型大小、回归目标(MC/TD)、损失函数、数据量、正则化都是改变估计量的「旋钮」,拧任何一个都会动 bias/variance。不同领域谈不同旋钮,只因为那里主导杠杆不同。


🔹 塔身:四个支撑论点

论点一:精确定义——bias 和 variance 都是「跨样本」的统计量

bias = 系统性偏离(准不准)
bias = E[估计值] − 真值
  • 跨很多批样本取平均后还偏 = 高 bias
  • 直观(打靶):弹着点整体偏离靶心
variance = 波动(稳不稳)
variance = E[(估计值 − E[估计值])²]
  • 跨很多批样本,估计值彼此散布多大(围绕自己的平均,不是围绕真值)
  • 直观(打靶):弹着点散开多远
关键区分:变样 ≠ 偏,不变样 ≠ 准
  • 个体波动大(高 variance)但平均可能准(低 bias)——随机波动会抵消
  • 个体稳定(低 variance)但平均可能偏(高 bias)——稳定地偏同一方向
数字例子(真值 f(x) = 5)
模型5 批数据的预测平均biasvariance
复杂模型2, 8, 4, 9, 25(=真值)低(平均准)高(散布大)
简单模型3.0, 3.1, 2.9, 3.0, 3.23.04(≠5)高(平均偏)低(散布小)

复杂模型个体都「不准」(2≠5, 8≠5),但随机分布在 5 两边 → 平均=5 → bias 低。 简单模型个体都「稳定」(~3),但系统性偏 → 平均=3.04≠5 → bias 高。

打靶四象限
bias 低bias 高
variance 低密集在靶心 ✅密集在靶心外(整体偏)
variance 高散开但中心=靶心散开且中心偏 ❌

论点二:四个旋钮统一框架——bias/variance 是整个估计流程的属性

估计量 = 模型类 ∘ 回归目标 ∘ 损失函数 ∘ 数据 ∘ 正则化
一个估计量(estimator)由五部分构成,拧任何一个都改 bias/variance:

旋钮 A:模型类(大小/复杂度)   → 改变「能表示什么」
旋钮 B:回归目标(MC/TD, OLS/Ridge)→ 改变「用什么当 target」
旋钮 E:损失函数(MSE/MAE/Huber)  → 改变「用什么误差度量去优化」
旋钮 C:数据(量/质量)          → 改变「多少随机样本」
旋钮 D:正则化(dropout/KL/early stop)→ 改变「约束多强」
旋钮 E(损失函数)单独说明

同一个回归目标,换 loss 会得到不同的估计量:

Loss估计的是bias/variance
MSE(L2)条件均值高斯噪声下无偏;对 outlier 极敏感 → 有 outlier 时 variance 暴涨
MAE(L1)条件中位数对 outlier 鲁棒 → 重尾下 variance 低;噪声不对称时有 bias
Huber两者拼接δ 参数 = 字面上的 bias-variance 拨盘(小误差二次无偏、大误差线性鲁棒)

实际例子:

  • LLM label smoothing:故意引入 bias(软标签)换 variance 下降(不过度自信/不过拟合标签噪声)
  • DQN 用 Huber 代替 MSE:压制大 TD error 的剧烈拉动 → 训练更稳(variance 低)
  • 深层点:经典分解 测试误差 = bias² + variance + 噪声 只对 squared loss 精确成立;换 0-1/cross-entropy 要用广义分解(ambiguity decomposition)。loss 还决定了这个框架以什么形式适用。
平行性:MC/TD = OLS/Ridge = 小/大模型
领域旋钮 B(回归目标)的两个选择bias/variance
RLMC(用 G_t)vs TD(用 R+γV(S'))MC 低 bias 高 variance;TD 高 bias 低 variance
回归OLS(无约束)vs Ridge(加 L2)OLS 低 bias 高 variance;Ridge 高 bias 低 variance
LLM小模型 vs 大模型小模型高 bias 低 variance;大模型低 bias 高 variance

MC/TD 之于 RL,就像 OLS/Ridge 之于回归、小/大模型之于 LLM——都是「怎么构造估计量」的不同选择,数学上完全平行。

为什么不同领域谈不同旋钮
场景主导旋钮为什么你听到的说法
经典 ML / LLMA 模型大小算法固定(SGD),数据固定,能调的主要是模型多大「越大 variance 越高」「U 形曲线」
RL(MC vs TD)B 估计公式模型常固定(Q 表/固定网络),能调的主要是用 G_t 还是 R+γV'「TD 低 variance」「MC 高 variance」
数据科学C 数据量模型算法固定,能调的是收多少数据「数据越多 variance 越低」
正则化调参D 约束强度显式拨盘「正则化用 bias 换 variance」

不是「有时看模型、有时看方法」,而是「模型和方法都是估计量的组成部分,改哪个都改 bias/variance,不同场景主导杠杆不同」。


论点三:经典图像 vs 现代修正

经典 U 形曲线(bias-variance tradeoff)
模型复杂度  低 ────────────────→ 高
bias        高(够不到真值)      低(能拟合任何东西)
variance    低(被约束,换数据也差不多)  高(对噪声敏感,换数据就变样)
总误差      高 → 最低点 → 高(U 形)
  • 欠拟合 = 高 bias + 低 variance(笨得稳定)
  • 过拟合 = 低 bias + 高 variance(聪明但敏感)
  • 调复杂度 = 在 bias 和 variance 之间找平衡
现代修正:double descent(双下降)
测试误差
  |\
  | \        /\  ← 插值阈值(峰值:模型刚好能完美拟合训练数据)
  |  \      /  \
  |   \    /    \________  ← 第二次下降
  |    \  /
  |     \/  ← 经典 U 形最低点
  +──────────────────────→ 复杂度

关键纠正(常见误解):

  • ❌ 不是「达到多少 B 参数进入第二次下降」
  • ✅ 是「越过插值阈值后再降」,阈值取决于数据量和模型家族,不是固定 B 数
  • x 轴是复杂度(参数量 / epoch 数 / 特征数 / 正则化倒数),不只是参数量
  • epoch-wise 双下降:不加参数、只训更久也能出现 → 证明和绝对参数量无关
  • LLM 极度过参数化 → 早就在第二下降区 → 经验上「bigger is better」,没有「到 XB 才触发」一说
  • 机制仍是活跃研究(benign overfitting、NTK 等),不是 settled 规则

论点四:两个场景的具体样子(落地)

RL 游戏(Frozen Lake / Lunar Lander / Atari)

被估计的是 Q 值 / V 值(及导出的 policy)。

bias 大bias 小variance 大variance 小
症状自信地一直犯同一个错(Q 系统性偏)大方向对(Q 平均准)同状态行为忽对忽错、训练曲线锯齿震荡行为一致、曲线平滑上升
Frozen Lake一直不往右走(Q(右) 被系统性低估,bootstrapping 用了 V=0)多局平均能到终点Q(起点,右) 被 MC 更新得忽高忽低(G_t 在 −10~+10 摆)TD 更新小步微调,成功率稳步到 100%
Lunar Landervalue 系统性低估着陆价值 → 一直提前坠毁大多数局能着陆ep_rew_mean 大幅震荡(−50→+100→−80)ep_rew_mean 平滑上升
最佳———训练充分后 bias 低 + variance 低 ✅

Q-Learning(TD)受欢迎的原因:低 variance 让训练稳定,bias 靠多训练慢慢减小。

LLM 微调(LoRA)

被估计的是任务能力。

bias 大(欠拟合)bias 小variance 大(过拟合)variance 小
原因rank 太小 / epoch 太少rank 够大rank 太大 + 数据太少rank 适中 + 数据够 + 正则化
症状系统性学不会,换数据也一样差;训练测试都差有能力学会任务训练集完美但测试集崩;换数据微调「性格」大变;输出不稳定稳定可复现,泛化好
LoRA 例子r=1 微调医疗问答 → 还是泛泛而谈,系统答不准r 适中 → 大多数问题答对r=256 + 50 条数据 → 死记硬背,新问题胡言乱语;换 50 条重训行为全变r 适中 + 数据多样 + dropout → 换数据微调行为稳定

调 LoRA rank r = 在 bias-variance 之间找平衡:r 小→高 bias(学不动);r 大→高 variance(过拟合)。

共同骨架
  • bias = 系统性偏:RL「一直犯同一个错」/ LLM「一直学不会」
  • variance = 对随机样本敏感:RL「行为忽对忽错、曲线抖」/ LLM「换数据就变样、输出不稳定」

🔻 塔基:实用结论(这个 tradeoff 现在还活跃吗)

领域活跃吗工作中怎么碰到
RL(游戏/控制)✅ 显式核心调 PPO 的 gae_lambda/gamma(λ→0 偏 TD,λ→1 偏 MC,就是 bias-variance 拨盘);Double Q 治 maximization bias
LLM 监督微调⚠️ 概念在、术语淡出调 LoRA rank、epochs、数据量、正则化;口语说「过拟合/泛化」而非「variance」
RLHF(RL+LLM)✅ 非常活跃KL penalty = 用 bias 换 variance;reward model 过拟合 = variance 失控;PPO+GAE 又回到 λ 拨盘
现代 DL 理论🔄 被修正中double descent、benign overfitting 让经典 U 形变微妙,但核心区分仍根本

一句话:bias-variance 没过时。RL 里是显式旋钮(你跑 PPO 已在调),LLM 里换了口语词(过拟合/泛化/正则化)但概念无处不在,RLHF 里两者合流最活跃。只是现代超大模型让「复杂度→variance」的经典映射变微妙(double descent)。


关键术语对照

中文English
偏差 / 方差bias / variance
偏差-方差权衡bias-variance tradeoff
估计量estimator
系统性偏离systematic deviation
波动 / 散布fluctuation / spread
欠拟合 / 过拟合underfitting / overfitting
插值阈值interpolation threshold
双下降double descent
良性过拟合benign overfitting
模型类 / 假设空间hypothesis class / hypothesis space
自举bootstrapping
正则化regularization
岭回归Ridge regression
普通最小二乘OLS (Ordinary Least Squares)
广义优势估计GAE (Generalized Advantage Estimation)
低秩适配LoRA (Low-Rank Adaptation)

一句话记忆(塔尖浓缩)

bias = 准不准(平均偏离真值);variance = 稳不稳(对抽到哪批数据敏感)。 两者都是【整个估计流程】的属性——模型大小、回归目标(MC/TD)、损失函数(MSE/MAE/Huber)、数据量、正则化都是改它的旋钮,拧哪个都动 bias/variance,不同场景主导杠杆不同。 变样 ≠ 偏,不变样 ≠ 准:个体波动大但平均可能准(低 bias 高 variance),个体稳定但平均可能偏(高 bias 低 variance)。 MC/TD 之于 RL = OLS/Ridge 之于回归 = 小/大模型之于 LLM = MSE/MAE 之于 loss 选择,都是平行的「构造估计量」选择。