단순 선형 회귀는 독립변수와 종속변수가 각각 1개인 선형 회귀이다.
예를 들어, 주택 가격이 주택의 크기로만 결정되는 단순 선형 회귀로 가정하면 집이 넓으면 가격이 높아지는 경향이 있기 때문에 아래 그림과 같이 주택 가격은 주택 크기에 대해 선형(직선 형태)의 관계로 표현할 수 있다.
위에서 볼 수 있듯이 실제 데이터는 우리가 예측한 회귀 모델에 딱 들어맞을 순 없다. 따라서 실제 데이터와 우리가 예측한 회귀 모델의 차이에 따른 오류값(잔차)이 존재할 수밖에 없다.
결국 우리는 현실을 잘 반영하는 예측 회귀 모델을 구하는 것이 관건이다. 즉, 예측 회귀 모델이 현실을 잘 반영하는지 안하는지에 대한 평가는 실제 데이터와 예측 회귀 모델 사이의 잔차가 작으면 현실을 잘 반영하는 좋은 모델이다.
→ 머신러닝에서 최적의 회귀 모델을 만든다는 것은 바로 전체 데이터의 잔차 합이 최소가 되는 모델을 만든다는 의미이고 동시에 잔차 합이 최소가 될 수 있는 최적의 회귀계수를 찾는다는 의미임
RSS
예측한 회귀 모델 위아래로 실제 데이터가 분포해 있으므로 잔차는 +나 -가 될 수 있다. 그래서 전체 데이터의 잔차 합을 구하기 위해 단순히 더했다가는 뜻하지 않게 잔차 합이 0이 되거나 크게 줄어들 수 있다.
→ 잔차 합을 계산할 때는
첫째, 잔차에 절대값을 취해서 더하거나(Mean Absolute Error)
둘째, 잔차에 제곱을 취해서 더함(RSS, Residual Sum of Square)
일반적으로 미분 등의 계산을 편리하게 하기 위해서 RSS 방식으로 잔차 합을 구함
RSS = (#1 주택 가격 - (w0+w1*#1 주택 크기))^2
+ (#2 주택 가격 - (w0+w1*#2 주택 크기))^2
+ (#3 주택 가격 - (w0+w1*#3 주택 크기))^2
+ ... (모든 학습 데이터에 대해 RSS 수행)
RSS는 학습 데이터의 건수로 나누어서 다음과 같이 정규화된 식으로 표현할 수 있다.
● RSS는 이제 변수가 w0, w1인 식으로 표현할 수 있으며, 이 RSS를 최소로 하는 w0, w1, 즉 회귀계수를 학습을 통해서 찾는 것이 머신러닝 기반 회귀의 핵심 사항임
→ RSS는 회귀식의 독립변수 x, 종속변수 y가 중심 변수가 아니라 w 변수(회귀계수)가 중심 변수임을 인지하는 것이 중요!(학습 데이터로 입력되는 독립변수와 종속변수는 RSS에서 모두 상수로 간주)
● 회귀에서 RSS는 비용(Cost)이며, 회귀계수로 구성되는 RSS를 비용 함수라고 함(비용 함수를 손실 함수(loss function)라고도 부른다.)
머신러닝 회귀 알고리즘은 데이터를 계속 학습하면서 이 비용 함수가 반환하는 값을 지속해서 감소시키고, 최종적으로는 더 이상 감소하지 않는 최소의 오류값을 구한다.
이 비용이 최소가 되는 파라미터(여기선 회귀계수)를 찾기 위해 경사 하강법을 사용한다.
'파이썬 머신러닝 완벽가이드 > [5장] 회귀' 카테고리의 다른 글
다항회귀(Polynomial Regression) (0) | 2023.04.10 |
---|---|
LinearRegression을 이용해 보스턴 주택 가격 예측 (0) | 2023.03.20 |
LinearRegression, 회귀 평가 지표 (0) | 2023.03.19 |
경사 하강법(Gradient Descent) (0) | 2023.03.10 |
회귀(Regression) (0) | 2023.03.07 |