Lenear Regression의 Hypothesis와 Cost
- (Linear) Hypothesis
. 어떤 리니어한 모델이 우리가 가지고 있는 데이터에 맞을거다 라고 가설 (비례)
. 공부 많이 한 학생이 성적이 높을거라든지 등..
. 리니어한 선을 찾는 것. 학습하는 것
. 수학적으로 나타낸다면 ? H(x) = Wx + b ( H : 가설 ) , W와 b의 값에 따라 선이 결정
. 어떤 선이 잘 맞는 그래프의 선일까? 실제 데이터와 가설이 나타내는 점들과의 거리를 비교해서 거리가 멀면 나쁜것, 가까우면 좋은것.
. Cost function or Loss function (거리 측정) : H((x) - y)^2 , 거리의 차를 제곱
. cost(W,b) 는 값이 가장 작게 나오는 것을 학습시키는 것이 목표다.
Tensorflow로 간단한 linear regression을 구현
1) Build graph using TF operations
. 학습할 데이터 x와 y의 데이터가 주어졌다고 가정.
. Variable이라는 노드로 W와 b를 정의할 수 있다. (Tensorflow가 사용하는 variable..자체적으로 변경되는 값, trainable한 variable)
. hypothesis = x_train * W + b
. cost = tf.reduce_mean(tf.square(hypothesis - y_train)
. reduce_mean : tense가 주어졌을 때 그 값을 평균내주는 함수
. GradientDescent : cost를 minimize 시키는 것
2)3) Run/update graph and get results
. session을 만든다. sess = tf.Session()
. sess.run(tf.global_variables_initializer())
. w와 b가 업데이트
- Placeholder
. x, y 값을 따로 주지 않고 feed_dict에 담아 그때 필요한 데이터를 줄 수 있다.
. 만들어진 모델에 대해서 값을 따로 넘겨줄 수 있다는 것이 장점.
. shape도 같이 넘겨줄 수 있다. ([none] : 1차원, 개수는 아무 값이나)
.
'개발레시피 > └ 머신러닝' 카테고리의 다른 글
라멘 메뉴 이미지 판별하기 [머신러닝, 딥러닝 실전 개발 입문] (2) | 2018.11.27 |
---|---|
CNN으로 이미지 분류하기 [머신러닝, 딥러닝 실전 개발 입문] (0) | 2018.11.27 |
유사 이미지 검출하기 [머신러닝, 딥러닝 실전 개발 입문] (1) | 2018.11.27 |
3. Linear Regression cost 함수 최소화 (모두를 위한 딥러닝 스터디) (0) | 2018.11.14 |
1. 머신러닝의 개념과 용어 (모두를 위한 딥러닝 스터디) (0) | 2018.11.07 |
Comments