회귀

2 minute read

회귀

회귀 분석은 유전적 특성을 연구하던 영국의 통계학자 갈톤이 수행한 연구에서 유래했다. 부모와 자식 간의 키의 상관관계를 분석했던 갈톤은 부모의 키가 모두 클 때 자식의 키가 크긴 하지만 그렇다고 부모를 능가할 정도로 크지 않았고, 부모의 키가 모두 아주 작을 때 그 자식의 키가 작기는 하지만 부모보다는 큰 경향을 발견했다.

즉, 사람의 키는 평균 키로 회귀하려는 경향을 가진다는 자연의 법칙이 있다. 회귀 분석은 데이터 값이 평균과 같은 일정한 값으로 돌아가려는 경향을 이용한 통계학 기법이다.

독립변수 개수 회귀 계수의 결합
1개 : 단일 회귀 선형 : 선형 회귀
여러 개 : 다중 회귀 비선형 : 비선형 회귀

다항 회귀

비선형 데이터세트에 훈련시킬 수 있는 조금 더 복잡한 모델이다. 다항이다보니 선형 회귀보다 파라미터가 많다. 그래서 훈련 데이터에 과대적합되기 더 쉽다.

  • 학습 곡선을 사용해 모델이 과대적합되는지 감지하는 방법
  • 훈련 세트의 과대적합을 감소시킬 수 있는 규제 기법

분류로 사용되는 회귀

  • 로지스틱 회귀
  • 소프트 맥스 회귀

선형 회귀

다음은 삶의 만족도에 대한 선형 회귀이다.

$\hat{y} = \theta_0+\theta_1 \times 1인당 GDP$

  • 1인당 GDP : 모델의 입력 특성
  • $\theta_0, \theta_1$ : 모델 파라미터

선형 회귀 모델의 예측
$\hat{y} = \theta_0 + \theta_1 x_1 + … + \theta_n x_n$

  • $\hat{y}$ : 예측값(종속변수, 결정 값)
  • $n$ : 특성의 수
  • $x_i$ : $j$번째 특성값(독립변수, 피처)
  • $\theta_j$ : $j$번째 모델 파라미터(회귀 계수)

회귀 예측의 핵심은 주어진 특성값과 예측 값 데이터 기반에서 학습을 통해 최적의 모델 파라미터를 찾아내는 것이다.

선형 회귀 모델의 예측(벡터 형태)
$\hat{y}=h_\theta \left( \mathbf{x} \right) = \boldsymbol{\theta} \cdot \mathbf{x}$

  • $\mathbf{\theta}$ : 모델의 파라미터 벡터(편향 $\theta_0$ 과 $\theta_1$에서 $\theta_n$까지의 특성 가중치)
  • $\mathbf{x}$ : 특성 벡터($x_0$에서 $x_n$까지. $x_0$의 값은 1이다.)

선형 회귀 모델을 만든다.
-> 훈련 데이터를 학습시켜 선형 회귀 모델을 만든다. = 모델이 훈련 세트에 가장 잘 맞도록 모델 파라미터를 설정한다. = 모델이 훈련 데이터에 얼마나 잘 들어맞는지 측정한다.

우리가 1-3장에서 살펴본 것은 프로젝트의 전체 단계이다. 이는 데이터를 sklearn 라이브러리에 맞는 모델을 가져와 훈련하고 하이퍼파라미터를 찾아 완성된 모델을 테스트하여 모델의 성능을 측정한다. 그 과정에서 각 모델이 어떤 방식으로 구동되는지는 모른채 넘어갔다. 이 장에서는 그 모델 훈련이 어떻게 되는지를 배운다. 우리는 모델의 성능 지표를 먼저 보고, 그 값을 최소화하는 $\theta$를 찾는다.

선형 회귀 모델의 MSE 비용 함수
$MSE\left(\mathbf{X},h_\theta\right) = \frac{1}{m}\sum_{i=1}^m \left(\theta^T \mathbf{x}^{(i)} - y^{(i)} \right)^2$

정규방정식

비용 함수를 최소화하는 $\theta$ 값을 찾는 해석적인 방법이다.

정규방정식normal equation

$\hat{\mathbf{\theta}} = \left( \mathbf{X}^T \mathbf{X} \right)^{-1} \mathbf{X}^T\mathbf{y}$

  • $\hat{\mathbf{\theta}}$ : 비용 함수를 최소화하는 $\theta$
  • $\mathbf{y}$ : 타깃 벡터

계산 복잡도

역행렬을 계산하는 계산복잡도 : $O\left(n^{2.4}\right) $ ~ $O\left(n^{3}\right) $ 사이

sklearn - LinearRegression Class의 SVD 방법의 계산복잡도 : $O\left(n^{2}\right) $

학습된 선형 회귀 모델은 예측이 매우 빠르다. 예측 계산 복잡도는 샘플 수와 특성 수에 선형적이다.