Linear Regression
우리가 살아가면서 필요한 데이터들의 지표들은 대부분 리니어 하다 or 표현이 가능하다.
즉 다시말해서 데이터들을 리니어 형식으로 표현이 가능하면 예측하기 쉽다.
예를 들면 어떠 x , y 의 그래프가 있다고 하자.
x |
y |
1 |
1 |
2 |
2 |
3 |
3 |
위와 같이 데이터가 존재할떄 그래프를 그려보면
y = x + 0 으로 표현이 가능하다. 즉 저만큼의 데이터를 가지고도 리니어한 그래프를 형성 할수있다.
그럼 여러가지 데이터가 존재하고 있고, 학습을 시킬때 어떤식으로 선이 완성되는가?
-> 문제는 선을 찾는것이 중요해진다.
리니어를 찾는 가장 중요한 것은 일차 방정식으로 가설을 세우는 것이다.
위의 그림처럼 H(x) = Wx + b // 를 리니어를 찾는 공식이다.
여기서 가장 이상적인 그래프는 파랑색 그래프 일것이다.
하지만 한번에 찾기는 어렵다. 어떤값이 들어올지 예상이 되지 않기 때문이다. ( 많은 데이터가 있을경우 )
그럼 어떤식으로 찾아야 하는가?
바로 리니어 (예측한 그래프 ) 와 실제 데이터의 차이를 가지고 계산을 하는 것이다.
원래 데이터와 예측한 데이터의 차이를 보면 클수록 나쁘고 작을수록 좋은 것은 쉽게 파악이된다..
여기서 차이의 값에 제곱을 해주면
작은 값은 더욱 작아지게 되고 , 차이값이 큰값은 더욱 커지게 된다.( 확연하게 파악가능 )
그럼 결론적으로 위와 같은 표현이 완성된다.
위의 표현은 첫번째 데이터의 차이의 제곱 + 두번째 +세번째 / 3 ( 데이터갯수 ) = 평균차이
즉 이것을 Cost function 이라고 한다.
즉 완벽한 리니어를 찾기 위해서는 Cost function 이 적은것을 찾으면 된다
다시 공식으로 들어와보면 H(x) = Wx +b 를 대입하게 되면
cost 를 구하는 값은 W,b 로 나타낼수가 있다.
즉 Cost function 에 영향을 주는 값은 W, b 의 값이라는 것을 알수있다.
그럼 가장 작은 비용을 줄수 있는 W , b 를 찾는것이 오류를 줄이는 가장 큰 핵심인것을 확인 가능하다.
실습
실습을 통해서 linear 를 구해보도록 하자.
결과를 보면 cost 의 값이 점점 작아지면서 ( minimize ) 각각의 기울기 (W), 상수 ( b) 의값이 1, 0 으로 점점 수렴하는 것을 확인
계속해서 학습하여 더 정확한 값을 ( 오차가 적은 ) 찾아 나간다는 것을 확인 했다!
'머신 러닝' 카테고리의 다른 글
06. Multi-variable linear regression (0) | 2017.12.03 |
---|---|
05.Linear_regression의 cost 최소화 개념 (0) | 2017.12.03 |
03. TensorFlow 예제 (0) | 2017.12.01 |
02. TensorFlow 설치 (0) | 2017.12.01 |
01. 머신 러닝의 이해 (0) | 2017.12.01 |
댓글