上一节中提提到的过拟合现象,在模型的训练误差远小于测试集上的误差。虽然增大训练接数据集可以减轻过拟合,但是获得额外的训练数据往往代价过大,本节介绍过拟合常用的方式:权重衰减(weight decay)。
权重衰减
权重衰减等价于L2范数正则化(regularzation)。正则化通过模型损失函数添加惩罚项使学到的模型参数值较小,是应对过拟合的常用方法,我们先描述L2范数正则化,再解释它为何称为权重衰减。
L2范数正则化在模型原损失函数的基础上添加L2范数惩罚项,从而得到训练得到所需的最小化函数。L2范数惩罚项是模型权重参数每个元素的平凡和与一个正的常数的乘积。以线性回归中线性回归损失函数
\(l(w_{1},w_{2},b )= \frac{1}{n}\sum_{i=1}^{n}\frac{1}{2}(x_{1}^{(i)}w_{1}+x_{2}^{(i)}w_{2} +b - y^{(i)})^{2}\) ,其中w1,w2是权重参数,b为偏置,样本i的输入为\(x_{1}^{(i)},x_{2}^{(i)},标签是y^{(i)},样本数为n,将权重参数向量\)w=[w_{1},w_{2}]表示,$带有L2范数惩罚项的新损失函数为
\[l(w_{1},w_{2},b )+\frac{\lambda}{2n}\|\boldsymbol{w}\|^{2}
\]
其中超参数为λ>0。当权重参数均为0时,惩罚项最小。当λ较大时,惩罚项在损失函数中的权重较大,通常会使学习到的权重参数的元素较接近0;当λ设为0时,惩罚项完全不起作用。上式中L2范数平方\(\|w\|^{2}展开后得到w_{1}^{2}+w_{2}^{2}\)
有了L2范数惩罚项后,在小批量随机梯度下降汇总,我们将线性回归一节中权重w1和w2的迭代方式更改为
\[\begin{array} { l } { w _ { 1 } \leftarrow \left( 1 - \frac { \eta \lambda } { | \mathcal { B } | } \right) w _ { 1 } - \frac { \eta } { | \mathcal { B } | } \sum _ { i \in \mathcal { B } } x _ { 1 } ^ { ( i ) } \left( x _ { 1 } ^ { ( i ) } w _ { 1 } + x _ { 2 } ^ { ( i ) } w _ { 2 } + b - y ^ { ( i ) } \right) } \\ { w _ { 2 } \leftarrow \left( 1 - \