我正在使用TensorFlow来实现一些基本的ML代码。我想知道是否有人可以在以下函数中简短解释步长和学习率的含义和差异。
我用tf.train.GradientDescentOptimizer()设置参数学习率,并用linear_regressor.train()设置步数。我一直在浏览tensorflow.org上的文档以了解这些功能,但我仍然不完全了解这些参数的含义。
谢谢,让我知道是否还有更多我可以提供的信息。
在SGD中,您计算批次的梯度并将参数沿所述梯度的方向移动由学习率lr
定义的量:
params=old_params - lr* grad
其中grad
是损失与参数的梯度。
张量流或类似库中的step
通常仅表示每个时期的此类更新次数。因此,如果您具有step=1000
和lr=0.5
,则将在每个时期以1000
调用lr=0.5
以上的伪代码。