Linear Regression을 설계하기 위해 필요한 3가지

1. Hypothesis
예측한 값
어떻게 예측할 것인지 

2. Cost Function(loss)
잘했는지 못했는지를 예측하는 방법 
예측한 값과 실제값의 차이를 구함 

3. Gradient descent algorithm 
cost를 최적화 하는 방법 
밥 그릇 같이 생긴 그래프에서 cost의 최저 값을 구함


만약에 비교하고 싶은 대상이 3개일 경우에?

H(x,y,z) = wx + w'y + w''z + b

행렬의 곱셈 (내적)

H(X) = XW

matrix의 속성 
[5, 3] * [? , ?] = [5, 1] 
w는 3*1의 행렬이다. 

ex) 
[n, 3] * [3, 2] = [n, 2] 

matrix를 사용하면 multivariable에 쉽게 처리
instance가 많아도 쉽게 처리 
출력이 여러개여도 쉽게 처리 

이론적으로는 
H(x) = Wx + b 라고 표기하지만, 
실제 사용에 있어서는 
H(X) = XW 가 계산에 용이하기에 
위와 같이 사용한다. 

둘의 수학적 의미는 같다. 

Posted by 도이(doi)
,

feed: 학습 데이터를 넣는 것 

Posted by 도이(doi)
,

Regression - 관계식


Regression을 만들 때 가설(Hypothesis)를 세운다. 

이 때 Linear로 모델을 세울 수 있는 경우가 많다. 


선을 찾는 것을 학습을 한다고 한다. 


H(x) = Wx + b
가설     

W, b에 따라서 다른 형태의 선이 나타나게 된다. 


Cost Function

예측을 얼마나 잘 했는지 구하는 것.

Minimize Cost가 목표이다. 
cost를 최소화하는 W, b를 구한다. 


Posted by 도이(doi)
,

TensorFlow 사용법 

1. 그래프를 정의한다. (place holder라는 노드를 만들 수 있음.)

2. 세션을 통해서 값을 실행시킨다. (feed direct로 값을 넘겨준다.)

3. 업데이트 시키거나 출력값을 리턴시킨다. 


Tensor란 array를 말한다. 


용어

Ranks - 몇 차원이냐?
Shapes - 각각의 element에 몇 개가 드어있냐?
Types - 데이터 타입 대부분 float32, int32를 많이 사용. 



Posted by 도이(doi)
,