机器学习中“步长”和“学习率”有什么区别?

4
我正在使用TensorFlow实现一些基本的机器学习代码。我想知道以下函数中步长和学习速率的含义和区别,希望有人能给我一个简短的解释。
我使用tf.train.GradientDescentOptimizer()来设置参数学习速率,并使用linear_regressor.train()来设置步数。我已经查阅了tensorflow.org上这些函数的文档,但仍然没有完全掌握这些参数的含义。
谢谢,如果需要更多信息,请告诉我。
1个回答

3
在随机梯度下降中,您需要计算批处理的梯度,并将参数沿着该梯度方向移动一定量,该量由学习率lr定义:
params=old_params - lr* grad 

其中 grad 是损失函数关于参数的梯度。

在TensorFlow或类似库中,step 通常只表示每个 epoch 中进行这样更新的次数。因此,如果您设置了 step=1000lr=0.5,则每个 epoch 中将使用 lr=0.5 调用上述伪代码 1000 次。


1
是的,但这1000步将在一个时期内完成。因此,如果有10个时期,则更新次数将为10000。 - ggaurav
@ggaurav 谢谢,你说得对。我会更新答案。 - Ash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接