🏉

Shrinkage Method & Regularization

Shrinkage Method는 회귀 분석의 변수 선택과 비슷한 정규화 방법이다.
변수 선택의 경우 중간이 없이 변수를 제거하거나 추가하거나 하는 방법이기 떄문에 실제로 어느정도 영향을 미치는 변수더라도 제거 되는 경우가 있고... 뭐 그러한 문제가 있다.
Shrinkage Method는 Descrete한 방법이 아닌 Continous 한 방법이기 때문에 변수가 미치는 영향을 연속적으로 조절할 수 있다.

Ridge Regression (L2 Regrularization)

β^ridge=arg minβ{i=1N(yiβ0j=1pxijβj)2+λj=1pβj2}\hat{\beta}^{\rm ridge} = \argmin_\beta \{\sum_{i=1}^N(y_i - \beta_0 -\sum^p_{j=1}x_{ij}\beta_j)^2+\lambda\sum_{j=1}^p\beta^2_j\}
λ\lambda는 Shirinkage 정도를 조절하는 Hyperparameter이다.
행렬과 벡터로 나타내면 아래와 같다.
β^ridge=(XTX+λI)1XTy\hat{\beta}^{\rm ridge} = (\bold{X}^T\bold{X +}\lambda\bold{I})^{-1}\bold{X}^T\bold{y}

Lasso Regression (L1 Regrularization)

β^lasso=arg minβ{12i=1N(yiβ0j=1pxijβj)2+λj=1pβj}\hat{\beta}^{\rm lasso} = \argmin_\beta\{\cfrac{1}{2}\sum_{i=1}^N(y_i-\beta_0-\sum^p_{j=1}x_{ij}\beta_j)^2+\lambda\sum_{j=1}^p|\beta_j|\}
Lasso Regression은 따로 행렬과 벡터로 딱 떨어지게 나타낼 수 없다.
Ridge Regression의 경우 값이 계속해서 변하지만, Lasso Regression의 경우 한번 0이 되면 계속 0이다.
이를 직관적으로 이해해보면 위와 같다.

LqL_q Regularization

1,2 말고도 여러 차원으로 정규화를 할 수 있다.
1보다 큰 값으로 정규화하면 값이 0에서 멈추지 않고 (Lasso 처럼) 1보다 작은 값으로 정규화하면 0에서 멈춘다.

Elastic Net

λj=1p(αβj2+(1α)βj)\lambda\sum_{j=1}^p (\alpha\beta_j^2+(1-\alpha)|\beta_j|)
Lasso와 Ridge를 같이 쓰는 방법