深度学习的Dropout

比如一个神经元的输出是x,那么在训练的时候它有p的概率keep,(1-p)的概率丢弃,那么它输出的期望是p x+(1-p) 0=px。因此测试的时候把这个神经元乘以p可以得到同样的期望。

训练阶段:

        随机断开概率p的神经元连接,

        对于某个特定的神经元,被断开的概率是p,输出为x,那么其输出期望=p*x+(1-p)*0=px

预测阶段:

        所有神经元正常连接,

        输出为x,那么将x*p作为输出,其输出期望为px,和训练阶段期望一致。

那么dropout为什么可以防止过拟合,可能有以下两种原因:

        1、投票机制。由于是随机断开连接,所以每次训练的网络都是不同的,但是这些不同的网络使用了相同的目标函数。预测的时候其实是综合了所有这么多种网络的一个结果,相当于一个投票过程,每种网络都投票,票多胜出,增强了整个模型的鲁棒性。对于其中每种神经网络而言,可能存在过拟合的情况,但是由于它们使用了相同的目标函数,那么预测阶段其实是取了多种网络的平均,是一种优化的过程,有效防止过拟合。

        2、减少神经元之间复杂的共适应性。当隐藏层神经元被随机删除之后,使得全连接网络具有了一定的稀疏化,从而有效地减轻了不同特征的协同效应。也就是说,有些特征可能会依赖于固定关系的隐含节点的共同作用,而通过Dropout的话,就有效地组织了某些特征在其他特征存在下才有效果的情况,增加了神经网络的鲁棒性。(引用https://blog.csdn.net/williamyi96/article/details/77544536)

        对于第二点,我是这样理解的。我们希望得到的特征都是相互独立的,如果有些特征是依赖其他特征的,那么所依赖的这部分特征的变化对整个模型的影响会很大,所谓牵一发而动全身。所以如果能避免特征之间相互的依赖性,最大可能地互相独立,就能加强模型的稳定性和鲁棒性。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值