預設一個線性模型:
y = x*w + b(w = 0.1,b = 0.2)
x是給定的輸入數據
使用tensorflow構建一個模型,開始的時候,w和b全部給成0,讓其訓練,使其接近預設的模型。即讓w接近0.1,b接近0.2
代碼:
import tensorflow as tf
import numpy as np
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))
#梯度下降
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(201):
sess.run(train)
if step%20 == 0:
print(step,sess.run([k,b]))
結果: