浅谈 Dropout防止过拟合
来源:互联网 发布:java调用url 编辑:程序博客网 时间:2024/05/01 15:45
发生过拟合的主要原因可以有以下三点:
(1)数据有噪声
(2)训练数据不足,有限的训练数据
(3)训练模型过度导致模型非常复杂
Dropout是通过修改神经网络本身来实现的,它是在训练网络时用的一种技巧(trike)。它的流程如下:
假设我们要训练上图这个网络,在训练开始时,我们随机地“删除”一半的隐层单元,视它们为不存在,得到如下的网络:
保持输入输出层不变,按照BP算法更新上图神经网络中的权值(虚线连接的单元不更新,因为它们被“临时删除”了)。
以上就是一次迭代的过程,在第二次迭代中,也用同样的方法,只不过这次删除的那一半隐层单元,跟上一次删除掉的肯定是不一样的,因为我们每一次迭代都是“随机”地去删掉一半。第三次、第四次……都是这样,直至训练结束。
以上就是Dropout,它为什么有助于防止过拟合呢?可以简单地这样解释,运用了dropout的训练过程,相当于训练了很多个只有半数隐层单元的神经网络(后面简称为“半数网络”),每一个这样的半数网络,都可以给出一个分类结果,这些结果有的是正确的,有的是错误的。随着训练的进行,大部分半数网络都可以给出正确的分类结果,那么少数的错误分类结果就不会对最终结果造成大的影响。
阅读全文
0 0
- 浅谈 Dropout防止过拟合
- 浅谈dropout--防止过拟合的方法
- dropout防止过拟合
- Dropout Learning - 防止深度神经网络过拟合
- TensorFlow中的Dropout防止过拟合overfiting
- 深度学习Deep Learning: dropout策略防止过拟合
- TensorFlow学习---tf.nn.dropout防止过拟合
- 深度学习lstm防止过拟合之dropout
- 【转载】TensorFlow学习---tf.nn.dropout防止过拟合
- pytorch Dropout过拟合
- dropout与过拟合
- 浅谈深度学习尝常识:泛化、过拟合、Dropout、Attention
- 浅谈深度学习尝常识:泛化、过拟合、Dropout、Attention
- Dropout解决过拟合问题
- 防止过拟合
- SVM防止过拟合
- 防止过拟合方法
- 如何防止过拟合
- 电平转换电路
- PHP学习笔记 20
- Android 简单的ijkplayer
- oracle的行级锁与表级锁
- 【JavaScript 】Break 和 Continue 语句
- 浅谈 Dropout防止过拟合
- JDK,JRE,JVM区别与联系
- 金融TAG对照表
- NGINX和PHP之间的环境变量传递
- foo bar是什么意思
- T100自定义查查询笔数
- 折磨程序员的五类需求描述
- Linux用xshell连接不上求指教
- Java虚拟机的内存组成以及堆内存介绍