深层神经网络的正则化问题
2017-12-12 17:53
190 查看
1. 什么是正则化
我们知道,在使用神经网络进行分类时,有时会出现“训练集的分类效果很好而测试集的分类效果却不理想”这种现象。这种现象称之为“过拟合”,“正则化”的提出就是为了解决这个问题。那么究竟什么才是“正则化”呢?首先让我们来看下面两个公式:
(1)式是我们之前定义的代价函数,(2)式相对于(1)式而言增加了右边一项,增加的那项称之为“L2正则项”。那么“L2正则项”是如何避免模型“过拟合”呢?下面我们来简单分析一下:我们在训练模型时,为了降低代价函数往往会尽可能拟合训练集,这就使得我们训练的模型变得复杂,而过于复杂的模型就不能很好的预测未知数据(也就会出现“过拟合”现象),而“L2正则项”的出现就会制约着模型变得复杂(左边项的值减少,模型变复杂就会使得右边项的值增加),因此正则化可以解决“过拟合”问题。
2. 常见“正则项”
除了上面提及的“L2正则项”,还有一种常用的正则化方法——dropout正则化。dropout正则化的工作原理是:在每一次迭代中,通过设置keep_prob这一变量来随机删除(设置对应权值为0)若干个神经元,删除的这些神经元对网络没有作用,从而可以简化网络。在使用dropout正则化时,有以下几点需要注意:
dropout是一种正则化方法
4000
;
只是在训练过程中使用dropout正则化,而在测试阶段不使用;
在训练过程中,前向传播和后向传播都要用到dropout;
在训练过程中,每层通过除以keep_prob来保持同样的期望值。例如,如果keep_prob是0.5,那么我们将平均关闭一半的节点,所以输出将被缩放0.5,因为只剩下一半对解决方案有贡献。 除以0.5相当于乘以2。因此,输出现在具有相同的期望值。
3. 实验比较
借助某一数据集,来比较未使用正则项、使用L2正则项和使用dropout这三种模型比较。实验结果如下表所示:
通过实验结果来看,正规化会有损训练集的表现,这是因为它限制了网络过度训练集的能力。 但是由于它最终提供了更好的测试准确性,因此它是有用的。
4. 小结
正规化有助于降低“过拟合”。
正规化使权重变得更小。
L2正规化和dropout是两种非常有效的正则化方法。
我们知道,在使用神经网络进行分类时,有时会出现“训练集的分类效果很好而测试集的分类效果却不理想”这种现象。这种现象称之为“过拟合”,“正则化”的提出就是为了解决这个问题。那么究竟什么才是“正则化”呢?首先让我们来看下面两个公式:
(1)式是我们之前定义的代价函数,(2)式相对于(1)式而言增加了右边一项,增加的那项称之为“L2正则项”。那么“L2正则项”是如何避免模型“过拟合”呢?下面我们来简单分析一下:我们在训练模型时,为了降低代价函数往往会尽可能拟合训练集,这就使得我们训练的模型变得复杂,而过于复杂的模型就不能很好的预测未知数据(也就会出现“过拟合”现象),而“L2正则项”的出现就会制约着模型变得复杂(左边项的值减少,模型变复杂就会使得右边项的值增加),因此正则化可以解决“过拟合”问题。
2. 常见“正则项”
除了上面提及的“L2正则项”,还有一种常用的正则化方法——dropout正则化。dropout正则化的工作原理是:在每一次迭代中,通过设置keep_prob这一变量来随机删除(设置对应权值为0)若干个神经元,删除的这些神经元对网络没有作用,从而可以简化网络。在使用dropout正则化时,有以下几点需要注意:
dropout是一种正则化方法
4000
;
只是在训练过程中使用dropout正则化,而在测试阶段不使用;
在训练过程中,前向传播和后向传播都要用到dropout;
在训练过程中,每层通过除以keep_prob来保持同样的期望值。例如,如果keep_prob是0.5,那么我们将平均关闭一半的节点,所以输出将被缩放0.5,因为只剩下一半对解决方案有贡献。 除以0.5相当于乘以2。因此,输出现在具有相同的期望值。
3. 实验比较
借助某一数据集,来比较未使用正则项、使用L2正则项和使用dropout这三种模型比较。实验结果如下表所示:
model | train accuracy | test accuracy |
3-layer NN without regularization | 95% | 91.5% |
3-layer NN with L2-regularization | 94% | 93% |
3-layer NN with dropout | 93% | 95% |
4. 小结
正规化有助于降低“过拟合”。
正规化使权重变得更小。
L2正规化和dropout是两种非常有效的正则化方法。
相关文章推荐
- 吴恩达-DeepLearning.ai-02 改善深层神经网络:超参数调试、正则化以及优化
- 第2次课改善深层神经网络:超参数优化、正则化以及优化 - week3 超参数调试、Batch正则化和程序框架
- 改善深层神经网络:超参数调试、正则化以及优化——优化算法(2-2)
- Coursera | Andrew Ng (02-week1)—改善深层神经网络:深度学习的实用层面 正则化
- Coursera deeplearning.ai 深度学习笔记2-1-Practical aspects of deep learning-神经网络实际问题分析(初始化&正则化&训练效率)与代码实现
- 第2次课改善深层神经网络:超参数优化、正则化以及优化 - week2 优化算法
- 【deeplearning.ai】第二门课:提升深层神经网络——正则化
- DeepLearing学习笔记-改善深层神经网络(第三周- 超参数调试、正则化)
- 深层神经网络结构及可能存在的致命问题详解
- DeepLearing学习笔记-改善深层神经网络(第一周作业-2-正则化)
- DeepLearning.ai学习笔记(二)改善深层神经网络:超参数调试、正则化以及优化--Week2优化算法
- 【deeplearning.ai】第二门课:提升深层神经网络——正则化的编程作业
- 深度学习第二课 改善深层神经网络:超参数调试、正则化以及优化 第三周超参数调试+Batch normalization笔记和作业
- DeepLearning.ai学习笔记(二)改善深层神经网络:超参数调试、正则化以及优化--Week1深度学习的实用层面
- 机器学习:神经网络、正则化、多分类问题与Python代码实现
- 神经网络过拟合问题-正则化
- DeepLearning.ai学习笔记(二)改善深层神经网络:超参数调试、正则化以及优化--week3 超参数调试、Batch正则化和程序框架
- 2.改善深层神经网络-第三周 超参数调试,batch正则化和程序框架
- [DeeplearningAI笔记]改善深层神经网络1.4_1.8深度学习实用层面_正则化Regularization与改善过拟合
- 深层神经网络结构及可能存在的致命问题详解