具有适当梯度的Tensorflow导致错误的系数

时间:2019-03-12 09:30:33

标签: tensorflow linear-regression gradient-descent

目前,我正在尝试构建一个线性回归模型,该模型使用出生率(x)作为预测因子来预测预期寿命(y)。 y = w * x + b 数据集可以在这里找到:Dataset

这是我的代码的在线链接:Code

这个想法很简单:我在每个纪元内运行300个纪元,将一对一的样本(x值,y值)馈入梯度体面优化器以最小化损失函数。

但是,我获得的结果是完全错误的。 我的结果图片:my result

它总是产生正斜率,而不是产生负斜率,而here提供的样本答案将产生一个更好的负斜率模型。

我的编码有什么问题?

1 个答案:

答案 0 :(得分:1)

问题是行的位置

sess.run(tf.global_variables_initializer())

由于它位于while循环中,因此wb在每次迭代时都被初始化为0。因此,您看到的是一次while循环训练的结果(最后一个)。您应该在while循环之前移动该行。