Series · ML Math Derivations · Chapter 20

机器学习数学推导(二十):正则化与模型选择

系列收官:从偏差-方差分解出发,沿着 L1/L2 几何、Dropout 子网络采样、K 折交叉验证、AIC/BIC、VC 维到现代的双下降现象,回答机器学习理论中最深的一个问题——为什么模型能泛化。

本文要点

一个有 1 亿参数的网络,用 5 万张图训练,按经典理论应当过拟合到一塌糊涂;可现代深度网络偏偏泛化得很好。这背后是两件事在配合:正则化——一系列约束模型容量的技巧;以及泛化理论——从数学上回答"学习什么时候真的有效"。本文是整个系列的收官之作,我们把前面攒下的所有工具——最小二乘、MAP 估计、凸优化、EM、神经网络——一起拿出来,直面这个领域里最深的开放问题:为什么机器学习能泛化?

本文路线图:

  1. 偏差-方差分解与泛化误差。
  2. L2、L1、弹性网三种惩罚的三种解读:优化、几何、贝叶斯先验。
  3. Dropout 作为 $2^M$ 个子网络的集成,以及作为自适应 L2 的等价形式。
  4. 早停 = 自适应岭回归,$\lambda_{\text{eff}} \propto 1/t$。
  5. 模型选择:K 折交叉验证、AIC、BIC。
  6. VC 维、PAC 学习,以及打破经典理论的双下降现象。

前置知识: 微积分、概率(期望、方差)、线性代数、梯度下降。前 4 篇覆盖数学基础;第 5、6、19 篇分别给出了我们要正则化的具体模型。


1. 过拟合与偏差-方差分解

1.1 经验风险 vs 期望风险

训练误差与你真正关心的"真误差",是两个不同的对象:

$$ \hat{R}(f) = \frac{1}{N}\sum_{i=1}^{N} \ell(f(\mathbf{x}_i), y_i), \qquad R(f) = \mathbb{E}_{(\mathbf{x},y)\sim\mathcal D}\bigl[\ell(f(\mathbf{x}), y)\bigr]. \tag{1} $$

泛化差距就是 $R(f) - \hat R(f)$。差距大叫过拟合;连 $\hat R$ 都大就是欠拟合。

1.2 偏差-方差分解

固定一个测试点 $\mathbf{x}$,反复采样训练集 $S$,每次拟合一个回归器 $f_S$,看看平方误差的期望。记平均预测 $\bar f(\mathbf{x}) = \mathbb{E}_S[f_S(\mathbf{x})]$,加减 $\bar f$ 即可:

$$ \mathbb{E}S\bigl[(f_S(\mathbf{x}) - y)^2\bigr] = \underbrace{(\bar f(\mathbf{x}) - f^\star(\mathbf{x}))^2}{\text{偏差}^2}

  • \underbrace{\mathbb{E}S\bigl[(f_S(\mathbf{x}) - \bar f(\mathbf{x}))^2\bigr]}{\text{方差}}
  • \underbrace{\sigma^2}_{\text{噪声}}. \tag{2} $$

交叉项消失,因为 $\mathbb{E}_S[f_S - \bar f] = 0$,且噪声与 $f_S$ 独立。

分量由什么决定何时偏大
偏差$^2$模型设定误差模型太简单(欠拟合)
方差估计噪声模型太复杂(过拟合)
$\sigma^2$数据本身永远存在(不可约)

容量增加意味着用方差换偏差;最优点在两者的导数相遇之处。

偏差-方差分解:训练误差、测试误差、偏差平方、方差随模型复杂度的变化

测试曲线那条 U 形,就是经典模型选择的全部故事——后面所有的正则化、交叉验证、信息准则,本质都是在不直接测量 $R(f)$ 的前提下,去找那个 U 的最低点。


2. L2 正则化(岭回归)

2.1 三种等价视角

惩罚损失。 在经验风险上加 $\tfrac{\lambda}{2}\|\mathbf{w}\|_2^2$。对于平方损失,闭式解为:

$$ \hat{\mathbf{w}}_{\text{ridge}} = (\mathbf{X}^\top\mathbf{X} + \lambda\mathbf{I})^{-1}\mathbf{X}^\top\mathbf{y}. \tag{3} $$

加入 $\lambda\mathbf{I}$ 保证矩阵可逆,即使特征共线也不怕。

约束形式。 由 Lagrange 对偶,等价于求解 $\min \hat R(\mathbf{w}),\ \text{s.t.}\ \|\mathbf{w}\|_2 \le t$。可行域是欧氏球。

