1. Regression 의미
키가 큰 아빠와 엄마 사이에서 태어난 아이의 키는, 물론 그렇지 않은 경우도 있겠지만 대체로 부모보다 작음.
그 반증으로, 만약 그렇다면 인간의 키는 계속적으로 상승했을 것임.
이러한 컨셉으로 제안 된 것이 '평균으로 회귀한다' 임.
그렇다면, 종속변수에 기인하는 변수들을 알고 있을 때, 이를 이용해서
데이터의 평균을 지나는 함수를 만들 수 있지 않을까?
즉, 회귀분석은 관측값을 가장 잘 지나가는 직선 혹은 곡선의 방정식을 구하는 방법론임.
2. Linear Regression
선형회귀(Linear Regression)는 글자에서도 알 수 있듯이, 데이터를 선형(Linear)으로 표현 하는 방법임.
방정식과 실제값 사이에 가장 작은 오차를 갖는 방정식을 구하는 것이 목표.

산포되어 있는 관측값(데이터)를 잘 표현할 수 있는 직선의 방정식을 구하는 것이 주 목적임.
만약 관측값(데이타)를 직선의 방정식을 이용해 표현하면,

우리가 알고있는 직선의 방정식에서 오차항을 추가하여 표현할 수 있음.
직선의 방정식이 실제로 그 관측값을 지나가는 것이 아니기 때문에,
관측값들은 직선의 방정식과 오차항 만큼의 차이를 갖게 되고,
이 오차항을 최소로 하는 방정식 일수록 관측값들을 잘 표현하는 방정식이라 할 수 있음.
그렇다면,
어떻게 구할 수 있을까?
방법은,

오차항의 제곱의 합을 최소화하는 a와 b를 구하는 것임.
이른바, SSE(Sum of Square Error).

SSE 를 최소화 하는 미지수 a 와 b 는 아래와 같이 구할 수 있음.

식이 복잡해 보일수도 있지만,
사실 그 과정은 몰라도 됌.
a와 b를 구하는 분혹색으로 표시한 부분만 알고 있으면 됌.
이를 가지고 예제를 풀어보면,

Sol)1 Hand Calculation

Sol)2 with python

구한 a와 b 값을 적용한 그래프를 그려보면,

'머신러닝 > Linear Regression' 카테고리의 다른 글
| 보스턴 집값 예측하기 (Linear Regression) (1) | 2022.11.23 |
|---|