본문 바로가기
카테고리 없음

[Tensorflow] 선형회귀분석 하면서 함수들

by 슈퍼닷 2019. 11. 6.
반응형

 

tf.placeholder(자료형, 텐서모양, 이름)

tf.placeholder(tf.float32, [None, 2], name='x') 이런식으로 씀.

학습시 데이터를 줄때 placeholder를 쓴다. 데이터의 별명 이라고 보면됨. 나중에 feed_dict로 데이터 줌.

 

tf.Variable(data, 이름)

텐서플로우식 변수선언.

 

tf.constant(data, 자료형) 

텐서플로우식 상수선언

 

h = tf.matmul(X,W) +  b

가설함수 선언. 이러면 하나의 operator로 텐서가 생성되나보다

 

cost = tf.reduce_mean(tf.square(tf.subtract(h, holder_y))

제곱오차

 

train = tf.train.GradientDescentOptimizer(learning_rate = 0.01).minimize(cost)

경사 하강법

 

sess.run(tf.global_variables_initializer())

먼진 모르겠는데 이전에 선언한 텐서들을 받아오는 역할을 하는것같음. 무조건 해야된다고함.

 

_, loss = sess.run([train, cost] feed_dict={holder_x : x_data, holder_y : y_data})

학습 하고 loss에 cost operator의 결과값 저장

sess.run은 operator가 들어오면 연산의 결과값을 변수가 들어오면 변수 내용을 출력한다.

_W = sess.run(W) 를 하면 print(_W) 로 볼수있음 _W는 더이상 텐서가 아님.     

 

 

전체적흐름은..

데이터랑,변수선언하고, 가설함수 생성하고, 오차방식이랑 기울기 갱신방법 정하고 

그다음에 session.run 으로 돌리면된당                

반응형

댓글