Statistics/ISLR

Group Lasso

뚜찌지롱 2021. 5. 21. 16:59

Lasso는 정규화/벌점 회귀 중 하나로 선형 회귀에 벌점을 추가하여 bias를 다소 포기하면서 더 많은 variance를 낮추는 방법이다. 즉, overfitting의 문제를 해결하기 위한 regularization 방법 중 하나이다. 벌점을 추가한다는 것은 회귀계수에 제약을 주는 것과 같은데 제약을 크게 줄수록 해당 회귀계수가 작아지게 된다. ridge는 회귀계수를 완전히 0으로 수축시키지 못하지만, 라쏘는 완전히 0으로 수축시켜 변수선택 효과를 가진다. 

 

하지만, 변수 중 범주형 변수가 존재하는 경우, 더미변수가 생성되며 lasso는 더미변수 하나 하나를 1개의 변수로 인식하기 때문에 범주형이라는 구조적인 특성을 고려하지 못하게 된다. 이러한 문제를 해결하기 위해 Group lasso가 제안되었다. 

 

예측변수가 m개의 그룹으로 나뉘어진다고 가정해보자. m개의 그룹은 교집합이 존재하지 않는다. 예를 들어, 범주형 변수가 $X^{(1)}, \dots , X^{(m)}$가 존재할 때, 각 범주형 변수가 그룹을 의미한다.   

 

Group lasso의 목적함수는 다음과 같다. 

 

$min_{\beta} \frac{1}{2} \left \| y-\sum_{l=1}^{m} X^{(l)} \beta^{(l)} \right \|_2 ^2 + \lambda \sum_{l=1}^m \sqrt{p_l} ||\beta^{(l)}||_2$

 

위 식에서 $X^{(l)}$은 그룹 L에 속한 예측변수에 해당하는 X의 submatrix이다. $\beta^{(l)}$는 그룹에 대한 회귀계수이며, $p_l$은 그룹의 크기이다. group lasso는 $beta^{(l)} = 0$에서 $||\beta^{(l)}||_2$가 미분되지 않는 성질을 이용하며, $\lambda$의 값과 그룹의 크기($p_l$)에 따라 벌점(그룹 회귀계수가 0에 가까워지는 정도)을 적용한다. 따라서, 일부 그룹 회귀계수를 0으로 완전히 수렴시켜 중요한 그룹변수만 선택하는 변수선택효과를 가질 수 있다. 각 그룹의 크기가 1이라면, lasso와 같은 결과를 도출한다. 

 

Group lasso의 확장으로 그룹 단위로 변수선택을 수행한 후, 그룹 내부에서 중요한 변수를 다시 선택하는 방법인 Sparse-group lasso(SGL)은 Lasso와 Group Lasso의 벌점이 가법적으로 조합된 형태이다.

 

$min_{\beta} \frac{1}{2n} \left \| y-\sum_{l=1}^{m} X^{(l)} \beta^{(l)} \right \|_2 ^2 + (1-\alpha)\lambda \sum_{l=1}^m \sqrt{p_l} ||\beta^{(l)}||_2 + \alpha\lambda ||\beta||_1$