[ Tensorflow 예제 ] Linear Regression의 cost최소화의 Tensorflow 구현

2020. 12. 17. 16:02·🖥️ 컴퓨터공학 🖥️/머신러닝, 딥러닝
반응형

Linear Regression 첫 번째 예시

소스코드 설명

import tensorflow.compat.v1 as tf
print(tf.__version__)
# 텐서플로우 사용하기 위해 import
tf.disable_v2_behavior()
import matplotlib.pyplot as plt
# 그래프를 그래기 위해 import

x =[1,2,3]
y =[1,2,3]
w = tf.placeholder(tf.float32)
# 입력값x와 출력값y를 선언, w는 float(실수) 형태의 변수로 정의해줌

# 선형모델이 w*x라고 가정
hypothesis = w*x

# cost함수 정의
cost = tf.reduce_mean(tf.square(hypothesis - y))

#launch the graph in a session
sess = tf.Session()

sess.run(tf.global_variables_initializer())
#initializes global variables in the graph

w_val = []
cost_val = []
# 그래프를 그리기 위한 변수 w_val과 cost_val을 배열의 형태로 선언

# for문을 이용하여 x값이 -30일때부터 50일때까지 그래프 그림
for i in range(-30,50):
    feed_w = i*0.1
    # feed_w를 for문이 끝날 때마다 0.1씩 곱해줌. (-3 ~ 5)
    curr_cost, curr_w= sess.run([cost,w], feed_dict = {w: feed_w})
    w_val.append(curr_w)
    cost_val.append(curr_cost)
    
plt.plot(w_val, cost_val)
# 그래프의 x값과 y값 변수를 정의

plt.show()
# 그래프 출력

 

실행결과

 

 

 

Linear Regression 두 번째 예시 (when w= -3.0)

소스코드 설명

import tensorflow.compat.v1 as tf
print(tf.__version__)
tf.disable_v2_behavior()
# 텐서플로우 사용하기 위해 import

x = [1,2,3]
y = [1,2,3]
w = tf.Variable(-3.0)
# y = w*x 라는 식의 변수를 위와 같이 정의, w의 초기값은 -3

hypothesis = w*x
# 가설식 정의

cost = tf.reduce_mean(tf.square(hypothesis - y))
# cost함수 정의

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

sess = tf.Session()
#launch the graph in a session

sess.run(tf.global_variables_initializer())
#initializes global variables in the graph

for step in range(100):
    print(step, sess.run(w))
    sess.run(train)

실행 결과

 

 

 

 

참고자료

Kim Sung's Lecture

728x90
반응형

'🖥️ 컴퓨터공학 🖥️ > 머신러닝, 딥러닝' 카테고리의 다른 글

[ 딥러닝 알아가기 ] 경사하강법, 역전파, SoftMax 함수  (0) 2020.12.24
[ tensorflow ] 간단한 선형회귀모델 만들기  (0) 2020.12.21
[ Tensorflow ] tf.constant, tf.placeholder, tf.Variable의 차이를 알아보자  (0) 2020.12.21
[ Tensorflow 예제 ] Multi-variable linear Regression을 Tensorflow에서 구현  (0) 2020.12.17
[ 딥러닝 알아가기 ] 선형회귀(Linear Regression)와 경사하강법  (0) 2020.07.25
'🖥️ 컴퓨터공학 🖥️/머신러닝, 딥러닝' 카테고리의 다른 글
  • [ tensorflow ] 간단한 선형회귀모델 만들기
  • [ Tensorflow ] tf.constant, tf.placeholder, tf.Variable의 차이를 알아보자
  • [ Tensorflow 예제 ] Multi-variable linear Regression을 Tensorflow에서 구현
  • [ 딥러닝 알아가기 ] 선형회귀(Linear Regression)와 경사하강법
공대생 배기웅
공대생 배기웅
군노답 미필 공대생 배기웅의 대학생활을 갈아 넣은 블로그
    반응형
  • 공대생 배기웅
    글쓰는공대생의 IT블로그
    공대생 배기웅
  • 전체
    오늘
    어제
    • 분류 전체보기 (166)
      • 🖊️ 공대생 글쓰기 🖊️ (17)
        • 공대생 회고록 (4)
        • 공대생의 끄적끄적 (4)
        • 슬기로운 공대생활 (9)
        • 무한도전 대학원생 (0)
      • 📈 산업공학 📈 (14)
        • 금융, 파생상품 (13)
        • 통계 (0)
        • 선형대수 (0)
        • 보험, 리스크관리 (0)
        • 재무회계 (1)
      • 🖥️ 컴퓨터공학 🖥️ (92)
        • 머신러닝, 딥러닝 (12)
        • 텐서플로우, 케라스 (1)
        • 알고리즘 (24)
        • 웹 (5)
        • Python (3)
        • C | C++ (23)
        • Java (15)
        • 코드 에러 모음집 (9)
      • 😙 취미, 교양 😙 (2)
        • 영어공부 (1)
        • 일본어회화 공부 (1)
      • 🔍 정보 공유 🔍 (38)
        • 대학생 외부활동 정보 (2)
        • 개발자관련 정보 (3)
        • 대입 논술 입시자료 정보 (22)
        • 프로그램 세팅 (11)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

    • [공지] 글쓰는 공대생입니다 😃
  • 인기 글

  • 태그

    스캐너
    Operator
    경제성공학
    acmicpc
    OOP
    프로그래머스
    무작위 변수
    C++
    재귀함수
    프랜드함수
    조작자
    알고리즘
    객체지향
    이클립스
    데이터베이스
    백준
    자바
    equals프레임워크
    예외
    Java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
공대생 배기웅
[ Tensorflow 예제 ] Linear Regression의 cost최소화의 Tensorflow 구현
상단으로

티스토리툴바