회귀 분석 코드
이 코드는 2차원 샘플 데이터를 사용하여 분포에 맞는 직선을 찾는 간단한 파이썬 프로그램입니다.
참조 사이트 :
텐서플로우 문서 한글 번역본 :: https://tensorflowkorea.gitbooks.io/tensorflow-kr/content/g3doc/get_started/
001_doc_start.py
import tensorflow as tf
import numpy as np
# 100개의 가짜 데이터 포인트를 NumPy 라이브러리 안에서 생성한다.
# y = x * 0.1 + 0.3
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3
# y_data = W * x_data + b 를 계산하기 위한 W와 b를 찾아본다.
# 코드로는 W가 0.1, b가 0.3인 것을 알 수 있지만
# Tensorflow는 직접 찾아낼 것이다.
W = tf.Variable(tf.random_uniform([1], -1.0, 1.))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b
##################################
# 평균 제곱 에러를 최소화한다. (?) #
# Minimize the mean squared errors #
##################################
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
# 시작하기 전에, 변수를 설정한다.
# 초기화를 가장 먼저 실행할 것이다.
init = tf.global_variables_initializer()
# 그래프를 실행한다.
sess = tf.Session()
sess.run(init)
# 줄을 맞춘다.
for step in range(401):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(W), sess.run(b))
# Best fit이 W: 0.1, b: 0.3 임을 학습한다.
# 끝나면 세션을 닫는다.
sess.close()
소스는 튜토리얼 그대로 해 보았구요,
아주 확실한 학습 결과를 보기 위해서 range만 401로 고쳤습니다.
다음은 결과 화면입니다.

결과에 따라 0.0999999 와 0.3000001 로 나타나기도 하네요.
'프로그래밍 > AI' 카테고리의 다른 글
caffe 설치 버전 2 (0) | 2017.08.17 |
---|---|
Caffe 설치 (0) | 2017.08.17 |
Caffe 설치 1. 옵션부터 설치하기 (0) | 2017.08.17 |
[그레이 후드 공부방] 텐서플로우 IRIS 예제 실행 오류 (1) | 2017.08.03 |
[그레이 후드 공부방] QEMU 옵션 주문하기 : 기본옵션 (0) | 2017.07.20 |