본문 바로가기
IT/ML

Lasso 간단한 설명과 ridge, lasso 비교

by 모던네이쳐 2020. 10. 26.
728x90

 선형 모델(Linear model)의 예측력(accuracy) 혹은 설명력(interpretability)을 높이기 위해 여러 정규화(regularization) 방법들을 사용할 수 있다. 대표적인 shrinkage 방법에는 ridge regression과 lasso가 있으며 이번에는 Lasso를 설명하고자 한다.

 

 

기본 선형 모델

 기본적인 선형모델은 다음과 같다.

 

$Y = \beta_0 + \beta_1X_1 + \dots + \beta_pX_p + \epsilon$

 

 이 선형 모델의 오차를 최소화하는 계수를 찾기 위한 최소 제곱 법(Least squares)은 다음과 같다.

 

$RSS = \sum_{i=1}^n(y_i-\beta_0-\sum^p_{j=1}\beta_jx_{ij})^2$

 

 

The Lasso

 Lasso는 최소제곱법과 매우 유사하나, '각 계수 절댓값의 합'을 수식에 포함하여 계수의 크기도 함께 최소화하도록 만들었다는 차이가 있다.

 

$RSS + \lambda\sum^p_{j=1}|\beta_j|$

 

 

Lasso 장점 및 사용하는 이유

 Lasso를 사용하면 자연스럽게 subset selection 효과가 나타난다. 위 식에 대해 Gradient descent를 수행하면 일부 덜 중요한 계수들이 0으로 수렴하는 결과가 나온다.

 위 수식을 미분을 사용하여 풀 때, 절대값($|\beta_j|$)으로 인해 꺾이는 부분은 0으로 치환하여 처리하고 나머지 부분은 미분 가능함으로 계산에 어려움이 없다.

 Lasso의 이러한 특징으로 인해, 0으로 수렴한 계수가 많은 sparse models를 생성하게 된다. 적절한 $\lambda$값을 설정하기 위해서는 여러 수치로 조절해보고 cross validation 결과로 선택하게 된다.

The Lasso coefficient estimates

 

 

Ridge regression 과 Lasso 비교

 Lasso 공식에서 lambda를 제거하고 다음과 같이 수식을 변형할 수 있으며, 이 수식을 풀어도 동일한 문제를 해결할 수 있다.

 

 $\beta_1, \beta_2$ 두개의 파라미터를 가진 간단한 선형 모델을 푼다고 가정하였을 때, RSS가 최소가 되는 검은 점 $\hat{\beta}$을 중심으로 동일한 MSE를 빨간 원형 등고선을 그림으로 표현할 수 있다. 또한 $|\beta_1| +|\beta_2| \leq s$ 제약조건은 파란 마름모로 그릴 수 있다. 검은 점의 $\hat{\beta}$이 최적 값이지만, 계수가 적당히 작은 마름모 내의 파라미터 값을 찾고자 하기에 파란 마름모 부분과 맞닿으면서도 오차가 최소가 되는 빨간 궤적의 $\beta$값들을 최종 선택하게 된다. Lasso는 절댓값이 들어간 수식으로 인해 모서리가 뾰족한 마름모 형태를 띠기 때문에, 등고선이 뾰족한 부분에 닿아 일부의 $\beta$는 0이 되는 파라미터 조합을 고르게 된다는 것을 시각적으로 알 수 있다. 즉, 일부 파라미터가 0에 수렴하는 특징이 잘 드러난다.

 반면 Ridge regression은 $\beta^2_j$을 사용하여 파란 원형과 같이 그릴 수 있다. 둥근 모서리를 갖고 있기 때문에 계수가 적당히 작은 값을 취하지만 0이 되지는 않는다는 것 또한 확인할 수 있다.

Contours of the error

 

Lasso의 intuition

 Lasso를 적용해보고 모델의 performance가 더 좋아졌다면 내가 가진 데이터의 일부 파라미터를 제거하는 것이 더 결과가 좋을 수 있다는 insight를 가질 수 있다. 이를 통해 다른 subset selection기법을 적용하는 등 모델의 방향을 잡아 볼 수 있다.