吴恩达深度学习第四课第一种课后编程作业_吴恩达深度学习 编程作业五 优化方法...

1.几种梯度下降方法比较

梯度下降、随机梯度下降、小批量梯度下降比较

梯度下降使用全部样本进行一次梯度计算

随机梯度下降使用单个样本进行一次梯度计算

小批量梯度下降使用部分样本进行一次梯度计算

需要设定参数:学习率、小批量梯度下降中的分多少批量m

ef835dacf78c4cf25008380b4b2e7d91.png

1ca5509a5dfd7f4f06d5fea3d2b12162.png

2.Gradient Descent

cc7d158bbfbaacba428b22e5466ca39b.png

3.Mini-Batch Gradient descent

fb477b7953e54107be1695abe9830450.png

之前的batch都是完整的批量,最后一个batch会有所缺少,故两部分写。

4.Momentum动量

d1d3ecdc5c859b9e9a33b9a79fa8652c.png

利用动量,减小mini-batch的震荡。

全零初始化速度,维度与w,b一样

a4d7415f1d44d0aff74e97fd803aea1e.png

更新公式:

15770fa00776c793fe2e1b87b02aec93.png

参数更新:

97cdb57cbee8489faf67ff7211c666ff.png

当参数beta=0时就是标准的梯度下降。

beta越大越平滑,越考虑之前的梯度,默认beta=0.9,一般可以考虑0.8-0.999之间。

Momentum考虑过去梯度,以平滑当前梯度,可与随机梯度下降,梯度下降,小批量梯度下降连用。

5.Adam

Adam是最有效的优化算法,结合了Momentum和RMSProp(动量+指数加权平均)。

具体公式:

e1da378195169b709f948ab25844c938.png

增加了超参数:

参数初始化:

4ea46ccaf050ecb2d6a31f2c8cd5dea0.png

参数更新:

1076e7543afe3042832b0eba93fdba94.png

ebb3f94be6d775eb5f25627f1f4a32ff.png

按照前处给的公式编写对应代码即可。

6.测试

梯度下降不需要初始化参数,Momentum和Adam都需要初始化参数。

a3776085380b7773cd12932a95ad7780.png

1396add73d5d1e2f21140c0cb1f541b0.png

22b3057805eb8ea7f06517862b8bdfa1.png

整个modle都是对之前完成函数的调用。

(1)小批量梯度下降

0ed3385fe2fbc14557a566ef8784c153.png

准确率0.797

(2)带动量的小批量梯度下降

04dba85f474edc919f41a8c216401048.png

准确率0.797

(3)带Adam模型的小批量梯度下降

b7638426823076810973eee6f12bab66.png

准确率0.94

小结:结果显示GD和Momentum准确率相同,Adam比前两者高很多,一般情况下Momentum的结果应当比GD的要好,但此处数据集过于简单,学习率也较低因此影响不大。Adam结果要远好于GD和Momentum,可能继续训练三者的结果会比较接近,但是也可以发现,Adam比GD、Momentum收敛的更快。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值