一、过拟合和欠拟合
接下来,我们将探究模型训练中经常出现的两类典型问题:
- 一类是模型无法得到较低的训练误差,我们将这一现象称作欠拟合(underfitting);
- 另一类是模型的训练误差远小于它在测试数据集上的误差,我们称该现象为过拟合(overfitting)。 在实践中,我们要尽可能同时应对欠拟合和过拟合。虽然有很多因素可能导致这两种拟合问题,在这里我们重点讨论两个因素:模型复杂度和训练数据集大小。
二、权重衰减¶
1.方法
权重衰减等价于 L2L2 范数正则化(regularization)。正则化通过为模型损失函数添加惩罚项使学出的模型参数值较小,是应对过拟合的常用手段。
2.L2 范数正则化(regularization)
L2L2范数正则化在模型原损失函数基础上添加L2L2范数惩罚项,从而得到训练所需要最小化的函数。L2L2范数惩罚项指的是模型权重参数每个元素的平方和与一个正的常数的乘积。以线性回归中的线性回归损失函数为例
ℓ(w1,w2,b)=1n∑i=1n12(x(i)1w1+x(i)2w2+b−y(i))2ℓ(w1,w2,b)=1n∑i=1n12(x1(i)w1+x2(i)w2+b−y(i))2
其中w1,w2w1,w2是权重参数,bb是偏差参数,样本ii的输入为x(i)1,x(i)2x1(i),x2(i),标签为y(i)y(i),样本数为nn。将权重参数用向量w=[w1,w2]w=[w1,w2]表示,带有L2L2范数惩罚项的新损失函数为
ℓ(w1,w2,b)+λ2n|w|2,ℓ(w1,w2,b)+λ2n|w|2,
其中超参数λ>0λ>0。当权重参数均为0时,惩罚项最小。当λλ较大时,惩罚项在损失函数中的比重较大,这通常会使学到的权重参数的元素较接近0。当λλ设为0时,惩罚项完全不起作用。上式中L2L2范数平方|w|2|w|2展开后得到w21+w22w12+w22。 有了L2L2范数惩罚项后,在小批量随机梯度下降中,我们将线性回归一节中权重w1w1和w2w2的迭代方式更改为
w1w2←(1−ηλ|B|)w1−η|B|∑i∈Bx(i)1(x(i)1w1+x(i)2w2+b−y(i)),←(1−ηλ|B|)w2−η|B|∑i∈Bx(i)2(x(i)1w1+x(i)2w2+b−y(i)).w1←(1−ηλ|B|)w1−η|B|∑i∈Bx1(i)(x1(i)w1+x2(i)w2+b−y(i)),w2←(1−ηλ|B|)w2−η|B|∑i∈Bx2(i)(x1(i)w1&