학부 수업/머신러닝

5. 선형 회귀 (Linear Regression)

백지오 2020. 10. 21. 22:31
반응형

선형 회귀는 실수형 입력 데이터 $X$와 연속형 종속 변수 $Y$가 선형 관계를 가질 것이라 보고, 이 관계를 가장 잘 설명하는 회귀 계수Regression Coefficient를 데이터로부터 찾아내는 모델이다.

특히, 입력 데이터가 벡터 형태로 여러 값이 주어질 경우 다중 선형 회귀Multiple Linear Regression라 한다.

다중 선형 회귀 모델

$$ y = \beta X + \varepsilon$$

$\beta$는 회귀 계수, $\varepsilon$은 오차항이라고 하는데, 최근 딥러닝에서는 아래와 같은 노테이션을 사용하기도 한다.

$$ y = WX+b $$

$W$는 가중치weight, $b$는 편향bias이라고 하는데, 역할은 위의 식과 똑같다.
필자는 이 노테이션이 익숙한 관계로, 앞으로 포스트에서 이 노테이션을 사용하도록 하겠다.

회귀 계수 결정하기

회귀 계수는 모델의 예측값 $y'$와 $y$의 오차 제곱합이 0이 되도록 식을 회귀 계수에 대해 미분하여 구할 수 있다.

$$ \beta = (X^TX)^{-1}X^Ty $$

그러나, 대부분의 상황에서 모델을 미분하는 것이 불가능하거나 미분이 정확하게 떨어지지 않을 것이다. 이럴 때 사용가능한 방법이 Numerical Search의 하나인, 경사 하강법이다.

경사하강법Gradient Descent

경사하강법은 수치 미분을 통해 점진적으로 모델의 회귀 계수를 최적화하는 방법이다.
$X,Y$로 구성된 데이터셋을 이용하여 모델의 오차값을 최소화하는 회귀 계수를 미분을 통해 찾아낸다.

$$ W_{n+1} = W_n - \frac{d\epsilon}{dw} \cdot lr$$

$\epsilon$은 에러값, $lr$은 러닝 레이트라는 임의의 아주 작은 값이다.

경사하강법과, 배치 기반 경사하강법등에 대한 설명은 본 블로그의 아래 포스트들에 잘 설명되어있으니 생략하도록 하겠다.

경사하강법과 손실 함수

배치, 확률적 경사 하강법

로지스틱 회귀

회귀 문제를 분류에 활용할 수 있다.

$$ \text{Sigmoid}(x) = \frac{1}{1+e^{-x}}$$

위 시그모이드 함수(로지스틱 함수라고도 한다.)를 모델의 출력에 씌우면, 값은 0~1 사이로 제한된다.

이는 확률밀도함수의 조건에 부합한다.

그러므로, 어떤 $X$가 범주 $c$에 속할 확률을 회귀하도록 모델을 학습시켜, 분류에 선형회귀를 응용할 수 있다.

반응형