Tensorflow——实现简单的线性回归

                                                         实现步骤 

  • 引入库
import tensorflow as tf
import numpy as np
  • 数据的随机生成
#使用numpy生成100个随机点
x_data = np.random.rand(100)
y_data = x_data*0.1 + 0.2
  • 构造一个线性模型
#构造一个线性模型,此处的变量初始值可以随便赋值,不会怎么影响最后的参数值
b = tf.Variable(0.)
k = tf.Variable(0.)
y = k*x_data + b
  • 定义二次代价函数
#定义二次代价函数
loss = tf.reduce_mean(tf.square(y_data - y))
  • 使用tensorflow中的梯度下降法训练优化器,设置学习率(此处学习率设为0.2)
#定义一个梯度下降法来训练优化器,学习率设置为0.2
optimizer = tf.train.GradientDescentOptimizer(0.2)
  • 最小化代价函数
#最小化代价函数
train = optimizer.minimize(loss)
  • 进行训练,并得到训练优化后的参数结果(每二十步打印一次训练结果)
#开始训练
#初始化变量
init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    for step in range(220):
        sess.run(train)
        if step%20 == 0:
            print(step,sess.run([k,b]))
  • 结果显示

由上可见,k趋近于0.1,b趋近于0.2,即我们训练出的模型和定义的线性模型基本相同

猜你喜欢

转载自blog.csdn.net/gaoyu1253401563/article/details/86005988