多语言展示
当前在线:1644今日阅读:27今日分享:41

Tensorflow学习(五)——线性回归

本文以github上tensorflow的实例源码,讲解相关接口的用法1Tensorflow学习(二)——占位符0Tensorflow学习(四)—线性回归数据准备及显示0Tensorflow学习(三)——变量
工具/原料

tensorflow 1.4

均方差
梯度下降算法
1

tf.train.GradientDescentOptimizer(learning_rate, use_locking=False, name='GradientDescent')创建一个梯度下降优化器对象learning_rate 学习率

2

minimize(loss,global_step=None,var_list=None,gate_gradients=GATE_OP,aggregation_method=None,colocate_gradients_with_ops=False,name=None,grad_loss=None)通过更新var_list来减小lossvar_list:要更新的变量对象的列表或元组,用来减少损失。默认是在graphkeys.trainable_variables变量列表中在讲解变量时,定义变量有个参数,表明是否在训练变量列表,如果trainable设置为True,也会添加到GraphKeys.TRAINABLE_VARIABLES中

线性回归
1

代码参考如下图

2

第一步:因为相关的库,初始化变量,定义训练数据x和对应的标签y

3

第二步:定义训练数据和对应的标签的占位符,然后定义y=wx+bw和b都是可训练的变量,初始值为随机数pred = tf.add(tf.multiply(X, W), b)实现了函数y=wx+b

4

第三步:使用均方差计算损失,并使用梯度下降算法减少损失计算均方差时,除以的分母是2*n_samples,我觉得应该是n_samples,不知道为啥是2*n_samples

5

第四步:训练模型,对于每组数据,进行训练,共训练training_epochs次。每display_step次打印一次损失及w和b的值

6

第五步:画出特征数据与训练值的点及特征数据与预测数据对应的线

7

显示结果

推荐信息