본문 바로가기
머신 러닝

04. Linear Regression

by Jnamelight 2017. 12. 2.

Linear Regression



우리가 살아가면서 필요한 데이터들의 지표들은 대부분 리니어 하다 or 표현이 가능하다.


즉 다시말해서 데이터들을 리니어 형식으로 표현이 가능하면 예측하기 쉽다.



예를 들면 어떠 x ,  y 의 그래프가 있다고 하자.



 x

 1

 2

 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

댓글