L2 改善深层神经网络:超参数调试、正则化以及优化

第一周 深度学习的实用层面

初始化

欢迎来到“改善深度神经网络”的第一项作业。

训练神经网络需要指定权重的初始值,而一个好的初始化方法将有助于网络学习。

如果你完成了本系列的上一课程,则可能已经按照我们的说明完成了权重初始化。但是,如何为新的神经网络选择初始化?在本笔记本中,你能学习看到不同的初始化导致的不同结果。

好的初始化可以:

  • 加快梯度下降、模型收敛
  • 减小梯度下降收敛过程中训练(和泛化)出现误差的几率

首先,运行以下单元格以加载包和用于分类的二维数据集。

 我们希望分类器将蓝点和红点分开。

 

 

 运行以下代码使用零初始化并迭代15,000次以训练模型。

性能确实很差,损失也没有真正降低,该算法的性能甚至不如随机猜测。为什么呢?让我们看一下预测的详细信息和决策边界: 

 

 

 

因为数值舍入,你可能在0迭代之后看到损失为"inf",我们会在之后用更复杂的数字实现解决此问题。

总之,看起来你的对称性已打破,这会带来更好的结果。 相比之前,模型不再输出全0的结果了。

 

 

 

 

 

 

 

 

图1
足球场
守门员将球踢到空中,每支球队的球员都在尽力用头击球

他们为你提供了法国过去10场比赛的二维数据集。

 

 

 

 

 

 

 

 

 

 

 

 

 预期输出:
A3 = [[0.36974721 0.00305176 0.04565099 0.49683389 0.36974721]]

 

 预期输出:
dA1 = [[ 0.36544439 0. -0.00188233 0. -0.17408748]
[ 0.65515713 0. -0.00337459 0. -0. ]]
dA2 = [[ 0.58180856 0. -0.00299679 0. -0.27715731]
[ 0. 0.53159854 -0. 0.53159854 -0.34089673]
[ 0. 0. -0.00292733 0. -0. ]]

 

关dropout你应该记住的事情:

  • dropout是一种正则化技术。
  • 仅在训练期间使用dropout,在测试期间不要使用。
  • 在正向和反向传播期间均应用dropout。
  • 在训练期间,将每个dropout层除以keep_prob,以保持激活的期望值相同。例如,如果keep_prob为0.5,则平均而言,我们将关闭一半的节点,因此输出将按0.5缩放,因为只有剩余的一半对解决方案有所贡献。除以0.5等于乘以2,因此输出现在具有相同的期望值。你可以检查此方法是否有效,即使keep_prob的值不是0.5。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值