目前,我正在尝试构建一个线性回归模型,该模型使用出生率(x)作为预测因子来预测预期寿命(y)。 y = w * x + b 数据集可以在这里找到:Dataset
这是我的代码的在线链接:Code
这个想法很简单:我在每个纪元内运行300个纪元,将一对一的样本(x值,y值)馈入梯度体面优化器以最小化损失函数。
但是,我获得的结果是完全错误的。 我的结果图片:my result
它总是产生正斜率,而不是产生负斜率,而here提供的样本答案将产生一个更好的负斜率模型。
我的编码有什么问题?
答案 0 :(得分:1)
问题是行的位置
sess.run(tf.global_variables_initializer())
由于它位于while循环中,因此w
和b
在每次迭代时都被初始化为0。因此,您看到的是一次while循环训练的结果(最后一个)。您应该在while循环之前移动该行。