贝叶斯(MAP)。 取高斯似然 $y\mid\mathbf{w} \sim \mathcal N(\mathbf{x}^\top\mathbf{w}, \sigma^2)$、高斯先验 $\mathbf{w} \sim \mathcal N(\mathbf 0, \tau^2 \mathbf I)$,则:

$$ \hat{\mathbf{w}}_{\text{MAP}} = \arg\min_{\mathbf{w}}\Bigl[\hat R(\mathbf{w}) + \tfrac{\sigma^2}{2\tau^2}\|\mathbf{w}\|^2\Bigr], \qquad \lambda = \tfrac{\sigma^2}{\tau^2}. $$

先验方差越大(对权重越宽容),正则化就越弱。

2.2 SVD 视角:收缩小奇异方向

设 $\mathbf{X} = \mathbf{U}\boldsymbol\Sigma\mathbf{V}^\top$,则:

$$ \hat{\mathbf{w}}_{\text{ridge}} = \sum_j \frac{\sigma_j^2}{\sigma_j^2 + \lambda}\,\frac{\mathbf{u}_j^\top\mathbf{y}}{\sigma_j}\,\mathbf{v}_j. \tag{4} $$

收缩因子 $\sigma_j^2/(\sigma_j^2+\lambda)$ 在大 $\sigma_j$ 处接近 1(信号方向),在小 $\sigma_j$ 处接近 0(噪声方向)。岭回归本质是 PCA 的"软截断"。

2.3 权重衰减

梯度更新写成 $\mathbf{w} \leftarrow (1 - \eta\lambda)\mathbf{w} - \eta\nabla\hat R(\mathbf{w})$:每一步都先把权重"收缩"一下。这就是为什么深度学习框架把 L2 叫作 weight decay。


3. L1 正则化(Lasso)与稀疏性

3.1 稀疏性的几何

把 $\|\mathbf{w}\|_2^2$ 换成 $\|\mathbf{w}\|_1 = \sum_j |w_j|$。约束区域 $\|\mathbf{w}\|_1 \le t$ 在二维是菱形,在高维是 cross-polytope。它的尖角全在坐标轴上。 椭圆等高线(无正则的损失)切到约束区域时,几乎总会落在某个尖角上——某些 $w_j$ 就被精确地压到零。

L1 vs L2 约束区域:菱形的尖角带来稀疏,圆形的光滑边界则给出内部的非稀疏解

这不是数值假象。L1 在 0 处的次微分是区间 $[-1, 1]$,所以 0 是个稳定的驻点:数据小幅扰动不会把最优系数挪离坐标轴。L2 在 $w_j = 0$ 处的梯度是 $w_j$ 本身(即 0),但任何信号都会立刻把它推离零。

3.2 软阈值算子

L1 惩罚 $\lambda\|\mathbf{w}\|_1$ 的近端算子有一个极其漂亮的形式——软阈值

$$ \hat w_j = \mathrm{sign}(w_j^\star)\,\max\bigl(|w_j^\star| - \lambda,\ 0\bigr). \tag{5} $$

坐标下降把 (5) 一坐标一坐标地用上去,就是 glmnet 的核心。

3.3 Lasso 作为内嵌的特征选择

让 $\lambda$ 从 $\infty$ 慢慢降到 0,画出系数轨迹,就得到正则化路径:相关特征一个接一个"开机",无关特征则一直贴着零。

LASSO 系数路径:随 lambda 减小,相关特征逐一进入模型,无关特征始终为零

更妙的是这条路径分段线性(Efron 等人的 LARS 算法),背后是 L1 单位球的多面体结构——一个看似简单却很深的几何事实。

3.4 贝叶斯解读与弹性网

L1 = Laplace 先验 $p(w_j) \propto \exp(-|w_j|/b)$ 下的 MAP。Laplace 分布在零点有一个尖峰,在零这个值上分配的先验质量比高斯多——这是稀疏性在概率上的解释。

特征强相关时,纯 LASSO 表现并不稳定(会在一组相关特征里随机挑一个)。弹性网把两种惩罚混合起来:

$$ \mathcal L_{\text{enet}} = \hat R(\mathbf{w}) + \lambda_1\|\mathbf{w}\|_1 + \lambda_2\|\mathbf{w}\|_2^2, $$

继承了 L1 的稀疏性和 L2 的"分组效应"。


4. Dropout

4.1 机制

训练时每个隐藏单元以概率 $p$ 独立置零,留下来的乘以 $1/(1-p)$ 缩放:

