ML lab 04 DeepLearning

ML lec 04 - multi-variable linear regression


이번에는 다양한 variable(feature) 을 이용한 회귀를 공부한다.
전에 공부했던 걸 요약하자면 3가지로 요약할 수 있다.
1. Hypothesis 
H(x) = W*x + b
2. Cost function
cost(W,b) = (1/m) * (H(xi) - yi)^2
3. Gradient descent Algorithm

코세라에서도 이미 공부했던 거라 더 자세히 알고 있다.
이 유튜브 강의는 딥러닝 강의라 회귀 파트는 간단히 하는 것 같다.


위 표처럼 variable 이 2가지가 존재한다.
공부하 시간과 학습 태도를 가지고 점수를 예측하는 것이다.
위 내용을 식으로 표현하면 아래와 같이 표현할 수 있다.

위 식을 매트릭스로 표현하는 것이 좋다.


트랜스포스를 이용해 행렬에서 곱셈을 이용할 수 있다.

위 과정을 텐서플로우로 옮겨보자.
--------------------------------------------------------------
import tensorflow as tf
import numpy as np

#파일 첫줄에 "#"이 있는 것은 주석으로 처리하여 읽지 않음
xy = np.loadtxt('data.txt',unpack=True,dtype='float32')
#첫줄부터 맨마지막 전까지 (-1은 끝에서 부터 세는것)
x_data = xy[0:-1]
#y데이터는 맨 마지막 번째
y_data = xy[-1]

# x_data = [[1.,0.,3.,0.,5.],[0.,2.,0.,4.,0.]]
# y_data = [1,2,3,4,5]

print x_data
print y_data

#4개의 데이터
W = tf.Variable(tf.random_uniform([1,len(x_data)],-5.0,5.0))

hyp = tf.matmul(W,x_data)

cost = tf.reduce_mean(tf.square(hyp-y_data))

optimizer = tf.train.GradientDescentOptimizer(1e-2)
train = optimizer.minimize(cost)

session = tf.Session()
session.run(tf.initialize_all_variables())

for step in range(5000):
    session.run(train)
    if(step%100 ==0):
        print step, session.run(cost), session.run(W)
--------------------------------------------------------------

댓글

이 블로그의 인기 게시물

윈도우 설치에서 파티션 설정 오류(NTFS)

[exploit writing] 1_스택 기반 오버플로우 (1) First

하둡 설치 오류 정리