随机梯度下降法与批量梯度下降法的区别

批量梯度下降法(batch gradient decent)就是我们平时所说的梯度下降,也就是梯度下降过程中,每次更新使用了所有的训练数据,最小化损失函数,找到局部最小值。


随机梯度下降法与批量梯度下降法的区别_第1张图片

当样本量很大的时候,那么更新速度会变慢。假如每次我们只取一个样本更新,这样速度就会快很多。我们每次只取一行样本计算,当成是搜索的方向。


随机梯度下降法与批量梯度下降法的区别_第2张图片

如上图所示,由于不能保证每次得到的方向是损失函数减小的方向,所以搜索路径是曲折的。即使如此,我们通常可以找到损失函数最小值的附近。但是样本总量m非常大时,我们原因用一定的精度换取更少的时间。
(随机梯度下降法是收敛的,θ每次都朝着让一个样本的损失函数损失最小的方向迈进一步,最终达到最小值。)
在之前的批量梯度下降中,学习率是个固定值。但是在随机梯度下降中,假如当快到最小值时,由于每次样本是随机的,那么可能又会跳出最小值。因此我们可以设定随着循环的增加,学习率逐渐减小(如上图右侧所示,a与b就是随机梯度下降的超参数)。

你可能感兴趣的:(随机梯度下降法与批量梯度下降法的区别)