单变量线性回归Tensorflow实战
一、核心步骤
使用tensorflow进行算法设计与训练的核心步骤:
① 准备数据
② 构建模型
③ 训练模型
④ 进行预测
二、实战一:线性方程
-
单变量的线性方程可以表示为: y=w*x+b
-
本例通过生成人工数据集。随机生成一个近似采样随机分布,使得w=0.2,b=1,并加入一个噪声,噪声的最大振幅为0.4
y=2.0*x+1
完成:
1.人工数据集生成
#在Jupyter中,使用matplotlib显示图像需要设置为inline模式,否则不会现实图像
%matplotlib inline
import matplotlib.pyplot as plt #载入matplotlib
import numpy as np #载入numpy
import tensorflow as tf#载入Tensorflow
#设置随机数种子
np.random.seed(5)
#直接采用np生成等差数列的方法,生成100个点,每个点的取值在-1~1之间
x_data=np.linspace(-1,1,100)
#y=2x+1+噪声,其中噪声的维度与x_data一致
y_data = 2*x_data+1.0+np.random.randn(*x_data.shape)*0.4
-
利用matplotlib画出生成结果
#画出随机生成数据的散点图 plt.scatter(x_data,y_data) #画出我们想要学习到的线性函数 y =2x+1 plt.plot(x_data,2*x_data+1.0,color='red',linewidth=3)
3, 构建模型
定义训练数据的占位符,x是特征值,y是标签值。
x=tf.placeholder("float",name="x")
y=tf.placeholder("float",name="y")
定义模型函数
def model(x,w,b):
return tf.multiply(x,w)+b