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