目录
参考:
2.3. 线性代数 — 动手学深度学习 2.0.0 documentation (d2l.ai)
4.5. 权重衰减 — 动手学深度学习 2.0.0 documentation (d2l.ai)
1.5 为什么正则化可以减少过拟合?-_吴恩达 deep learning -_bilibili
正则化技术用来防止过拟合,所谓过拟合即训练过程中,训练集上的误差持续减少,而与此同时测试集上的误差增大的现象。
防止过拟合的方法
- 获取更多的数据
- 选择更合适的网络模型
- 正则化技术
L2正则化
亦称权重衰减(weight decay)
L2范数
损失函数
未加正则项的损失函数
加上正则项之后的损失函数
为什么L2正则化能够起作用
直观理解
过拟合的原因是由于网络模型的学习能力太过强太,我们需要使用正则化技术来削弱这一能力。
通过在损失函数上加上正则项,若超参数λ设置成一个很大的值,在学习过程中即梯度下降的过程中会使得某些权重w近似于0,相当于在模型中删去了某些节点,简化了模型,进而防止过拟合
Dropout
相当于一个正则项,在隐藏层中间加入噪声,提高模型鲁棒性,用来降低过拟合的。在前向传播过程中,前一个层计算并激活之后,进行一次dropout处理,以 p 的概率将输出置为0,具体公式如下
此公式保证了h'的期望仍为h
另一种理解:dropout的巧妙之处在于,相当于在一个模型的训练过程中,综合考虑了多个模型,对于每一个输入,都是不同的神经网络模型。
注意
- 只在训练过程中使用
- 应用在多层前馈神经网络隐藏层输出上(多层感知机)
- 丢弃法将输出项随机置为0来控制模型复杂性
- 丢弃概率p为控制模型复杂性的超参数