机器学习基础篇-梯度优化方法1

Mini-Batch Gradient Descent
小批量梯度下降

如果我们拥有海量的训练数据,那么在每一轮epoch训练时就会花费很长的时间,很难追踪其训练的情况。在小批量梯度下降中,训练的损失和梯度都是根据当前batch进行计算的。

示例:
假设当前有m个样本的数据集X,在mini-batch方法中会将其划分为多个batch,如下图所示
在这里插入图片描述
小批量梯度下降的程序说明如下:

For t= (1, ... , #Batches):
 对t个批次的样本进行前向传播;
 计算t个批次的样本的损失;
 对t个批次的样本进行反向传播,求得每个参数的梯度并更新其值

值得注意的点是,在训练过程中,当我们不应用小批量梯度下降时,成本趋势比使用小批量来训练我们的模型更平滑。
在这里插入图片描述在这里插入图片描述

Stochastic Gradient Descent
随机梯度下降

  • 如果训练的batch_size为m(m<M),那么该训练为批量梯度下降
  • 如果训练的batch_size为1,那么该训练为随机梯度下降

选择合适的Batch_size
当训练样本量大小为M(1<M<2000),那么该样本量就属于一个小数据集,这时用批量梯度下降(Batch_size)就比较合适,如果样本量M>2000,也许小批量梯度下降会更加合适,通常小批量的大小为64,128,256等等。

下面展示一张不同batch_size对应不同训练收敛过程的示意图,可以从图中看出随着batch_size的增大,其收敛过程能够逐渐趋于平稳,反之则更加抖动。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Wiggles

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值