在神经网络中经常会用到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 为何会有正则化作用的更多相关文章

  1. Paper List ABOUT Deep Learning

    Deep Learning 方向的部分 Paper ,自用.一 RNN 1 Recurrent neural network based language model RNN用在语言模型上的开山之作 ...

  2. Deep Learning方向的paper

    转载 http://hi.baidu.com/chb_seaok/item/6307c0d0363170e73cc2cb65 个人阅读的Deep Learning方向的paper整理,分了几部分吧,但 ...

  3. 正则化方法:L1和L2 regularization、数据集扩增、dropout

    正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...

  4. 正则化,数据集扩增,Dropout

    正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...

  5. 正则化方法:L1和L2 regularization、数据集扩增、dropout(转)

    ps:转的.当时主要是看到一个问题是L1 L2之间有何区别,当时对l1与l2的概念有些忘了,就百度了一下.看完这篇文章,看到那个对W减小,网络结构变得不那么复杂的解释之后,满脑子的6666------ ...

  6. 模型正则化,dropout

    正则化 在模型中加入正则项,防止训练过拟合,使测试集效果提升 Dropout 每次在网络中正向传播时,在每一层随机将一些神经元置零(相当于激活函数置零),一般在全连接层使用,在卷积层一般随机将整个通道 ...

  7. Dropout正则化和其他方法减少神经网络中的过拟合

    1. 什么是Dropout(随机失活) 就是在神经网络的Dropout层,为每个神经元结点设置一个随机消除的概率,对于保留下来的神经元,我们得到一个节点较少,规模较小的网络进行训练. 标准网络和dro ...

  8. 深度学习(dropout)

    other_techniques_for_regularization 随手翻译,略作参考,禁止转载 www.cnblogs.com/santian/p/5457412.html Dropout: D ...

  9. [DeeplearningAI笔记]改善深层神经网络1.4_1.8深度学习实用层面_正则化Regularization与改善过拟合

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 正则化(regularization) 如果你的神经网络出现了过拟合(训练集与验证集得到的结果方差较大),最先想到的方法就是正则化(re ...

随机推荐

  1. 前端 html border-right: 1px solid red;

    后边框 加粗 实体线 红色 border-right: 1px solid red;

  2. Zabbix server(离线版)安装手册

    由于zabbix server需要依赖MySQL及PHP的相关依赖,因此需要先安装好MySQL及PHP的相关依赖后方可安装zabbixserver. 安装MySQL 目录mysql下的rpm 1.新建 ...

  3. 20165324 2017-2018-2 《Java程序设计》课程总结

    20165324 2017-2018-2 <Java程序设计>课程总结 每周作业链接汇总 预备作业1:20165324 我期望的师生关系 预备作业2:20165324 学习基础与C语言学习 ...

  4. 机器学习第5周--炼数成金-----决策树,组合提升算法,bagging和adaboost,随机森林。

    决策树decision tree 什么是决策树输入:学习集输出:分类觃则(决策树) 决策树算法概述 70年代后期至80年代初期,Quinlan开发了ID3算法(迭代的二分器)Quinlan改迚了ID3 ...

  5. cpu与寄存器,内核态与用户态及如何切换

    cpu:相当于计算机的大脑负责运算和发送命令: 寄存器:寄存器是cpu当中的一个有限存储部件,cpu从内存调用数据时,寄存器会将从内存调用的数据进行更新在寄存器中以一个字或变量进行存储. 寄存器总共分 ...

  6. The Cheap KD 10 is my best shoe yet

    10 years of anything is fairly huge Cheap KD 10, but adding something as great as Flyknit causes it ...

  7. 读取、设置 php.ini配置文件(复制)

    1.ini_get()获取配置参数,ini_set()设置配置参数 复制代码 代码如下: <?phpecho ini_get('display_errors'); //1//动态修改php.in ...

  8. 安装memcached扩展

    1.wget http://pecl.php.net/package/memcache  下载相对应的扩展包 2. tar -zxvf memcache-2.2.7.tgz 3.  cd memcac ...

  9. Array类拓展方法

    var arr=[ {name:'one',sex:'girl',handsome:true}, {name:'two',sex:'girl',handsome:false}, {name:'thr' ...

  10. 带你走进ajax(2)

    ajax原理介绍 传统的web应用 传统的web应用是客户端向服务器发送一个http请求后,客户端要一直等待服务器的响应,这时用户什么事也干不成. 最麻烦的是对于表单的提交.比如用户要填写用户信息,等 ...