改善深层神经网络:超参数调试、正则化以及优化(二)- 优化算法

本次学习笔记主要记录学习深度学习时的各种记录,包括吴恩达老师视频学习、花书。作者能力有限,如有错误等,望联系修改,非常感谢!


第一版       2022-05-23        初稿

一、Mini-batch 梯度下降(Mini-batch gradient descent)

在这里插入图片描述
优化算法能够让神经网络运行得更快。

X的维数是(nx,m),Y的维数是(1,m),向量化能够相对较快的处理所有m个样本,m足够大处理速度仍慢,此时先让梯度下降法处理一部分,算法速度会更快。

可以把训练集分割为小一点的子集训练,这些子集被取名为mini-batch。x(1)到x(1000)取出来,称为X{1},以此类推。

(i)表示训练集里的值,(l)表示神经网络的层数,{t}表示不同的mini-batch。
在这里插入图片描述
首先对输入X{t}执行前向传播,接着计算Z[1]、A[1]到A[l]
接着计算损失成本函数J,如图使用正则化。
然后反向传播计算J{t}的梯度,接着更新加权值。

上述为“一代(1 epoch)”的训练,一代意味着只是一次遍历了训练集。想要多次遍历训练集,还需为另一个while循环设另一个for循环,可以一直遍历训练集,直到最后能收敛到一个合适精度。

二、理解mini-batch梯度下降法(understanding mini-batch gradient descent)

在这里插入图片描述
batch梯度下降法,每次迭代遍历整个训练集,可以预期每次迭代成本都会下降,如图左,若J在某次迭代增加了,那必是出问题的。

mini-batch梯度下降法,不是每次迭代都是下降的,但走势向下,如图右。噪声产生的原因在于也许X{1}和Y{1}是比较容易计算的mini-batch,因此成本会低一些。每个mini-batch的计算难度不确定,因此出现这些摆动。
在这里插入图片描述
极端情况下,mini-batch大小等于整个训练集大小,得到batch梯度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值