随机梯度算法(SGDOptimizer)

随机梯度算法(SGDOptimizer)

随机梯度算法是神经网络中最常见的一种优化算法。主要是依据的梯度下降原理
设置要预测的函数为:
在这里插入图片描述
损失函数为:
在这里插入图片描述
则要使损失函数最小,我们可以使损失函数按照它下降速度最快的地方减小,因此需要在此列出损失函数的求导公式:
随机梯度算法(SGDOptimizer)_第1张图片
同时由于选用这种方法,可能会陷入局部最小值的问题,同时收敛的速度可能较慢
所以选用SGD,每次更新的时候使用一个样本进行梯度下降,所谓的随机二字,就是说我们可以随机用一个样本来表示所有的样本,来调整超参数。
因为这个样本是随机的,所以每次迭代没有办法得到一个准确的梯度,这样一来虽然每一次迭代得到的损失函数不一定是朝着全局最优方向,但是大体的方向还是朝着全局最优解的方向靠近,直到最后,得到的结果通常就会在全局最优解的附近。这种算法相比普通的梯度下降算法,收敛的速度更快,所以在一般神经网络模型训练中,随机梯度下降算法 SGD 是一种非常常见的优化算法。

你可能感兴趣的:(随机梯度算法,SGD)