使用张量流进行线性回归

声纳帕蒂尔
import tensorflow as tf

M = tf.Variable([0.01],tf.float32)
b = tf.Variable([1.0],tf.float32)

#inputs and outputs

x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32) # actual value of y which we already know

Yp = M * x + b # y predicted value

#loss

squareR = tf.square(Yp - y)
loss =  tf.reduce_sum(squareR)

#optimize

optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(loss)

init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)

for i in range(1000):
    sess.run(train,{x:[1,2,3,4,5],y:[1.9,2.4,3.7,4.9,5.1]})
print(sess.run([M,b]))

输出

[array([ 0.88999945], dtype=float32), array([ 0.93000191], dtype=float32)]

问题:当我将 x 和 y 的值更改为

x:[100,200,300,400,500],y:[19,24,37,49,51]

那么输出是:

[array([ nan], dtype=float32), array([ nan], dtype=float32)]

请帮助我获得线性模型的斜率和 y 轴截距。

菲洛

将一些打印语句添加到您的训练循环中,我们可以看到训练期间发生了什么:

for i in range(1000):
    _, mm, bb = sess.run([train,M,b],{x:[100,200,300,400,500],y:[19,24,37,49,51]})
    print(mm, bb)
    if np.isnan(mm):
      break
print(sess.run([M,b]))

输出:

[ 1118.01000977] [ 4.19999981]
[-12295860.] [-33532.921875]
[  1.35243170e+11] [  3.68845632e+08]
[ -1.48755065e+15] [ -4.05696309e+12]
[  1.63616896e+19] [  4.46228634e+16]
[ -1.79963571e+23] [ -4.90810521e+20]
[  1.97943407e+27] [  5.39846559e+24]
[ -2.17719537e+31] [ -5.93781625e+28]
[  2.39471499e+35] [  6.53105210e+32]
[-inf] [-inf]
[ nan] [ nan]

该输出意味着您的培训正在发散。在这种情况下,降低学习率是解决问题的可能方法之一。

降低学习率0.000001,这些是 1000 次迭代后学习到的 M 和 b:

[array([ 0.11159456], dtype=float32), array([ 1.01534212], dtype=float32)]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用postgres进行线性回归

来自分类Dev

将线性回归与使用R的对数线性回归进行比较

来自分类Dev

使用Pandas数据框进行线性回归

来自分类Dev

使用函数列表进行线性回归

来自分类Dev

使用python进行线性回归的简单预测

来自分类Dev

使用sklearn进行线性回归的预测

来自分类Dev

Xmgrace:使用误差线进行线性回归

来自分类Dev

如何使用线性回归模型进行预测?

来自分类Dev

ShinyIncubator:使用矩阵输入进行线性回归

来自分类Dev

使用 Apache Beam 进行线性回归

来自分类Dev

在 Python 中使用线性代数进行线性回归

来自分类Dev

使用流进行PropertyChanges

来自分类Dev

使用流进行PropertyChanges

来自分类Dev

使用张量流进行多类分类时遇到问题

来自分类Dev

使用R中的数据表进行线性回归

来自分类Dev

使用Tensorflow.js进行非线性指数回归

来自分类Dev

使用Zoo对象进行线性回归时出错... $$-。zoo((* tmp *`

来自分类Dev

Spark(1.6)ML线性回归-如何使用模型进行预测

来自分类Dev

使用lm()进行长格式与宽格式的线性回归

来自分类Dev

使用Tensorflow.js进行非线性指数回归

来自分类Dev

使用Zoo对象进行线性回归时出错... $$-。zoo((* tmp *`

来自分类Dev

使用R中的数据表进行线性回归

来自分类Dev

使用PyMC(2)进行稳健的非线性回归

来自分类Dev

使用pymc3和信念进行线性回归

来自分类Dev

排除使用线性回归进行MDX预测的成员

来自分类Dev

使用Python进行线性回归(Pandas和Numpy)

来自分类Dev

在R中进行线性回归

来自分类Dev

使用张量流的线性回归每次给出不同的权重和成本

来自分类Dev

使用R的线性回归模型

Related 相关文章

热门标签

归档