$$ \tilde h_j = \frac{m_j}{1-p}\,h_j,\qquad m_j \sim \mathrm{Bernoulli}(1-p). $$

缩放保证激活的期望不变:$\mathbb E[\tilde h_j] = h_j$。测试时直接用整张网络,不再加掩码(这是 inverted dropout,现代主流写法)。

4.2 两个数学故事

故事一:隐式集成。 一个有 $M$ 个可 Dropout 单元的网络,对应 $2^M$ 个共享权重的子网络。Dropout SGD 每个 mini-batch 随机抽一个子网络训练;测试时用完整网络近似于这堆子网络预测的几何平均——指数多个模型的免费集成。

Dropout 作为子网络采样:完整 MLP 与三个共享权重的稀疏化样本

故事二:自适应 L2。 把 Dropout 加在线性回归的输入上,期望损失变成:

$$ \mathbb E_{\mathbf m}\bigl[\|y - (\mathbf m \odot \mathbf x)^\top\mathbf w\|^2\bigr] = \|y - \mathbf x^\top\mathbf w\|^2 + \frac{p}{1-p}\sum_j w_j^2 x_j^2. \tag{6} $$

第二项是一个按特征方差加权的 L2:值越大的输入被压得越狠。Wager、Wang、Liang(2013)把它推广到 GLM,证明 Dropout 近似等价于自适应岭回归。

4.3 变体

  • DropConnect. 丢权重而不是激活。
  • 空间 Dropout. CNN 里整通道地丢,否则相邻像素的强相关让逐元素 Dropout 几乎没用。
  • Variational Dropout. RNN 在所有时间步共享掩码,让循环动力学保持一致。

5. 早停作为隐式正则化

5.1 策略

留一个验证集,训练时监控验证误差。若连续 $P$ 个 epoch 不下降就停下,返回历史最优模型(patience 策略)。

5.2 为什么等价于岭回归(在二次损失下)

对线性最小二乘从 $\mathbf{w}_0 = \mathbf 0$ 起做梯度下降,把更新展开到 $\mathbf{X}^\top\mathbf{X}$ 的特征基上。第 $t$ 步:

$$ \hat{\mathbf{w}}_t = \sum_j \bigl[1 - (1 - \eta\lambda_j)^t\bigr]\,\frac{\mathbf{u}_j^\top \mathbf{X}^\top\mathbf{y}}{\lambda_j}\,\mathbf{u}_j. \tag{7} $$

岭回归的对应收缩因子是 $\lambda_j/(\lambda_j + \alpha)$。两者比较:

$$ 1 - (1-\eta\lambda_j)^t \ \approx\ \frac{\lambda_j}{\lambda_j + 1/(\eta t)}, $$

所以在第 $t$ 步早停 ≈ 取 $\alpha_{\text{eff}} \sim 1/(\eta t)$ 的岭回归:训得越久 $\Leftrightarrow$ 正则越弱。直觉上,梯度下降先拟合大特征值方向(低频、信号),噪声藏在小特征值的尾巴里,要很晚才被拟到。早点停,丢的只是噪声。


6. 模型选择:CV、AIC、BIC

6.1 K 折交叉验证

把数据切成 $K$ 折,依次用其中一折做验证,其余 $K-1$ 折训练:

$$ \hat R_{\text{CV}} = \frac{1}{K}\sum_{k=1}^K \hat R_{\text{val}, k}. \tag{8} $$

5 折交叉验证:每行是一折,彩色块是验证集,每个样本恰好被验证一次

实践上 $K = 5$ 或 $10$ 是甜蜜点(偏差小、方差可控、需要 $K$ 次训练)。$K = N$ 是留一法,无偏但贵,而且小样本下方差出乎意料地大。时间序列绝不能洗牌,要用尊重因果的滚动/扩张窗 CV。

6.2 信息准则

两个准则都在负对数似然上加一个关于参数数 $p$ 的惩罚:

$$ \mathrm{AIC} = -2\log p(\mathcal D \mid \hat{\mathbf w}) + 2p, \qquad \mathrm{BIC} = -2\log p(\mathcal D \mid \hat{\mathbf w}) + p\log N. \tag{9} $$

只要 $N \ge 8$ 就有 $\log N > 2$,所以 BIC 的复杂度惩罚更重。统计性质上:

  • BIC 是一致的:$N \to \infty$ 时,若真模型在候选集中,BIC 几乎必然选中它。
  • AIC 渐近预测最优:它最小化期望样本外损失,但不保证恢复真模型。

