我正在使用TensorFlow来实现一些基本的ML代码。我想知道是否有人可以简要解释一下以下函数中步长和学习率的含义和区别。
我使用tf.train.GradientDescentOptimizer(( 来设置参数学习率,使用 linear_regressor.train((来设置步数。我一直在浏览有关这些函数的 tensorflow.org 文档,但我仍然没有完全掌握这些参数的含义。
谢谢,如果我可以提供更多的信息,请告诉我。
在 SGD 中,您可以计算批次的梯度,并将参数沿所述梯度方向移动,其数量由学习率定义lr
:
params=old_params - lr* grad
其中grad
是参数的损失梯度。
Tensorflow 或类似库中的step
通常只表示每个纪元的此类更新数量。因此,如果您有step=1000
和lr=0.5
,您将调用上面的伪代码1000
次,每个纪元中都有lr=0.5
。