선형 모델(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 결과로 선택하게 된다.
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이 되지는 않는다는 것 또한 확인할 수 있다.
Lasso의 intuition
Lasso를 적용해보고 모델의 performance가 더 좋아졌다면 내가 가진 데이터의 일부 파라미터를 제거하는 것이 더 결과가 좋을 수 있다는 insight를 가질 수 있다. 이를 통해 다른 subset selection기법을 적용하는 등 모델의 방향을 잡아 볼 수 있다.
'IT > ML' 카테고리의 다른 글
의사결정트리(Decision Tree) 분류트리, Gini, Entropy 쉽게 이해하기 (0) | 2020.11.03 |
---|---|
의사결정트리(Decision Tree) 회귀트리, pruning 쉽게 이해하기 (0) | 2020.11.03 |
Ridge regression(능형 회귀) 간단한 설명과 장점 (1) | 2020.10.26 |
K-Fold Cross Validation(교차검증) 쉽게 이해하기 (0) | 2020.10.19 |
Training, Validation and Test sets 차이 및 정확한 용도 (훈련, 검정, 테스트 데이터 차이) (2) | 2020.10.19 |