dropout 为何会有正则化作用
在神经网络中经常会用到dropout,大多对于其解释就是dropout可以起到正则化的作用。
一下是我总结的对于dropout的理解。花书上的解释主要还是从模型融合的角度来解释,末尾那一段从生物学角度的解释是在是看不明白。
从模型融合的角度来解释dropout:
Dropout提供了正则化一一大类模型的方法。Dropout可以被认为是集成大量的深层神经网络模型的
Bagging方法。通常的Bagging方法是每个模型单独训练的,但是这对于大规模的神经网络来说是不现实的。一般神经网络模型的融合都只能集成5到10个模型。但是Dropout提供了一种廉价的bagging集成近似,能够训练和评估指数数量的神经网络。Dropout集成的是所有从基础网络除去非输出单元后形成的子网络。
这种如果我们设置dropout的概率为0.5,那么有N个隐藏层沈神经元的网络,可以产生2的N次方个子网络。
Dropout训练与Bagging训练不一样,Bagging的训练,每个模型都是独立的,各自有各自的参数。但是在Dropout的情况下,所有模型共享参数,其中每个模型集成父神经网络参数的不同子集。
在单个步骤的训练中,我们一次训练一个子网络。
bagging集成必须根据所有成员的累积投票做一个预测。在这种背景下,我们成这个过程为推断。
Bagging是每个模型产生一个概率分布,然后做算术平均,得到最终的结果。
我的理解是Dropout是通过最后一层,比如softmax来做融合。这部分花书上有推导。求模型的几何平均,而不是bagging的算术平均。
Dropout另一个优点是适用的模型比较广泛,而且效果都不错。
总而言之,Dropout是目前使用最广泛的隐式集成的方法。
Dropout强大的另一个解释是,我们把施加到神经元链接上的Dropout看做是一个噪声掩码,通过施加噪声,增强了模型的泛化能力。
Dropout的噪声引入是乘性的,这部分的优势,目前还不了解,等我再看看书吧
受到生物学的启发,解释dropout:

参考资料:
《深度学习》第七章
https://blog.csdn.net/stdcoutzyx/article/details/49022443
dropout 为何会有正则化作用的更多相关文章
- Paper List ABOUT Deep Learning
Deep Learning 方向的部分 Paper ,自用.一 RNN 1 Recurrent neural network based language model RNN用在语言模型上的开山之作 ...
- Deep Learning方向的paper
转载 http://hi.baidu.com/chb_seaok/item/6307c0d0363170e73cc2cb65 个人阅读的Deep Learning方向的paper整理,分了几部分吧,但 ...
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...
- 正则化,数据集扩增,Dropout
正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...
- 正则化方法:L1和L2 regularization、数据集扩增、dropout(转)
ps:转的.当时主要是看到一个问题是L1 L2之间有何区别,当时对l1与l2的概念有些忘了,就百度了一下.看完这篇文章,看到那个对W减小,网络结构变得不那么复杂的解释之后,满脑子的6666------ ...
- 模型正则化,dropout
正则化 在模型中加入正则项,防止训练过拟合,使测试集效果提升 Dropout 每次在网络中正向传播时,在每一层随机将一些神经元置零(相当于激活函数置零),一般在全连接层使用,在卷积层一般随机将整个通道 ...
- Dropout正则化和其他方法减少神经网络中的过拟合
1. 什么是Dropout(随机失活) 就是在神经网络的Dropout层,为每个神经元结点设置一个随机消除的概率,对于保留下来的神经元,我们得到一个节点较少,规模较小的网络进行训练. 标准网络和dro ...
- 深度学习(dropout)
other_techniques_for_regularization 随手翻译,略作参考,禁止转载 www.cnblogs.com/santian/p/5457412.html Dropout: D ...
- [DeeplearningAI笔记]改善深层神经网络1.4_1.8深度学习实用层面_正则化Regularization与改善过拟合
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 正则化(regularization) 如果你的神经网络出现了过拟合(训练集与验证集得到的结果方差较大),最先想到的方法就是正则化(re ...
随机推荐
- Centos配置nginx反向代理8090端口到80端口
下面,我就来说说怎么反向代理自己的项目到默认80端口. 1)安装nginx:yum install nginx -y 2)启动nginx:service nginx start或者systemctl ...
- 《浅谈CT》总结
注明来自 http://www.ssdfans.com/?p=1941 这里说的CT,不是医院里面的CT,而是闪存的一种技术:Charge Trap. 闪存不只有Floating Gate,还有Cha ...
- 基于.net core2.1开发遇到的问题记录以及解决方案
问题1:升级EFCore 到2.1一直报'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilderFac ...
- Selenium之使用PageFactory初始化pageobject
使用PageFactory初始化pageobject有什么作用呢,下面举个例子来说明 public BaiduPage baiduPage = PageFactory.initElements(dri ...
- td中不包含汉字的字符串不换行,包含汉字的能换行的问题原因及解决方法
今天项目中遇到一个问题,一长串的字符串如:003403FF0014E54016030CC655BC3242,但是如:中国河北省石家庄市裕华区槐安路雅清街交口 这样的就可以换行. 原因是:英文字母之间如 ...
- C#小票打印机动态纸张尺寸
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- lightGallery 一个视屏不播放 解决方法
这次使用了lightGallery,感觉还不错.样式比较美观,并且支持响应式. 使用过程中,我遇到了下面的问题: 当我 .picsgallery里面只有一个 .gItem的时候.点击弹出幻灯片,再点击 ...
- bind函数的作用
面向连接的网络应用程序分为客户端和服务器端.服务器端的执行流程一般为4步,客户端程序相对简单,一般需要两个步骤. 服务器端执行流程4步如下: (1)调用socket函数,建立一个套接字,该套接字用于接 ...
- PreparedStatement和Statement区别详解
技术原理 该 PreparedStatement接口继承Statement,并与之在两方面有所不同: PreparedStatement 实例包含已编译的 SQL 语句.这就是使语句“准备好”.包含于 ...
- RabbitMQ学习之(四)_PHP操作RabbitMQ简单Demo
原理流程 生产者主要做的是:创建连接-->创建channel-->创建交换机对象-->发送消息 消费者主要做的是:创建连接-->创建channel-->创建交换机--&g ...