可以这么记:相信候选集、追求可解释 → BIC;只关心预测精度 → AIC(或 CV)。

AIC、BIC 与 5 折 CV 在选择多项式阶数上的对比,并把 BIC 选中的拟合叠在数据上

小样本下三者可能差出 1–2 阶;样本大了就趋同。实在拿不准就用 CV——它是唯一不假设模型设定正确的。


7. 泛化理论:VC 维、PAC 与现代谜团

7.1 VC 维

假设类 $\mathcal H$ 打散一个 $m$ 点集,是指它能实现这个集合上的所有 $2^m$ 种二分类标签组合。VC 维就是它能打散的最大点数:

$$ \mathrm{VC}(\mathcal H) = \max\{m : \exists\, S\ \text{大小为}\ m\ \text{且被}\ \mathcal H\ \text{打散}\}. $$

$\mathbb R^d$ 上的线性分类器:$\mathrm{VC} = d + 1$。

7.2 VC 泛化界

以概率不小于 $1 - \delta$,对一切 $h \in \mathcal H$ 同时成立:

$$ R(h) \le \hat R(h) + O\!\left(\sqrt{\frac{\mathrm{VC}(\mathcal H)\log\!\bigl(N/\mathrm{VC}(\mathcal H)\bigr) + \log(1/\delta)}{N}}\right). \tag{10} $$

VC 维越大需要越多数据;样本越多界越紧。这个界是与分布无关的——对任何数据分布都成立,但也因此倾向于悲观。

7.3 PAC 可学习性

一个类是 PAC(Probably Approximately Correct)可学习的,是指对任意 $\epsilon, \delta > 0$,存在算法以概率不小于 $1 - \delta$ 输出误差不超过 $\epsilon$ 的假设,所需样本至多多项式量级。Blumer 等(1989)定理: VC 维有限 $\Leftrightarrow$ PAC 可学习。

7.4 深度学习之谜与双下降

现代神经网络 $p \gg N$,VC 维巨大(与 $p$ 同阶),(10) 给出的界是平凡的——往往大于 1。但它们偏偏泛化得很好。为什么?

几条非经典的现象一起在起作用:

  • SGD 的隐式正则化。 SGD(尤其小批、大学习率)偏好损失景观里的平坦极小值,平坦极小值比尖锐极小值泛化更好(Hochreiter 与 Schmidhuber 1997 早就提到过)。
  • 基于范数的界。 参数个数巨大,但训出来的权重范数却不大。基于权重范数的 PAC-Bayes 与 Rademacher 界,可以收紧到具有预测力的程度。
  • 隐式最小范数插值。 过参数化的线性模型从零初始的梯度下降,会收敛到最小范数插值解——也就是岭回归 $\lambda \to 0$ 的极限解。
  • 双下降。 当容量超过插值阈 $p = N$ 后,测试误差先按经典 U 形走,在 $p = N$ 处尖峰爆炸(伪逆病态),随后再次下降——过参数化区比插值阈更好。

双下降:经典 U 形、p = N 处的插值峰、以及现代区的第二次下降

第二次下降是真实、稳健的现象,彻底打翻经典直觉:过参数化区更大反而更好。一个令人满意的解释,至今仍是机器学习理论的中心未决问题。


8. 实战速查表

现象可能原因处方
训练 ≪ 验证过拟合加数据、加正则、Dropout、早停
训练 ≈ 验证,都高欠拟合加大模型、减弱正则、加特征
训练好但验证不稳验证集太小用 CV、多种子取平均
损失发散LR 过大 / 没归一化降 LR、加 LayerNorm/BN、梯度裁剪
想要稀疏解无关特征多LASSO 或弹性网
特征强相关纯 LASSO 抖动弹性网、group LASSO

中等规模深度模型的默认起手式: AdamW + weight decay $10^{-2}$ + FC 层 dropout $0.1$ + cosine 学习率 + 在 10% 留出集上早停。再用 5 折 CV 在小的学习率/权重衰减网格上调一调。


9. 练习题

练习 1(岭回归梯度)。 证明 $\nabla_{\mathbf w}\bigl[\tfrac12\|\mathbf y - \mathbf{X}\mathbf w\|^2 + \tfrac\lambda 2\|\mathbf w\|^2\bigr] = (\mathbf X^\top\mathbf X + \lambda\mathbf I)\mathbf w - \mathbf X^\top\mathbf y$,并由此导出 (3)。

