MY MEMO
[MACHINE LEARNING] Linear Regression 본문
위의 코드는 tensorflow를 이용하여 linear regression을 구현한 것이다.
맨 처음 x축 training data 와 y축 training data를 입력하였다.
W에서 tf.random_normal([1]) //이 뜻은 랜덤으로 값이 하나인 1차 배열을 생성한다는 의미이다.
b또한 마찬가지로 생성해주고
우리의 일차 배열의 가정은 h(x) = W*x + b 이다
cost 는 cost function의 결과 값이고, (h-y) 즉 예측값과 결과값의 차이를
tf.square -> 2배 해준 뒤
tf.reduce_mean -> 더한 값의 평균을 cost에 저장해준다.
optimizer라는 변수에 GradientDescentOptimizer함수를 실행시킨 결과값을 넣는다.
Learning Rate는 한 step이 얼마나 움직이느냐를 나타내고 보통 0.01을 쓴다
이 GradientDescent를 실행시킨후 결과 값의 가장 작은 값을 train함수에다 넣는다
우리는 앞의 machine learning이론에서 tensorflow가 식을 실행할 때 그래프를 이용하여 연결하며 실행한다는 것을 알았다.
이것을 코드에서는 Session이라고 한다.
따라서 sess에 Session을 실행시키고
sess를 전역 변수 초기화를 시켜준다.
그리고 우리는 2000번의 계산을 통하여 예측값을 얻을 것이다.
따라서 2000번의 for문을 돌리고
session을 실행시켜준다.
session이 실행되며 train될 때 마다 W와 b를 업데이트 시켜준다.
그리고 setp값과 session이 진행되며 업데이트되는 cost, W, b값을 출력한다.
여기서 W는 1이되고 b가 0이 되어야 정답이다.(y=x)
placeholder란 내가 지금 값을 입력하지 않고 나중에 입력하겠다는 뜻이다.
이 코드의 뒤에 보면 feed_dic안에 x,y값을 입력함으로써 데이터를 입력한다.
이 코드의 뒤에 값은 ml을 통해 나온 값이 정확한지 테스트해보기 위해 쓰여진 코드이다.
'MACHINE LEARNING > Sung Kim - 실습' 카테고리의 다른 글
[MACHINE LEARNING] Softmax Function (0) | 2017.04.19 |
---|---|
[MACHINE LEARNING] Logistic classifier (0) | 2017.04.19 |
[MACHINE LEARNING] Multi Variable Linear Regression (0) | 2017.04.17 |
[MACHINE LEARNING] Linear Regression 의 cost 최소화의 TensorFlow 구현 (0) | 2017.04.07 |
[MACHINE LEARNING] 번외 tensorflow matplotlib 설치에 관해 (2) | 2017.04.07 |
Comments