딥러닝 실습(1) - 선형회귀
2020. 1. 29. 13:16ㆍ딥러닝
중학교 때 배웠던 직선의 방정식
x값 1개, y값 1개씩 있을 경우
import tensorflow as tf
#x,y 데이터 값
data = [[2,81], [4,93], [6, 91], [8, 97]]
x_data = [x_row[0] for x_row in data]
y_data = [y_row[1] for y_row in data]
print(x_data)
print(y_data)
#변수 선언
#기울기 : a - 0~10 사이의 임의의 값
#y 절편 : b - 0~100 사이의 임의의 값
#seed?
a = tf.Variable(tf.random_uniform([1], 0, 10, dtype=tf.float64, seed = 0))
b = tf.Variable(tf.random_uniform([1], 0, 100, dtype=tf.float64, seed = 0))
#그래프 선언
#y에 대한 일차 방정식
y = a * x_data + b
#텐서플로우 rmse(Root Mean Square Error, 평균 제곱근 편차) 함수
rmse = tf.sqrt(tf.reduce_mean(tf.square(y - y_data)))
learning_rate = 0.01
gradient_descent = tf.train.GradientDescentOptimizer(learning_rate).minimize(rmse)
with tf.Session() as sess:
#변수 초기화
sess.run(tf.global_variables_initializer())
#2001번 실행
for step in range(10001):
sess.run(gradient_descent)
#100번마다 결과 출력
if step % 100 == 0:
print("Epoch : %.f, RMSE = %.04f, 기울기 a = %.4f, y 절편 b = %.4f" % (step, sess.run(rmse), sess.run(a), sess.run(b)))
기울기는 2.3, y 절편은 79에 가까워짐
'딥러닝' 카테고리의 다른 글
파이썬과 tensorflow 특정 버전으로 설치 (0) | 2020.02.24 |
---|---|
tensorflow 2.0 설치 (1) | 2020.02.05 |
아나콘다를 이용한 가상env 생성/활성화/삭제 (0) | 2019.07.28 |
딥러닝 2일차 - 텐서플로우 설치 (0) | 2019.03.31 |
딥러닝 1일차 - 아나콘다 설치 (0) | 2019.03.30 |