在本节,我们用tensorflow实现一个简单的线性回归
我们首先把这个过程分为三步:算法,线性回归 ;
策略 , 均方误差;
优化 , 梯度下降
1.准备好特征值和目标值(这里取一个特征值x,有100个样本)
2.建立模型(准备一个w和b) , y_predict = w x +b ,这里的w,b必须随机初始化
3.求损失函数,((y1-y1’)^2+…+ ( y100-y100’) ^2)/100
4.梯度下降,这是优化的方法(tennsorflowz中有,只需要自己指定学习率)
下面我们介绍下需要用到的api:
矩阵计算:tf.matmul(x,w)
平方:tf.square(error)
均值:tf.reduce_mean(error)
梯度下降:tf.train.GradientDecentOptimizer(learning_rate) 最小化损失,返回一个梯度下降的op
在上述第二步中,模型的参数,w,b必须用变量定义,不能用张量,因为变量是默认在训练过程中不断变化的
在编程的时候,尽量用矩阵相乘,别用遍历,这样速度太慢。
def my_regression():
#1.准备数据,特征值x, [100,1],目标值y,[100]
#这里x用张量定义,
x=tf.random_normal([100,1] , mean=1.75, stddev=0.5,name=“x_data”)
y_true=t