Linear Regression란 무엇인가?
Linear : 직선
Regression : 회귀
단어의 뜻을 이해하면 Linear regression 설명이 다 된다. 이름을 정말 잘 지었다.
기계가 학습을 하는데 학습을 하기 위해선 학습을 할 데이터가 필요하다.
x (hours) | y(score) |
10 | 90 |
9 | 80 |
3 | 50 |
2 | 30 |
요로코롬 x데이터는 공부하는 시간, y는 점수를 나타내는 데이터가 여기있다.
이러한 데이터를 training data라고 한다.
위 데이터를 regression 모델에 학습을 시키고 나서, x로 5를 regression 모델에 입력하면 출력으로 60정도 되는 점수가 출력 될 것이다.
위 과정이 Linear Regression을 모두 표현한 것이다.
-Hypothesis(가설)
세상의 많은 현상들은 Linear regression은 표현할 수 있다.
예를들면, 공부하는 시간이 많으면 성적이 좋다. 자동차가 속도가 높으면 과속카메라에 많이 찍힌다. 많이 먹으면 살이 찐다. 등등과 같은 현상들은 전부 input이 많으면 output이 많다. 로 표현된다.
중학생때 배운 기억을 더듬어 보면 비례 관계라는게 생각날 것이다.
비례관계를 그래프로 표현하면?
이런 직선방정식 그래프가 된다.
그렇다. Linear Regression이란 일직선 그래프로 표현되는 것이다.
위에서 말한 공부시간과 점수 training data를 가지고 학습을 진행하면 어떠한 직선이 나올 것이다.
그 직선은 우리의 Hypothesis(가설)이 되며, 방정식으로 표현이 가능하다.
H(x) = Wx + b
위 식이 우리의 hypothesis를 나타내는 방정식(직선)이 된다.
-cost란?
만약 여러개의 hypothesis가 있다면 그 중에서 가장 적합한 hypothesis는 무엇이 될까?
이 문제의 답은 간단하다.
가설과 실제 데이터사이에 차이가 크면 적합하지 않은 가설이고, 차이가 작으면 적합한 가설이다.
가 실제 데이터와 가설로 나온 데이터 간의 차이가 된다.
이 데이터는 +,-값이 둘다 나오기 때문에 제곱을 해준다.
제곱을 해주면 +,-가 무시되고 제곱 하지 않았을 때보다 차이가 클수록 값이 더 커지게 된다.
하나의 데이터에 데한 cost를 구하는 방법을 알아봤으니 이제 전체 데이터에 대한 cost를 알아야 가장 적합한 가설을 찾을 수 있다.
각 데이터의 cost들의 평균이 전체 cost가 된다.
가설에대한 cost 함수. m : 전체 데이터의 개수
cost 함수는 W,b에 대한 함수가 된다.
결론적으로 cost를 가장 작게 만드는 W와 b를 구하는 것이 머신러닝(Linear Regression모델)의 목표가 된다.
----------------------------------------------------------------------
https://hunkim.github.io/ml/
hunkim님의 머신러닝 강의로 공부한 내용을 작성합니다.
'CS > 머신러닝' 카테고리의 다른 글
[머신러닝] Linear Regression의 minimize cost 알고리즘 (0) | 2016.11.22 |
---|---|
[머신러닝] Linear Regression 실습 (0) | 2016.11.20 |
텐서플로 설치 -3 (파이참(Pycharm)에 tensorflow 설치)[마지막] (0) | 2016.11.09 |
텐서플로 설치 -2 (Anaconda에 tensorflow설치) (0) | 2016.11.09 |
텐서플로 설치 -1 (Anaconda 설치) (0) | 2016.11.01 |