TensorFlow 的梯度下降
函数在一阶导数为零的地方达到其最大值和最小值。梯度下降算法基于相同的原理,即调整系数(权重和偏置)使损失函数的梯度下降。
回归中,使用梯度下降来优化损失函数并获得系数。用 TensorFlow 的梯度下降优化器及其变体。
根据训练样本的大小三种梯度下降的变体
- Vanilla 梯度下降:在 Vanilla 梯度下降(也称作批梯度下降)中,在每个循环中计算整个训练集的损失函数的梯度。该方法可能很慢并且难以处理非常大的数据集。该方法能保证收敛到凸损失函数的全局最小值,但对于非凸损失函数可能会稳定在局部极小值处。
2. 随机梯度下降:在随机梯度下降中,一次提供一个训练样本用于更新权重和偏置,从而使损失函数的梯度减小,然后再转向下一个训练样本。整个过程重复了若干个循环。由于每次更新一次,所以它比 Vanilla 快,但由于频繁更新,所以损失函数值的方差会比较大。 - 小批量梯度下降:该方法结合了前两者的优点,利用一批训练样本来更新参数。
TensorFlow优化器
TensorFlow 为你提供了各种各样的优化器:
- 最流行、最简单的梯度下降优化器
tf.trian.GradientDescentOptimizer(learning_rate ) 中的 learning_rate 参数可以是一个常数或张量。它的值介于 0 和 1 之间。
minimize(
loss,
global_step

本文介绍了TensorFlow中梯度下降的三种变体:Vanilla梯度下降、随机梯度下降和小批量梯度下降,并探讨了它们各自的优缺点。同时,文章详细阐述了TensorFlow提供的几种优化器,如GradientDescentOptimizer、MomentumOptimizer和RMSpropOptimizer,以及学习率的衰减策略。

7212

被折叠的 条评论
为什么被折叠?



