深度学习笔记-dropout(随机失活)

dropout是一种有效的正则化技术,通过在训练过程中随机关闭神经元来防止过拟合。它将每个样本分成多个子样本,在训练时按预设概率关闭一部分神经元,每次迭代更新权重和偏置,直到收敛。测试阶段所有神经元参与计算,以提高模型泛化能力。尽管dropout可能导致cost函数J的不确定性,但通过选择合适的cost函数,这一问题可以得到解决。
摘要由CSDN通过智能技术生成
  • drop 是通过设定的概率在每一层上随机清除一定的unit,网络会变得简洁,因为少了一些点

      keep-prob = 0.8
      d3.np.random.rand(a3.shape[0],a3.shape[1]) < keep-prob ##hidden layer中80%的点会保留,20%的点会消除,最终会是元素为true和false的矩阵
      a3 = np.multiply(a3,d3)      #a3*d3, 做乘法时,会将d3的元素转成0,1
      ##下面这步骤为 Inverted dropout(反向随机失活),dropout中最常用的种
      ##保证消除部分点后a3的期望值不变,如这里消除了20%的点,通过除以keep-prob来保证期望不变
      a3 /= keep-prob
    
  • 正向测试阶段并不希望结果是随机的,并无必要使用,即使使用后对于每一次z=wx+b也都是线性的运算,并无实际的作用

  • 每一层的keep-prob都可能不一样,如果某层的参数矩阵维度最大,为了消除过拟合,可能会设置keep-prob的值使得该层的unit消除的较多

  • dropout的过程:将一个总的样本分为多个小的样本。假定分成了10份。假如设置的消除概率为20%,则在训练时会消除20%的unit,保留80%,那么对第一批样本保留下来的80%的units进行训练,得到第一次的 y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值