使用Tensoflow实现梯度下降算法的一次线性拟合

# Author Qian Chenglong
import tensorflow as tf
import  numpy as np

#生成100个随机数据点
x_date=np.random.rand(100)
y_date=x_date*0.1+0.2

#构造一个线性模型
k=tf.Variable(0.)
b=tf.Variable(0.)
y=k*x_date+b

# 二次代价函数
loss=tf.reduce_mean(tf.square(y-y_date))#最小二乘

my_optimizer=tf.train.GradientDescentOptimizer(0.2)#定义一个使用梯度下降算法的训练器
train=my_optimizer.minimize(loss)#训练目标loss最小

init=tf.global_variables_initializer()#初始化变量

with tf.Session() as sess:
  sess.run(init)
  for step in range(201):
    sess.run(train)
    if step%20==0:
        print(step, '[k,b]:', sess.run([k, b]))

猜你喜欢

转载自www.cnblogs.com/long5683/p/10045957.html