深度学习--通过正则化regularization防止overfitting
2017-10-18 16:09
453 查看
通过正则化regularization防止overfitting
增加训练数据集的量和减小神经网络的规模是减小overfitting的途径之一.但更深层更大的网络潜在有更强的学习能力,即使对于固定的神经网络和固定的训练集仍可以减小overfitting.常用的正则化形式有
L1 regularization:
C=Co+λn∑w|w|
L2 regularization:
C=Co+λ2n∑ww2
以L2 Regularization为例:
对于二次损失函数加L2正则化项为:
C=12n∑∥∥y−aL∥∥2+λ2n∑ww2
对于交叉熵损失函数加L2正则化项为:
C=12n∑j[yjlnajL+(1−yj))ln(1−aLj))]+λ2n∑ww2
以上两种都可表示为:
C=Co+λ2n∑ww2
可以看出,regularization的cost偏向于让神经网络学习比较小的权重w,除非 Co明显减少.
λ: 调整两项的相对重要程度,较小的λ项倾向于让第一项 Co最小化,较大的λ项倾向于最小化权重之和.
求偏导:
∂C∂w=∂Co∂w+λ2nw
∂C∂b=∂Co∂b
则梯度下降法的更新法则为:
w′=w−η(∂Co∂w+λnw)=w−η∂Co∂w−ηλnw
b′=b−η∂Co∂b
即:
w′=(1−ηλn)w−η∂Co∂w
b′=b−η∂Co∂b
对于随机梯度下降法SGD为:
w′=(1−ηλn)w−ηm∑x∂Cx∂w
b′=b−ηm∑x∂Cx∂b
( ∑x即SGD在小批量样本x上进行的)
通过一个因子 1−ηλn重新调整了权重,使权重变小.
实现:code2中函数total_cost()中在cost上加上L2-regularization项.
相关文章推荐
- 深度学习-Overfitting-数据增强Data Augmentation
- 欠拟合(Underfitting) & 过拟合(Overfitting) & 正则化(Regularization)
- 深度学习 14. 深度学习调参,CNN参数调参,各个参数理解和说明以及调整的要领。underfitting和overfitting的理解,过拟合的解释。
- 斯坦福大学深度学习公开课cs231n学习笔记(7)神经网络防止数据过拟合:损失函数和正则化
- 深度学习: Regularization (网络正则化)
- 正则化(Regularization)、过拟合(Overfitting)
- 过拟合(overfitting) vs 正则化(regularization)
- 深度学习3:手动实现L2正则化(L2 Regularization)
- 机器学习(四)正则化与过拟合问题 Regularization / The Problem of Overfitting
- 深度学习: 过拟合 (overfitting)
- [DeeplearningAI笔记]改善深层神经网络1.4_1.8深度学习实用层面_正则化Regularization与改善过拟合
- 深度学习 14. 深度学习调参,CNN参数调参,各个参数理解和说明以及调整的要领。underfitting和overfitting的理解,过拟合的解释。
- 机器学习笔记05:正则化(Regularization)、过拟合(Overfitting)
- 深度学习-softmax和Overfitting
- Regression,model select,gradient descent,overfitting,regularization学习入门
- 深度学习与计算机视觉系列(4)_最优化与随机梯度下降\数据预处理,正则化与损失函数
- 理解overfitting以及正则化的解决方法
- 深度学习:正则化
- overfitting和regularization、dropout
- 深度学习DeepLearning.ai系列课程学习总结:10. 初始化、正则化、梯度检查实战