본문 바로가기
ML & DL

[ML | 기본모델 톺아보기] Linear Regression (선형 회귀)

by 사라다 salad 2021. 4. 16.

 

  • Linear Regression(LR) 이란?

- 선형 회귀(LR) 는 지도학습(supervised learning) 기반 머신러닝 모델 중 대표적인 하나로, 주어진 데이터 집합 {y_i, x_i1, x_i2, …, x_ik} (i=1~n, n≥1) 에 대해 k 개의 독립변수(설명변수) x_i ={x_ij} (j=1~k) 와 종속변수(반응변수) y_i 가 선형(linear) 상관관계를 갖는다는 가정 하에, 해당 관계를 다음과 같은 수학적 모형, 곧 함수 형태로 나타낸 것이다:

 

y_i = β_1*x_i1 + β_2*x_i2 + … + β_k*x_ik + ϵ_i

 

- 이 때, 매개변수(parameters) β  는 x, y 사이의 관계성을 표현하는 값으로서 ‘회귀계수’ 라고도 하며, 데이터(관측값 x, y) 로부터 추정하여 구한다. 이렇게 구해진 회귀식(함수) 을 이용해 y 에 대한 x 의 영향력을 확인하거나, x 의 변화로부터 y 의 변화를 예측할 수 있다

 

- 일반적으로 독립변수 x 는 특성값(features) 에 해당하며, 하나 이상의 변수(차원)을 가질 수 있으나 (k≥1), 종속변수 y 는 결정값으로서 하나의 스칼라 값만을 가질 수 있다. 또한 회귀 모델에서의 결정값 y 는 연속형(continuous) 숫자 형태를 가진다는 점에서, 범주형(categorical) y 를 갖는 분류(classification) 모델과 구분된다.

 

 

  • Linear Regression 모델의 파라미터 추정(parameter estimation) 방법

- 일반적으로 머신러닝 모델에서의 적합(fitting) 은 모델의 loss function 을 정의하고 이를 최소화하는 파라미터(parameter) 을 추정(estimate) 하는 과정이라고 할 수 있다. 선형 회귀 모델의 경우, 일반적으로 ‘잔차제곱합(Residual Sum of Squares, RSS)’ 을 loss function 으로 하는 ‘최소 제곱법(Least Squares, LS)’ 을 이용한다.

 

  주어진 n개 데이터에 대한 선형회귀 모델을 다음과 같이 정의할 때,

 

y_i = β_1*x_i1 + β_2*x_i2 + … + β_k*x_ik = ∑(j=1~k) β_j*x_ij  (i=1,2,…,n)

 

  Loss function J 를 다음과 같이 정의할 수 있다:

 

J(β) = ∑(i=1~n) (yi-yi)^2  (i=1,2,…,n)

 

  해당 모델과 loss function 을 다음과 같이 벡터 형태로 표현할 수 있으며,

 

y = β_T x J(β) = (y-)_T (y-Xβ)

 

최소화하고자 하는 함수 J(β) 가 convex 형태를 갖는 2차 함수이므로, β  에 대해 미분하여 0 이 되는 지점을 찾으면 그 때의 β  값이 J 를 최소화하는 parameter 값으로 estimate 된다. 해당 풀이 결과는 Normal Equation 이라고 정리되어 있으며, 이를 유도하는 과정은 다음과 같다:

 

- 한편, 모델의 loss function 으로 RSS 을 사용하면 residual 의 제곱이 loss 로 더해지므로 특히 잔차(residual) 가 큰 데이터, 곧 이상치(outlier) 가 존재하는 경우 이에 민감하다는 단점이 있다. Outlier 에 의해 발생하는 큰 loss 를 줄이는 방향으로 학습이 이루어질 것이므로, 결과적으로 학습 과정에서 소수의 outlier 에 영향을 많이 받게 되는 것이다. 하지만 그럼에도 불구하고, residual 의 절대값을 사용할 경우 해당 loss function 은 미분 불가능한 함수가 되어 계산 과정이 매우 복잡해지기 때문에 어느 정도의 robustness 를 희생하고 RSS 를 사용하는 것이 이점을 가진다. 또한, 최소 제곱법(LS) 이 아닌 ‘최대우도추정(Maximum Likelihood Estimation, MLE)’ 방식으로 모델의 parameter 를 estimate 하고자 할 때, noise term ϵi  가우시안 분포(Gaussian distribution) 을 따른다고 가정하고 parameter β  를 estimate 하기 위해 likelihood 식을 정리하면 결과적으로 RSS loss function 을 유도할 수 있다.

 

 

  • Linear Regression 의 regularization

- 일반적으로 모델의 과적합(over-fitting) 을 막고 일반화(generalization) 성능을 높이기 위해 여러 regularization 기법들이 사용되며, 선형회귀 모델의 경우 loss function(RSS) 에 parameter 에 대한 penalty term 을 추가함으로써 parameter 값이 지나치게 커지는 것을 막는 기법인 Ridge Regression, LASSO 가 대표적이다.

 

  1) Ridge Regression: 다음과 같이 parameter 의 L2 norm 을 penalty term 으로 추가하는 방식.

 

J'(β) = ∑(i=1~n) ( y_i - ∑(j=1~k) β_j*x_ij )^2 + λ*∑(j=1~k)(β_j)^2

 

첫번째 항은 일반 선형회귀 모델의 loss function 에 해당하는 RSS term, 두번째 항은 regularize 를 위한 penalty term 이며, λ  는 regularize 정도를 나타내는 hyperparameter 로서 0~1 사이의 값을 가지며 RSS term 과의 상대적 비중을 조절한다.

아래 왼쪽 그림에서 RSS term 에 해당하는 등고선과 penalty term 에 해당하는 원이 만나는 지점이 최종적인 optimal estimation 값이 될텐데, 해당 수식에서 penalty term 이 2차식(제곱) 형태이므로 구조적으로 특정 axis 위의 점에서 만날 수 없다. 따라서 penalty term 에 의해 전체적인 parameter 값의 크기가 아무리 작아지더라도 아예 0 이 되어 해당 feature 가 사라지는 일은 일어나지 않는다.

 

  2) LASSO: 다음과 같이 parameter 에 대한 L1 norm 을 penalty term 으로 추가하는 방식.

 

J'(β) = ∑(i=1~n) ( y_i - ∑(j=1~k) β_j*x_ij )^2 + λ*∑(j=1~k)|β_j|

 

아래 오른쪽 그림에서 L1 norm (절대값) 인 penalty term 은 마름모꼴 형태를 가지므로, RSS term 과 만나는 지점이 특정 axis 위의 점이 될 수 있다. 곧, 특정 차원의 값이 0 이 되는 지점에서 optimal estimation 값을 가질 수 있으므로 결과적으로 해당 feature 가 사라지는 feature selection 효과를 가져올 수 있다. 

 

 

[참고문헌/출처]

- ISLR (Introduction to Statistical Learning: With Applications in R) slides (auapps.american.edu/alberto/www/analytics/ISLRLectures.html)

- PRML (Pattern Recognition and Machine Learning)