본문 바로가기
머신러닝/Linear Regression

Linear Regression

by jambo88 2022. 11. 23.

1. Regression 의미

키가 큰 아빠와 엄마 사이에서 태어난 아이의 키는, 물론 그렇지 않은 경우도 있겠지만 대체로 부모보다 작음.

그 반증으로, 만약 그렇다면 인간의 키는 계속적으로 상승했을 것임.

이러한 컨셉으로 제안 된 것이 '평균으로 회귀한다' 임.

 

그렇다면, 종속변수에 기인하는 변수들을 알고 있을 때, 이를 이용해서

데이터의 평균을 지나는 함수를 만들 수 있지 않을까?

$y=f(x)$y=f(x)

즉, 회귀분석은 관측값을 가장 잘 지나가는 직선 혹은 곡선의 방정식을 구하는 방법론임.

 

2. Linear Regression

선형회귀(Linear Regression)는 글자에서도 알 수 있듯이, 데이터를 선형(Linear)으로 표현 하는 방법임.

방정식과 실제값 사이에 가장 작은 오차를 갖는 방정식을 구하는 것이 목표.

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

만약 관측값(데이타)를 직선의 방정식을 이용해 표현하면,

우리가 알고있는 직선의 방정식에서 오차항을 추가하여 표현할 수 있음.

직선의 방정식이 실제로 그 관측값을 지나가는 것이 아니기 때문에,

관측값들은 직선의 방정식과 오차항 만큼의 차이를 갖게 되고,

이 오차항을 최소로 하는 방정식 일수록 관측값들을 잘 표현하는 방정식이라 할 수 있음.

 

그렇다면,

어떻게 구할 수 있을까?

방법은,

3. Least Squre Method

오차항의 제곱의 합을 최소화하는 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