[models] 회귀분석(Regression Analysis)과 최소자승법(Least Square Method)

2021. 7. 12. 17:06Machine Learning/Models

728x90

이번 글에서는 머신러닝 모델 중 가장 기초적인 모델이라고 할 수 있는 회귀분석에 대해 알아보겠습니다. 회귀분석은 가장 기초적이지만 중요한 내용을 많이 포함하고 있는 모델이기도 합니다.


독립변수 $X$와 종속변수 $Y$ 그리고 오 차 항 $\epsilon$이 평균이 0이고, 분산이 $\sigma^2$인 정규분포를 따르고 있다고 가정할 때, 우리가 풀고자 하는 문제를 다음과 같이 나타낼 수 있습니다.

$Y=\beta_0 + \beta_1*X+\epsilon~,~where~\epsilon \sim N(0,\sigma^2)$

이와 같이 독립변수와 종속변수가 선형의 관계를 가질 때, 가중치 $\beta_0$, $\beta_1$을 찾는 문제를 선형 회귀분석이라고 정의합니다.

이 가중치들을 어떻게 찾을 수 있을까요? 이 가중치들을 찾는 방법 중 하나가 최소 자승 법입니다. 자승은 쉬운 말로 제곱을 의미하는데, 자승의 대상은 오차에 해당합니다. 즉 오차들을 제곱하여 그 오차들이 가장 최소의 값을 가지도록 가중치들을 찾아준다고 생각하시면 될 것 같습니다. 자세한 설명은 다음과 같습니다.

우선 $f(X) = \beta_0 + \beta_1*X$라고 두면, 준식은 $Y=f(X)+\epsilon$으로 나타낼 수 있습니다. 우리가 만든 모델로 예측한 값 $f(X)$와 실제 정답$Y$을 뺀 차이를 오차라고 하는데, 직관적으로 이 오차 $\epsilon=Y-f(X)$을 최소화시키면 실제 값과 비슷한 값을 만들 수 있을 것이라 생각됩니다. 음수에 대한 가능성과 입력값 $X$의 확률이 다를 가능성을 고려하여 오차 함수를 다음과 같이 나타낼 수 있습니다.

오차 함수 : $\mathbb {E}[\epsilon^2]=\mathbb {E}[(Y-f(X))^2]$


선형 회귀분석에서는 최소 자승법을 이용하여 오차 함수를 최소로 만드는 가중치 $\beta_0$, $\beta_1$를 찾아주게 됩니다. 위의 오차 함수처럼 곡면이 아래로 볼록한 경우, 오차 함수를 각 가중치에 대해 편미분을 하여 값이 0이 가중치를 최적의 가중치로 찾아주면 됩니다. 계산의 결과는 다음과 같습니다.

$\hat {\beta_1}=\frac {\Sigma_{i=1}^n(x_{i}-\overline {x})(y_{i}-\overline {y})}{\Sigma_{i=1}^n(x_{i}-\overline {x})^2}$

$\hat {\beta_0}=\overline {y}-\hat {\beta_1}\overline {x}$

여기서 $n$은 샘플의 개수, $\overline {x}$은 표본$X$들의 평균, $\hat {y}$은 $y$의 추정치를 의미합니다.