# Multi Variable Linear Regression
import tensorflow as tf
x1 = [1, 0, 3, 0, 5]
x2 = [0, 2, 0, 4, 0]
y = [1, 2, 3, 4, 5]
# 위의 데이터를 가지고 모델을 생성하기
# x가 2개이기 때문에 w도 2개 생성
w1 = tf.Variable(tf.random_uniform([1], -1, 1)) # 난수로 -1~1 사이의 값을 추출
w2 = tf.Variable(tf.random_uniform([1], -1, 1))
b = tf.Variable(tf.random_uniform([1], -1, 1))
hypothesis = w1 * x1 + w2 * x2 + b # 가설
cost = tf.reduce_mean(tf.square(hypothesis - y)) # cost 계산
learning_rate = tf.Variable(0.1) # learning_rete 설정 : 값이 nan이 나올 경우 수치를 변경한다.
optimizer = tf.train.GradientDescentOptimizer(learning_rate) # GD 방식 적용
train = optimizer.minimize(cost) # 코스트가 최소인 방식으로 학습
sess = tf.Session()
sess.run(tf.global_variables_initializer())
for i in range(2001):
# sess.run(train, feed_dict={x: [1, 2, 3], y: [1, 2, 3]})
sess.run(train)
if i %20 == 0:
print(sess.run(cost), sess.run(w1), sess.run(w2), sess.run(b))
sess.close()