본문 바로가기

python·Data Science

선형회귀 모델 - Linear Regression, Ridge, Lasso

728x90

선형회귀(Linear Regression Model)

머신러닝의 목적은 데이터의 알려진 속성들을 학습하여 예측 모델을 만드는데 있다. 이때 찾아 낼 수 있는 가장 직관적이고 간단한 모델은 선(line)이다. 선형회귀란 데이터를 가장 잘 대변하는 최적의 선을 찾은 과정이다.

아래 그래프에서 붉은색 점이 데이터이다. 이 데이터를 가장 잘 표현하는 선이 파란색 직선이며, 이는 일차 함수(y=ax+b) 형태로 나타난다.

위키피디아에서 가져 온 그래프에서 파란선이 선형회귀 모델을 나타내고 빨간점들이 훈련데이터를 나타낸다.

 

선형회귀 직선은 x와 y의 관계를 요약해서 설명해준다고 볼 수 있다.
이 때 x를 독립 변수라고 하며, x에 의해 영향을 받는 값인 y를 종속 변수라고 한다.
선형 회귀는 한개 이상의 독립 변수 x와 y의 관계를 모델링 하는데, 만약 독립 변수 x가 하나라면 단순 선형 회귀, 2개 이상이면 다중 선형 회귀라고 한다.

독립 변수는 예측(Predictor)변수, 설명(Explanatory), 특성(Feature) 등으로 불린다.
종속 변수는 반응(Response)변수, 레이블(Label), 타겟(Target) 등으로 불린다.

선형회귀 또는 최소제곱법은 가장 간단하고 오래된 회귀용 선형 알고리즘이다. 
선형회귀는 예측과 훈련 세트에 있는 타깃 y사이의 평균제곱오차(MSE)를 최소화하는 파라미터 w와 b를 찾는다.
매개변수가 없는 것이 장점이지만, 모델의 복잡도를 제어할 수 없다는 단점이 있다.

 

라쏘 (Regularization Model - Lasso)

기존의 선형 회귀에선 적절한 가중치와 편향을 찾아내는 것이 관건이었다. 라쏘는 거기에 추가적인 제약 조건을 준다. 

바로 MSE가 최소가 되게 하는 가중치와 편향을 찾으면서 동시에, 가중치들의 절댓값의 합이 최소가 되게 한다는 것이다. 다시 말해, 가중치의 모든 원소가 0이 되거나 0에 가깝게 되도록 해야 한다. 따라서 어떠한 특징들은 모델을 만들 때 사용되지 않기도 한다. 피처 선택이 자동으로 이루어진다고도 볼 수 있다.

라쏘의 장점은 크게 두가지다.

- 첫번째는 제약 조건을 통해 일반화된 모형을 찾는다는 것이다.

- 두번째는 가중치들이 0이 되게 함으로써 그에 해당하는 특성들을 제외해준다. 결과적으로 모델에서 가장 중요한 특성이 무엇인지 알게되는 등 모델 해석력이 좋아진다.

 

릿지(Regularization Model - Ridge)

라쏘와 굉장히 유사다. 차이가 있다면 라쏘는 가중치들이 0이 되지만, 릿지의 가중치들은 0에 가까워질 뿐 0이 되지는 않는다. 특성이 많은데 그중 일부분만 중요하다면 라쏘가, 특성의 중요도가 전체적으로 비슷하다면 릿지가 좀 더 괜찮은 모델을 찾아줄 것이다. 

 

반응형