💻 개인공부 💻/머신러닝, 딥러닝

[ tensorflow ] 간단한 선형회귀모델 만들기

공대생 배기웅 2020. 12. 21. 01:38
반응형

문제

요구사항 분석

1. 변수 x,y,w,b 정의, variable

2. hypothesis, cost 함수 정의

3. cost값을 최소화하는 w값을 찾음. (learning_rate는 0.03으로 설정)

4. Session을 열고 초기화

5. x에 x, y에 y를 넣고 학습을 시킨 뒤(2001번) 적절한 w값과 b 값을 도출

 

소스코드

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

x = [1,3,5,7]
y = [7,15,21,31]
w = tf.Variable(1.0)
b = tf.Variable(0.0)
# 변수 x,y,w,b Variable로 정의

hypothesis = x*w + b
cost = tf.reduce_mean(tf.square(hypothesis - y))
# hypothesis, cost 함수 정의

optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.03)
train = optimizer.minimize(cost)
# cost값을 최소화하는 w값을 찾음

sess = tf.Session()
sess.run(tf.global_variables_initializer())
# Session 열고 초기화

for step in range(2001):
    if step%50==0:
        print(step, sess.run(w), sess.run(b),',cost: ', sess.run(cost))
        sess.run(train)

실행결과

의견

tf.Variable, tf.placeholder의 차이를 몰라서 어려웠다. 차이점을 다룬 글은 아래 링크에 정리하였다. 

 

newindow.tistory.com/211

 

[ Tensorflow ] tf.constant, tf.placeholder, tf.Variable의 차이를 알아보자

Tensorflow에서 변수를 설정할 때 크게 3가지의 방법을 이용할 수 있다. 각각의 차이점을 알아보자. 1. tf.constant 변하지 않는 일정한 값의 상수를 설정할 때 사용한다. tf.constant (value, dtype = None, Shap..

newindow.tistory.com

 

728x90
반응형