深层神经网络-吴恩达神经网络和深度学习学习笔记

1 L2正则化

       \begin{aligned} &J = (W^{[1]},b^{[1]},\cdots,W^{[l]},b^{[l]})=\frac{1}{m}\sum_{i=1}^m \mathbb{L}(\hat(y)^{(i)},y^{(i)}) + \frac{\lambda}{2m}||W^{[l]}||^2 \\ &dW^{[l]}=(from \ backprop) + \frac{\lambda}{m}W^{[l]} \\ &W^{[l]} = W^{[l]} - \alpha dW^{[l]} \\ &= W^{[l]} -\frac{\alpha\lambda}{m} W^{[l]} - \alpha (from \ backprop) \\ &= (1-\frac{\alpha\lambda}{m})W^{[l]} - \alpha (from \ backprop) \end{aligned}

L2正则化又被称作权重衰减,因为相当于在为正则化的基础上将之前的W^{[l]}先衰减(1-\frac{\alpha\lambda}{m})倍。

正则化为啥能降低过拟合?

  1. 正则化会使一部分参数接近于0,相当于降低了一些隐藏层单元的影响,相对是模型变得简单
  2. 因为神经网络使用了非线性激活函数,但是当w比较小时,z通常也会比较小,对有些激活函数来说会相对集中在近线性区,例如tanh中红线部分,会使模型相对简单。

     

2 Droup out 正则化

Droup Out 可以随机删除上镜网络中的单元,使得每次迭代只是用到了网络的一部分,我们不愿意把赌注都放在一个节点上,即不愿意给任意一个输入加入过多权重(这边通过可能被随机删除实现),droup out将产生收缩权重的平方范数的效果,若觉得某层更容易过拟合,可与将对应层的keep_prob设置的小一点。Droup out一大缺点就是损失函数J不能被明确定义,每次迭代都会随机移除一些节点,这导致我们无法check是否每一次都在朝梯度减小的方向运行,若想要debug,可以关掉Droup out。上图以第3层举例,这边我们需要注意,为了尽量不影响到第四层的计算,我们期望第3层的输出期望不变,故在进行随机失活后,我们会将第三层的输出除以keep_prob,这边keep_prob表示被保留的概率,keep_prob=1表示保留所有单元,即不做Droup out。

3 其他正则化

  1. 数据增广
  2. early stopping:因为权重参数通常是随机初始化的比较小的数据,随着迭代的进行,权重参数可能慢慢变大,及早停止,可能有部分权重参数还比较小

    

4 提升速度

  1. 数据归一化,同传统机器学习一样,方便执行梯度下降
  2. 梯度消失/爆炸

产生原因:

         下图举了一个🌰,深度神经网络,激活函数使用恒等函数,权重矩阵相同,权重参数是这些层的所有的权重矩阵的乘积,相当于指数级别的增长,若参数大于1,则很容易变得很大,若小于1,则很容易变得很小。

     

       再举一个例子,假设前一层单元很多,则该层输入很多,累加值有可能比较大,为了防止值过大或过小,单元数n越大,我们希望权重参数越小,这样累加值才小。所以在权重参数初始化的时候,我们可以在随机初始化的基础上除以输入特征规模相关。

       

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值