介绍
使用TensorFlow怎么实现一个线性回归模型?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
线性拟合2.7 y=x + 0.6,代码如下:
import tensorflow as tf import numpy  as np import matplotlib.pyplot  as plt , n =, 201, #, x点数 X =, np.linspace (1, 1, n) (:, np.newaxis), #,等差数列构建X [: np.newaxis]这个是形状,这一行构建了一个n维列向量((1,n)的矩阵) 时间=noise np.random.normal (0.5 0,,,, X.shape), #,噪声值,与X同型 Y =, X * 2.7, +, 0.6, +, noise #, Y , 时间=xs tf.placeholder (tf.float32,[,, 1]), #,下面两行是占位符tf.placeholder (dtype,形状) 时间=ys tf.placeholder (tf.float32, [,, 1]) , 时间=w tf.Variable(1.1), #,这两行是体重变量,偏差变量,括号中是初始值 时间=b tf.Variable (0.2) , 时间=ypredict tf.add (w * x、b), #,根据,w, b 产生的预测值 , 时间=loss tf.reduce_sum (tf.pow (ys-ypredict, 2.0))/n #,损失函数,tf.reduce_sum()按某一维度元素求,和默认为按列 , 时间=optimizer tf.train.GradientDescentOptimizer (0.01) .minimize(损失),#,梯度下降优化器,0.01学习率,最小化损失 , 时间=init tf.global_variables_initializer(), #,初始化所有变量 , with tf.Session (), as 税:, ,sess.run (init), #,运行初始化, ,for 小姐:range (1000):拷贝,#,迭代1000次, sess.run才能(优化器,feed_dict =, {xs: X, Y: Y}), #,运行优化器,梯度下降用到损失,计算损失需要xs,, Y所以后面需要feed_dict if 才能;我% 50==0:,#,每隔50次迭代输出w, b,损失 ,,,,#,下面sess.run (w), sess.run (b)里面没有feed_dict是因为打印w, b不需要x, y,而打印损失需要, ,,,,print (“w:“, sess.run (w),“\ t b:“,, sess.run (b),“\ t 失:“,,sess.run(损失,feed_dict={xs: X, Y: Y})), ,, ,plt.plot (X, X * sess.run (w) + sess.run (b)), #,运行迭代之后绘制拟合曲线,这需要在税里面运行是因为要用到w, b ,plt.scatter (X, Y), #,绘制被拟合数据(散点), ,plt.show(), #,绘制图像
结果:
w:, 1.1106868,, b:, 0.2086223,损失:1.2682248 1.5626049 w:,,,,, 0.4772562,损失:0.7024503 1.8849733 w:,,,,, 0.57508457,损失:0.47280872 2.1149294 w:,,,,, 0.61071056,损失:0.36368176 2.278966 w:,,,,, 0.6236845,损失:0.30917725 2.3959787 w:,,,,, 0.6284093,损失:0.2815788 2.4794474 w:,,,,, 0.6301298,损失:0.26755357 2.5389886 w:,,,,, 0.63075644,损失:0.26041925 2.5814607 w:,,,,, 0.6309848,损失:0.2567894 2.611758 w:,,,,, 0.6310678,损失:0.25494233 2.6333694 w:,,,,, 0.6310981,损失:0.25400248 2.6487865 w:,,,,, 0.631109,,损失:0.2535242 2.659784 w:,,,,, 0.63111293,损失:0.25328085 2.6676288 w:,,,,, 0.6311139,损失:0.25315702 2.6732242 w:,,,,, 0.6311139,损失:0.25309405 2.6772156 w:,,,,, 0.6311139,损失:0.25306198 2.6800632 w:,,,,, 0.6311139,损失:0.25304565 2.6820953 w:,,,,, 0.6311139,损失:0.25303733 2.6835444 w:,,,,, 0.6311139,损失:0.25303313 2.684578 w:,,,,, 0.6311139,失:,0.25303096
看完上述内容,你们掌握使用TensorFlow怎么实现一个线性回归模型的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!