练习 2(稀疏性证明)。 证明 $\min_w \tfrac12 (w - w^\star)^2 + \lambda |w|$ 的最优 $w$ 恰为软阈值 (5)。提示: 对光滑部分求导,零点处用次微分 $\partial|w| = [-1,1]$。

练习 3(Dropout = 岭)。 对一维线性回归直接对 $m \sim \mathrm{Bernoulli}(1-p)$ 取期望,验证 (6)。

练习 4(早停 ↔ 岭)。 由 (7),在 $\eta\lambda_j \ll 1$ 时用 $1 - (1-x)^t \approx 1 - e^{-tx}$ 推出小特征值方向上 $\alpha_{\text{eff}} \approx 1/(\eta t)$。

练习 5(BIC 阈值)。 解 $p\log N > 2p$,确认 $N \ge 8$ 时 BIC 比 AIC 罚得更重。

练习 6($\mathbb R^2$ 上轴对齐矩形的 VC 维)。 证明它等于 4。提示: 沿坐标轴摆四点;再证任意五点都打散不了。


10. 系列收官

这个系列从微积分和概率讲起,到本文为止刚好走完一圈,回到这个领域最根本的问题:经验风险最小化为什么有效? 回望这二十篇:

  • 第 1–4 篇:基础。 线性代数、概率、凸优化——给后面所有内容提供了语言。
  • 第 5–9 篇:经典监督学习。 线性 / 逻辑回归、决策树、SVM、朴素贝叶斯——主流模型,每个都有它清爽的推导。
  • 第 10–12 篇:贝叶斯网络与集成。 从图模型到 XGBoost:怎么把弱结构组合成强预测。
  • 第 13–15 篇:隐变量。 EM、变分推断、HMM——当数据并没有把一切都告诉你时该怎么办。
  • 第 16–18 篇:标签之外。 CRF、降维、聚类——结构化预测与无监督学习。
  • 第 19 篇:神经网络。 反向传播即链式法则——2012 年以来一切的根源。
  • 第 20 篇:本文。 元问题:以上一切,凭什么能泛化

这个元问题今天最诚实的答案是:我们还没完全搞清楚。 经典理论(VC、Rademacher)给的是一个"下界"叙事,对现代过参数化区解释力不够;新一代的想法——隐式偏置、平坦极小值、神经正切核、PAC-Bayes、scaling laws——都是同一幅未完成拼图的不同碎片。如果未来十年的理论进展能跟得上过去十年的工程进展,那么这个系列的"续集"会是另一本完全不同的书。

在那一天到来之前,记住三件事:正则化、做交叉验证、相信验证集。 后会有期。


参考文献

[1] Tikhonov, A. N. (1963). Solution of incorrectly formulated problems and the regularization method. Soviet Math. Doklady, 5, 1035-1038.

[2] Tibshirani, R. (1996). Regression shrinkage and selection via the lasso. JRSS-B, 58(1), 267-288.

[3] Zou, H., & Hastie, T. (2005). Regularization and variable selection via the elastic net. JRSS-B, 67(2), 301-320.

[4] Efron, B., Hastie, T., Johnstone, I., & Tibshirani, R. (2004). Least angle regression. Annals of Statistics, 32(2), 407-499.

[5] Srivastava, N., et al. (2014). Dropout: A simple way to prevent neural networks from overfitting. JMLR, 15(1), 1929-1958.

[6] Wager, S., Wang, S., & Liang, P. (2013). Dropout training as adaptive regularization. NeurIPS.

[7] Vapnik, V. N., & Chervonenkis, A. Y. (1971). On the uniform convergence of relative frequencies. Theory Prob. & Appl., 16(2), 264-280.

[8] Blumer, A., Ehrenfeucht, A., Haussler, D., & Warmuth, M. K. (1989). Learnability and the Vapnik-Chervonenkis dimension. JACM, 36(4), 929-965.

[9] Hochreiter, S., & Schmidhuber, J. (1997). Flat minima. Neural Computation, 9(1), 1-42.

[10] Zhang, C., Bengio, S., Hardt, M., Recht, B., & Vinyals, O. (2017). Understanding deep learning requires rethinking generalization. ICLR.

[11] Belkin, M., Hsu, D., Ma, S., & Mandal, S. (2019). Reconciling modern machine-learning practice and the classical bias-variance trade-off. PNAS, 116(32), 15849-15854.

[12] Nakkiran, P., Kaplun, G., Bansal, Y., Yang, T., Barak, B., & Sutskever, I. (2020). Deep double descent. ICLR.


系列导航

Liked this piece?

Follow on GitHub for the next one — usually one a week.

GitHub