deep_learning_Dropout
主要内容:
一、dropout正则化的思想
二、dropout算法流程
三、dropout的优缺点
一、dropout正则化的思想
在神经网络中,dropout是一种“玄学”的正则化方法,以减少过拟合的现象。它的主要思想就是:在训练神经网络的每一轮迭代中,随机地关闭一些神经元,以此降低神经网络的复杂程度:
二、dropout算法流程
1)对于第k层的结点,选择一个范围在(0,1]的数keep_prob,表明每一个结点的存在几率为keep_prob
2)在每一轮迭代中,为第k层的所有结点随机分配一个范围在[0,1]的数D。如果某个结点的D小于等于keep_prob,那么这个结点在此轮迭代中能保存;否则,这个结点将在这轮迭代中被暂时删去,所谓删去,其实就是将该节点在这轮前向传播的输出值设为0。
3)对于保存下来的点,还需要做一步操作:新输出值 = 原输出值/keep_prob。
问:为何输出值要除以keep_prob呢?
答:因为这样能保证第k层输出的期望不发生改变,或者说是保持第k层输出值的scale。
4)以上是前向传播的过程,在反向传播中,同样需要对保留下来的结点的导数dA除以keep_prob。
5)每一层的keep_prob可以不一样,其中输入层X一般不进行dropout,结点数大的隐藏层其keep_prob可以小一点以降低其复杂度。
三、dropout的优缺点
优点:使用dropout正则化的神经网络,不会过分依赖于某个或某些特征,使得权重分散。因为在每一轮迭代中隐藏层的任何一个结点都有可能被删除,那么原本属于它的权重就会被分配到其他结点上,多次迭代平均下来,就能降低对某个特征或者是某个结点的依赖了。
缺点:损失函数在每一轮迭代中不一定是逐渐减小,因为此时的损失函数没有明确的定义。(这个不理解)
deep_learning_Dropout的更多相关文章
随机推荐
- go 语言 interface{} 的易错点
一,interface 介绍 如果说 goroutine 和 channel 是 go 语言并发的两大基石,那 interface 就是 go 语言类型抽象的关键.在实际项目中,几乎所有的数据结构最底 ...
- java中,有关移位运算符的有关讨论
java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >& ...
- 【笔记】《CNCF × Alibaba云原生技术公开课》知识点
一,课时1:第一堂“云原生”课 二,课时2:容器基本概念 1.已运行 docker run -d -t —name demo ubuntu top 命令, 是否可以在 demo 这个容器内部停止容器? ...
- 论文阅读 | Text Processing Like Humans Do: Visually Attacking and Shielding NLP Systems
[code&data] [pdf] 主要工作 文章首先证明了对抗攻击对NLP系统的影响力,然后提出了三种屏蔽方法: visual character embeddings adversaria ...
- jps 命令
NAME jps - Lists the instrumented Java Virtual Machines (JVMs) on the target system. This command is ...
- 21.根据hive绑定数据统计计算保存到hive表中
创建upflow表 create external table mydb2.upflow (ip string,sum string) row format delimited fields term ...
- 17.Azkaban实战
首先创建一个command.job文件 #command.job type=command command=echo it18zhang 然后打成zip压缩包 上传刚刚打包的zip包 上传完后可以执行 ...
- 13.sqoop的安装
上传sqoop压缩包,并解压 给sqoop一个软链接 给sqoop配置环境变量 #sqoop export SQOOP_HOME=/opt/modules/sqoop export PATH=$P ...
- *【Python】【demo实验31】【练习实例】【使用turtle画小猪佩奇】
如下图小猪佩奇: 要求使用turtle画小猪佩奇: 源码: # encoding=utf-8 # -*- coding: UTF-8 -*- # 使用turtle画小猪佩奇 from turtle i ...
- JVM 分析工具和查看命令,超详细
jinfo 可以输出并修改运行时的java 进程的opts. jps 与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. jstat 一个极强 ...