13  权重衰减 (Weight Decay)

权重衰减 是避免过拟合的方法.

复习: 控制模型容量的思路
  1. 使用更少参数
  2. 控制每个参数(取值/可选择的值)范围较小

权重衰减 实践了第二个思路. 这通过 在目标函数中添加一个惩罚项来实现, 这个惩罚项 关于 \(\mathbf {w}\) 单调增.

我们的优化目标仍然是 \(\min \ell\left(\mathbf {w}, b\right)\) 只是额外对 \(\mathbf {w}\) 添加一个限制条件 \({\|\mathbf {w}\| }^2\leqslant \theta\),即权重的各项平方和小于一个特定的常数 \(\theta\) 。那么设定一个较小的 \(\theta\) 就会使得 \(\mathbf {w}\) 中每个元素的值都不会太大。

通常不会限制偏移 \(b\),理论上讲 \(b\) 表示整个数据在零点上的偏移,因此是不应该限制的,但实践中限制与否对结果都没什么影响。

13.1 柔性限制/实际应用

联想

上文说的硬性限制在实际使用时比较麻烦,实际上常用的函数是

\[ \min \ell \left(\mathbf {w}, b\right) + \frac{\lambda}{2}{\|\mathbf {w}\|}^{2} \]

  • 引入超参 \(\lambda\) 它来控制模型复杂度

13.2 总结

  • 权重衰退通过 \(L2\) 正则项使得模型参数不会过大,从而控制模型复杂度

  • 正则项权重 \(\lambda\) 是控制模型复杂度的超参数. 它惩罚过大的参数值

13.3 代码实现

源代码