返回首页

Roadmap
更新于 2026年10月27日 全文 1465 字未阅读

过拟合:L2 正则化#

在上一节中我们提到了「正则化」这个概念,即给复杂模型施加惩罚,逼着它在拟合数据的同时尽量保持简单。可惩罚的力度用什么来衡量、又要惩罚到什么程度呢,就是这一节要回答的问题。

$L_2$ 正则化($L_2$ regularization)是最常用的正则化度量,它把所有权重的平方加在一起:

$$L_2\text{ regularization } = {w_1^2 + w_2^2 + ... + w_n^2}$$

公式里每一项都是平方,这也正是大权重会被重罚的原因。

下面是一个拥有六个权重的模型,$L_2$ 正则化的计算过程:

权重取值平方值
$w_1$0.20.04
$w_2$-0.50.25
$w_3$5.025.0
$w_4$-1.21.44
$w_5$0.30.09
$w_6$-0.10.01
26.83 = 合计

这张表里有两件事值得留意。

第一,接近零的权重对 $L_2$ 正则化的结果影响很小,但大权重的威力却相当惊人。就上面这次计算而言:

  • 单是 $w_3$ 这一个权重,就贡献了大约 93% 的总复杂度。

  • 另外五个权重加起来,只贡献了大约 7%。

第二,$L_2$ 正则化的作用方向,是把权重往零推,但永远不会真的推到零。这一点很关键,下面的练习就会考到它。

练习:检验你的理解#

第1题: 如果你在训练模型时使用了 $L_2$ 正则化,这个模型的整体复杂度通常会怎么变?

  • A. 大概率下降

  • B. 大概率保持不变

  • C. 大概率上升

第2题: 如果你在训练模型时使用了 $L_2$ 正则化,是否会有特征被从模型中移除?

  • A. 是

  • B. 否

正则化率(lambda)#

前面提过,训练的过程其实是在最小化损失与复杂度的某种组合:

$$\text{minimize(loss + complexity)}$$

模型开发者会用一个称为 正则化率(regularization rate),也叫作惩罚项系数, 的标量,乘在复杂度上,用它来调节复杂度对整个训练过程的影响。这个标量通常用希腊字母 $\lambda$ 表示。

于是,目标就变成了:

$$ \text{minimize}(\text{loss} + \lambda\cdot \text{ complexity}) $$

正则化率高的时候:

  • 正则化的作用被加强,过拟合的可能性随之降低。

  • 权重的直方图往往呈现这样的特征:

    • 正态分布。

    • 平均权重为 0。

正则化率低的时候:

  • 正则化的作用被削弱,过拟合的可能性随之上升。

  • 权重的直方图往往呈现平坦的分布。

举个例子,高正则化率下的权重直方图,大概就是图 18 这样。

图 18. 一张蓝色柱状直方图,标题是「Distribution of Model Weights」,横轴是权重取值(Weight Value),纵轴是权重频次(Weight Frequency)。柱子从两端几乎为零迅速爬升,在正中堆成一个又高又窄的正态钟形,峰值位于中心。
图 18. 高正则化率下的权重直方图。均值为零,呈正态分布。

相反,低正则化率下的直方图会明显更平坦,如图 19 所示。

图 19. 同一张蓝色柱状直方图,横轴是权重取值,纵轴是权重频次。柱子高度被整个拉平——中间是一块又宽又平的高台,两端也留着相当高度,整体接近均匀分布,看不到明显的中央峰值。
图 19. 低正则化率下的权重直方图。均值可能是零,也可能不是。

提示: 把正则化率设为零,就等于彻底取消了正则化。这时训练只顾着一味最小化损失,过拟合的风险也就高到顶了。

如何选择正则化率#

理想的正则化率,能造出一个对全新的、没见过的数据也泛化良好的模型。遗憾的是,这个理想值取决于具体的数据,因此你必须自己调一调。

早停:不基于复杂度的另一种正则化#

早停(early stopping) 是另一种正则化方法,它不需要计算复杂度。早停的意思很简单:在模型完全收敛之前就结束训练。比如,当验证集的损失曲线开始上升(斜率转为正)时,你就该收手了。

虽然早停通常会让训练损失变高,但它有可能让测试损失下降。

早停是一种快捷、但很少是最优的正规化方式。靠它训出来的模型,几乎不可能比用理想的正则化率充分训练出来的模型更好。

在学习率与正则化率之间找平衡#

学习率(learning rate) 与正则化率,对权重的作用方向恰好相反。学习率高了,权重会被推离零;正则化率高了,权重会被推向零。

如果相对于学习率而言,正则化率过高,那么权重太弱,模型做出的预测就会很差。反过来,如果相对于正则化率而言学习率过高,那么权重太强,模型就会过拟合。

你的目标是找到学习率与正则化率之间的平衡点,这并不容易。最糟糕的是,就算你终于摸到了那个平衡点,之后可能还是得改学习率;而学习率一改,正则化率又得从头再找一遍。


MLWM: 更多关于正则化原理的讲解,可以参见 $L_1$ 与 $L_2$ 正则化背后的权重衰减机制,参见文章 「4.4 L1与L2正则化原理:权重衰减与过拟合抑制」。


关键术语:

  • 早停
  • $L_1$ 正则化
  • $L_2$ 正则化
  • 学习率
  • 正则化
  • 正则化率
阅读 --