training error
):模型在训练数据集上表现的误差
泛化误差(generalization error
):模型在任意一个测试数据样本上表现出的误差的期望,常常通过测试数据集的误差来衡量。
机器学习模型应关注降低泛化误差
数据集的形式主要有三种:
训练集 测试集:测试数据集不可以用来调参 验证集K折交叉验证:把原始数据分成K组,每次训练时,使用K-1个子数据集训练,使用一个作为验证,最后通过K次求取训练误差和验证误差的平均。
过拟合(overfitting)
:模型的训练误差远小于它在测试数据集上的误差
欠拟合(underfitting)
:模型无法得到较低的训练误差
导致过拟合、欠拟合的主要因素:
模型复杂度 训练数据集大小:训练样本不足会导致过拟合[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wXvlfbBj-1582003057513)(C:\Users\yg199\AppData\Roaming\Typora\typora-user-images\1581997310607.png)]
如何解决过拟合与欠拟合问题:
权重衰减等价于L2L_2L2范数正则化(regularization):通过为模型损失函数添加惩罚项使学出的模型参数值比较小,是应对过拟合的常用手段。ℓ(w1,w2,b)+λ2n∣w∣2, \ell(w_1, w_2, b) + \frac{\lambda}{2n} |\boldsymbol{w}|^2, ℓ(w1,w2,b)+2nλ∣w∣2,
L2L_2L2范数惩罚项指的是模型权重参数每个元素的平方和与一个正的常数的乘积。
其中超参数λ>0\lambda > 0λ>0。当权重参数均为0时,惩罚项最小。当λ\lambdaλ较大时,惩罚项在损失函数中的比重较大,这通常会使学到的权重参数的元素较接近0。当λ\lambdaλ设为0时,惩罚项完全不起作用。上式中L2L_2L2范数平方∣w∣2|\boldsymbol{w}|^2∣w∣2展开后得到w12+w22w_1^2 + w_2^2w12+w22。
有了L2L_2L2范数惩罚项后,在小批量随机梯度下降中,我们将线性回归一节中权重w1w_1w1和w2w_2w2的迭代方式更改为
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+x2(i)w2+b−y(i)).
\begin{aligned} 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- \frac{\eta\lambda}{|\mathcal{B}|} \right)w_2 - \frac{\eta}{|\mathcal{B}|} \sum_{i \in \mathcal{B}}x_2^{(i)} \left(x_1^{(i)} w_1 + x_2^{(i)} w_2 + b - y^{(i)}\right). \end{aligned}
w1w2←(1−∣B∣ηλ)w1−∣B∣ηi∈B∑x1(i)(x1(i)w1+x2(i)w2+b−y(i)),←(1−∣B∣ηλ)w2−∣B∣ηi∈B∑x2(i)(x1(i)w1+x2(i)w2+b−y(i)).
可见,L2L_2L2范数正则化令权重w1w_1w1和w2w_2w2先自乘小于1的数,再减去不含惩罚项的梯度。因此,L2L_2L2范数正则化又叫权重
衰减。
Example
: 高维线性回归实验
丢弃法:解决过拟合的一种方法,测试模型中一般不使用
2、梯度消失、梯度爆炸深度模型有关数值稳定性的典型问题:消失(vanishing
)和爆炸(explosion
)
当层数较多时,梯度的计算也容易出现消失和爆炸,消失和爆炸主要通过数据来衡量,当数据特别小,即出现梯度下降,当数据特别大,即出现梯度爆炸。
3、循环神经网络进阶 4、机器翻译及相关技术 5、注意力机制与Seq2seq模型 6、Transformer 7、卷积神经网络基础 8、LeNet 9、卷积神经网络进阶