具有梯度下降的 Tensorflow 导致错误的系数
Tensorflow with gradient decent results in wrong coefficients
目前,我正在尝试构建一个线性回归,使用出生率 (x) 作为预测因子来预测预期寿命 (y)。
y=w*x+b
可以在此处找到数据集:Dataset
这是我的代码的在线 link:Code
想法很简单:i 运行 300 个 epoch,在每个 epoch 内,我将一对一的配对样本 (x 值,y 值) 馈送到梯度体面优化器以最小化损失函数。
然而,我得到的结果却大错特错。
我的结果图片:my result
它不会产生负斜率,而是总是产生正斜率,而提供的示例答案 here 会产生具有负斜率的更好模型。
我的编码有什么问题?
问题是线的位置
sess.run(tf.global_variables_initializer())
由于它在 while 循环内,w
和 b
每次迭代都会重新初始化为 0。因此,您看到的是一个 while 循环迭代训练的结果(最后一个).您应该在 while 循环之前移动该行。
目前,我正在尝试构建一个线性回归,使用出生率 (x) 作为预测因子来预测预期寿命 (y)。 y=w*x+b 可以在此处找到数据集:Dataset
这是我的代码的在线 link:Code
想法很简单:i 运行 300 个 epoch,在每个 epoch 内,我将一对一的配对样本 (x 值,y 值) 馈送到梯度体面优化器以最小化损失函数。
然而,我得到的结果却大错特错。 我的结果图片:my result
它不会产生负斜率,而是总是产生正斜率,而提供的示例答案 here 会产生具有负斜率的更好模型。
我的编码有什么问题?
问题是线的位置
sess.run(tf.global_variables_initializer())
由于它在 while 循环内,w
和 b
每次迭代都会重新初始化为 0。因此,您看到的是一个 while 循环迭代训练的结果(最后一个).您应该在 while 循环之前移动该行。