Processing math: 100%
본문 바로가기
IT/ML

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

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

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

 

 

기본 선형 모델

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

 

Y=β0+β1X1++βpXp+ϵ

 

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

 

RSS=ni=1(yiβ0pj=1βjxij)2

 

 

The Lasso

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

 

RSS+λpj=1|βj|

 

 

Lasso 장점 및 사용하는 이유

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

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

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

The Lasso coefficient estimates

 

 

Ridge regression 과 Lasso 비교

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

 

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

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

Contours of the error

 

Lasso의 intuition

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