본문 바로가기
ISLR

Chap 06 선형 모델 선택 및 정규화 - Shrinkage Methods : Ridge, LASSO

by 지식광부키우기 2019. 10. 4.

 

Shrinkage Methods

 

Shrinkage methods는 모든 p predictors를 포함하면서 coefficient estimates를 제한하고 규제합니다. 

 

즉, coefficient estimates를 0으로 줄이는 방법을 사용하여 모델을 적합시킵니다. 

 

Coefficient estimates를 줄이는 것은 분산을 감소시키는 효과를 가집니다. 

 

대표적인 방법으로 Ridge와 Lasso가 있습니다. 

 

 

Ridge Regression

 

Ordinary Least Squares (OLS)는 $\beta's$가 최소가 되는 값을 추정합니다.

 

$RSS = \sum_{i = 1}^{n} (y_{i} - \beta_{0} - \sum_{j=1}^{P}\beta_{j} x_{ij})^{2}$

 

Ridge Regression은 약간의 다른 방정식을 사용합니다.

 

$\sum_{i = 1}^{n} (y_{i} - \beta_{0} - \sum_{j=1}^{P}\beta_{j} x_{ij})^{2} + \lambda\sum_{j = 1}^{P}\beta_{j}^{2} = RSS + \lambda \sum_{j =1}^{p}\beta_{j}^{2}$

 

($\lambda \geq 0$)

 

 

Ridge Regression Adds a Penalty on $\beta's$!

 

추가 되는 식 $\lambda \sum_{j =1}^{p}\beta_{j}^{2}$을 shrinkage penalty라고 부릅니다.

 

$\beta_{1}, ..., \beta_{p}$가 0과 가까워질 때, shrinkage penalty는 작아집니다. 

 

또한 $\beta's$를 0으로 "shrinking" 하는 효과를 가집니다.

 

Tuning parameter $\lambda$는 positive value입니다. 

 

Tuning parameter는 RSS와 shrinkage penalty에 모두 영향을 미칩니다. 

 

$\lambda = 0$일 때, OLS를 실행한 것과 같습니다. 

 

$\lambda \rightarrow \infty$라면, shrinkage penalty는 증가하고 릿지 회귀의 coefficient estimates는 0에 접근합니다.

 

$\lambda$의 값에 따라 다양한 $\hat{\beta_{\lambda}^{R}}$을 만들 수 있습니다. 

 

좋은 $\lambda$ 값을 고르는 것이 매우 중요합니다. cross-validation이 이를 위해 사용됩니다. 

 

 

$\beta_{0}$?

 

Shrinkage penalty는 $\beta_{1}, ..., \beta_{p}$에 적용되고 $\beta_{0}$는 적용되지 않습니다. 

 

$\beta_{0}$는 $x_{i1} = x_{i2} = ... = x_{ip} = 0$일 때 response의 평균 값으로 간단히 계산 가능합니다. 

 

만약 변수들이 릿지 회귀를 시행하기 전에 평균값이 0으로 몰려있다면

 

Estimated intercept는 $\hat{\beta_{0}} = \bar{y} = \sum_{i=1}^{n} y_{i}/n$의 형태를 취할 것입니다. 

 

 

Credit Data: Ridge Regression

 

그림1

 

$\lambda$가 증가함에 따라, standardized coefficients는 0까지 감소합니다. 

 

$\hat{\beta}$는 vector of least squares coefficient estimates를 나타냅니다. 

 

$\parallel \beta \parallel_{2}$는 $\ell_{2}$ norm ("ell 2"로 발음합니다)를 나타내고 $\parallel \beta \parallel_{2} = \sqrt{\sum_{j=1}^{p}\beta_{j}^{2}}$입니다. 

 

0으로부터 $\beta$의 거리를 측정합니다. 

 

$\lambda$가 증가하면 $\ell_{2} norm of \hat{\beta_{\lambda}^{R}}$는 항상 감소합니다.  

 

또한 $\parallel \hat{\beta_{\lambda}^{R}} \parallel_{2} / \parallel \hat{\beta} \parallel_{2}$도 마찬가지입니다. 

 

 

Standardizied coefficients

 

릿지 회귀 coefficient estimates는 대체로 바뀔 수 있는데, 주어진 predictor에 상수를 곱할 때 그러합니다. 

 

$X_{j}\hat{\beta_{j, \lambda}^{R}}$는 $\lambda$의 값 뿐만 아니라 jth predictor의 scaling에도 의존합니다. 

 

