梯度下降 (GD) 与随机梯度下降 (SGD)

机器算法验证 机器学习 神经网络 梯度下降
2022-03-19 19:12:40

我知道这个问题是多余的,并且已经在这里得到了回答,但我仍然想从我的角度理解它,以确保我的术语是否正确。

我对梯度下降(GD)和随机梯度下降(SGD)之间区别的理解是:

  1. 在梯度下降 (GD) 中,我们使用所有训练数据执行前向传递,然后开始反向传播传递以调整权重。这被称为(一个时代)。
  2. 在随机梯度下降 (SGD) 中,我们使用训练集的子集执行前向传递,然后进行反向传播以调整权重。因此,这被称为(一次迭代)。

那是对的吗?

1个回答

梯度下降是解决优化问题的一种迭代方法。经典梯度体面中没有“epoch”或“batch”的概念。梯度体面的关键是

  • 按梯度方向更新权重。
  • 梯度是根据所有数据点精确计算的。

随机梯度下降可以解释为:从单个数据点“近似梯度”的快速而肮脏的方法。如果我们将这个“单个数据点”放松为“数据子集”,那么批处理和历元的概念就来了。

我在这里有一个相关的答案(带有演示的代码和情节)

与标准梯度下降相比,随机梯度下降如何节省时间?