MLlab 02-TensorFlow簡単な線形回帰を実現


TensorFlowによる単純な線形回帰
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] ='2'

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

x_train = [1, 2, 3]
y_train = [1, 2, 3]

w = tf.Variable(tf.random.normal([1]), name='weight')
b = tf.Variable(tf.random.normal([1]), name='bias')

hypothesis = x_train*w+b

cost = tf.reduce_min(tf.square(hypothesis-y_train)) #reduce_mean : 평균

optimizer = tf.train.GradientDescentOptimizer(learning_rate = 0.01)
train = optimizer.minimize(cost)

sess = tf.Session()
sess.run(tf.global_variables_initializer())

for step in range(2001):
    sess.run(train)

    if step %20 ==0:
        print(step, sess.run(cost), sess.run(w), sess.run(b))