$X_{j}\hat{\beta_{j, \lambda}^{R}}$는 $\lambda$의 값은 심지어 other predictors의 scaling에 의존하기도 합니다. 

 

Standardizing the predictors 후에 릿지 회귀를 적용하는 것이 가장 좋습니다. 

 

Standardinzing the predictors 공식은 $\widetilde{x_{ij}} = \frac{x_{ij}}{\sqrt{\frac{1}{n}}\sum_{i=1}^{n}(x_{ij}-\bar{x_{j}})^{2}}$입니다. 

 

그림1에서 y축의 Standardized coefficients는 standardized predictors를 사용하여 릿지 회귀를 수행한 후의 coefficient estimates 결과입니다.

 

 

0으로 줄이는 것이 왜 좋은 일일까요?

 

OLS 추정은 일반적으로 low bias를 가지지만 highly variable 합니다. 특히 n과 p가 비슷한 사이즈 거나 

 

n < p인 경우에 OLS 추정은 extrmely variable을 보입니다. 

 

이 페널티는 ridge regression 추정을 biased 하게 만들지만 상당히 variance가 감소합니다.

 

즉, $\lambda$가 증가하면 릿지 회귀의 유연성이 감소하고 분산도 감소합니다. 하지만 bias는 증가합니다.

 

따라서, bias/variance trade-off를 고려해야 합니다. 

 

 

Ridge Regression Bias / Variance

 

p = 45 predictors, n = 50 observations

 

Black : Bias

Green : Variance

Purple : MSE

$\lambda$의 증가는 bias가 증가 하지만 variance를 감소시킵니다.

 

그림2

 

 

Bias / Variance Trade-off

 

일반적으로 the ridge regression estimates는 OLS보다 더 biased해지지만 낮은 variance를 보입니다. 

 

OLS 추정이 매우 높은 분산을 가질 때, Ridge regression은 가장 잘 작동합니다. 

 

그림3

 

 

Computational Advantages of Ridge Regression

 

p가 크다면, best subset selection 접근을 사용하는 것은 엄청난 수의 가능한 모델들을 전부 찾아야 합니다. 

 

Ridge Regression에 $\lambda$만 설정해준다면, 한 모델만 적합하면 되고 이 계산은 매우 간단합니다.

 

Ridge Regression은 또한 p > n일 때도 사용 가능합니다. 이 상황에서 OLS는 완벽하게 실패하게 됩니다.

 

 

The LASSO

 

Rideg Regression은 완벽하지 않습니다.

 

하나의 중요한 문제는 penalty term이 coefficients를 정확하게 0으로 강제하지 않는 데 있습니다.

 

따라서 최종 모델은 모든 변수들을 포함시키고, 해석하기 어렵습니다. 

 

 

LASSO's Penalty Term

 

Ridge Regression minimizes

 

$\sum_{i = 1}^{n} (y_{i} - \beta_{0} - \sum_{j=1}^{P}\beta_{j} x_{ij})^{2} + \lambda\sum_{j = 1}^{P}\beta_{j}^{2} = RSS + \lambda \sum_{j =1}^{p}\beta_{j}^{2}$

 

The LASSO는 $\beta's$를 다음과 같이 최소화합니다.

 

$\sum_{i = 1}^{n} (y_{i} - \beta_{0} - \sum_{j=1}^{P}\beta_{j}x_{ij})^{2} + \lambda\sum_{j = 1}^{P}\left | \beta_{j} \right | = RSS + \lambda \sum_{j =1}^{p}\left | \beta_{j} \right |$

 

 

What's the Big Deal?

 

매우 유사한 아이디어처럼 보이지만 매우 다른 차이점이 있습니다.

 

이 penalty를 사용하면, 몇몇 coefficients가 결국 정확하게 0이 되는 것을 수학적으로 증명할 수 있습니다.

 

LASSO에서 높은 예측력을 자랑하는 모델을 생성할 수 있고, 해석하기도 쉽습니다.

 

 

Credit Data : LASSO

 

그림4

 

 

Selecting the Tuning Parameter $\lambda$

 

$\lambda$ 값을 결정할 필요가 있습니다.

 

A grid of potential values를 선택하고, error rate on test data를 추정하기 위해 cross validation을 사용합니다. (for each value of $\lambda$

 

그리고 최소한의 error rate를 주는 값을 선택합니다. 

 

 

그림5

댓글