기하적 해석 (L1 벌점)¶
라쏘의 기하적 그림은 L1 벌점이 정확한 0을 만들고 L2 벌점은 그러지 못하는 이유를 드러낸다. 핵심 차이는 제약영역의 모양에 있다. L1 공은 좌표축 위에 꼭짓점을 가지며, 그 꼭짓점이 바로 하나 이상의 계수가 0인 점이다. RSS 등고선이 매끄러운 타원이므로 꼭짓점이 있는 제약집합과의 첫 접촉은 일반적으로 꼭짓점에서 일어난다.
L1 제약영역¶
2차원에서 이 영역은 꼭짓점이 \((\pm t, 0)\)과 \((0, \pm t)\)인 마름모(45도 회전한 정사각형)이고, \(p\)차원에서는 교차다면체(초팔면체)다.
L2 공과 구별되는 기하적 성질은 다음과 같다.
- 좌표축 위의 꼭짓점. 교차다면체의 꼭짓점은 각 좌표방향 \(\mathbf{e}_j\)에 대해 \(\pm t\,\mathbf{e}_j\)에 놓인다. 꼭짓점에서는 하나를 뺀 모든 좌표가 정확히 0이다.
- 좌표초평면 위의 모서리와 면. 2차원 마름모의 모서리는 한 좌표가 0인 직선 위에 놓인다. 고차원의 면도 좌표의 부분집합이 0인 상황에 대응한다.
- 매끄럽지 않은 경계. 경계에 법선 방향이 유일하지 않은 꼭짓점과 모서리가 있다.
RSS 등고선과 마름모의 만남¶
능형에서처럼 잔차제곱합은 \(\hat{\boldsymbol{\beta}}_{\text{OLS}}\)를 중심으로 하는 타원 등고선을 정의한다. 라쏘 해는 L1 공 위 또는 안에서 RSS를 최소화하는 점, 즉 가장 작은 RSS 등고선이 마름모에 닿는 점이다.
2차원에서 \(\lambda\)가 충분히 크면 \(\hat{\boldsymbol{\beta}}_{\text{OLS}}\)가 마름모 바깥에 놓인다. 그 중심에서 타원을 줄여 나가다가 마름모에 처음 닿는 점이 라쏘 해다.
희소성이 일어나는 이유¶
핵심 관찰은 매끄러운 타원이 꼭짓점 있는 다면체와 일반적으로 꼭짓점에서 접한다는 것이다.
L1 공의 경계는 평평한 면들로 이루어져 있다(2차원에서는 마름모의 네 모서리). 각 면은 한 좌표의 부호가 고정된 부분공간에 놓이고, 꼭짓점은 면들의 교차점이다.
평평한 면 위(꼭짓점이 아닌 곳)에서 접하려면 그 점에서 RSS 기울기가 면에 수직해야 한다. 이는 등식 조건이다. 반면 꼭짓점에서는 제약의 부분미분이 방향들의 원뿔이므로 KKT 조건이 부등식으로 완화된다. 부등식으로 정의된 집합은 양의 측도를 가지므로 꼭짓점 접촉이 실제로 자주 일어난다.

같은 자료에 두 제약을 씌운 그림이다. \(n = 60\), 표준화된 설명변수 두 개(표본상관 \(0.54\)), 참 계수 \((1.5,\ 0.35)\)이고 OLS 해는 \((1.315,\ 0.054)\)다. 회색 타원이 RSS 등고선이고, 색칠한 영역이 제약영역이며, 굵은 색 타원이 제약영역에 처음 닿는 등고선이다.
왼쪽 마름모는 \(\beta_1\)축 위의 꼭짓점 \((0.894,\ 0)\)에서 타원과 만난다. 해는 \(\hat\beta = (0.894,\ 0)\)으로 \(x_2\)가 모형에서 사라졌다. 여기서 중요한 것은 이 접촉이 우연이 아니라는 점이다. 꼭짓점을 조금 지나치는 방향으로 타원을 기울여 보아도 여전히 꼭짓점에서 먼저 만난다. 꼭짓점에는 법선 방향의 원뿔이 통째로 붙어 있어서, RSS 기울기가 그 원뿔 안에 들어오기만 하면 되기 때문이다. 조건이 등식이 아니라 부등식이므로 자료가 웬만큼 달라져도 결론이 바뀌지 않는다.
오른쪽 원은 같은 일을 하지 못한다. 접점은 \((0.640,\ 0.218)\)로 두 좌표가 모두 살아 있다. 원의 경계에서는 각 점에 법선이 정확히 하나뿐이므로, 접점이 \(\beta_2 = 0\)인 축 위에 놓이려면 RSS 기울기가 그 유일한 방향과 정확히 일치해야 한다. 등식 하나를 자료가 우연히 만족시켜야 한다는 뜻이고, 연속분포에서 그 확률은 0이다. 두 그림의 차이는 벌점의 세기가 아니라 경계에 모서리가 있느냐뿐이다.
참 계수가 \(\beta_2 = 0.35\)로 0이 아니라는 점도 함께 보아야 한다. 라쏘는 참으로 0이 아닌 계수를 0으로 만들어 버렸다. 희소성은 공짜가 아니며, 작은 참 효과를 지우는 대가로 얻는 것이다. \(\lambda\)를 줄여 마름모를 키우면 접촉점이 꼭짓점에서 모서리로 옮겨가고 \(x_2\)가 다시 살아난다. 어느 쪽이 옳은지는 기하가 아니라 교차검증이 답한다.
일반적 희소성
엄밀한 의미에서, "대부분의" 자료 배치(전체 르베그 측도를 갖는 집합)에 대해 라쏘 해는 L1 공의 꼭짓점이나 저차원 면 위에 놓이며 최소한 하나의 좌표가 0이 된다. 모든 좌표가 0이 아닌 면 내부에 해가 놓이는 것은 측도 0인 자료 배치에서만 일어난다.
2차원 그림¶
설명변수가 \(p = 2\)일 때 \(\hat{\boldsymbol{\beta}}_{\text{OLS}}\)의 위치에 따라 네 가지 경우가 있다.
경우 1: 꼭짓점에서의 접촉. \(\hat{\boldsymbol{\beta}}_{\text{OLS}}\)가 대체로 한 좌표축을 따라 놓이면 타원이 마름모의 꼭짓점에 닿는다. 한 계수는 0이 아니고 다른 하나는 정확히 0이다. 라쏘가 변수선택을 수행하는 상황이다.
경우 2: 모서리에서의 접촉. \(\hat{\boldsymbol{\beta}}_{\text{OLS}}\)가 좌표축 사이에 놓이면 타원이 마름모의 모서리에 닿을 수 있다. 두 계수가 모두 0이 아니지만 \(|\beta_1| + |\beta_2| = t\) 위에 제약되며 OLS 대비 축소된다.
경우 3: 내부 해. \(\hat{\boldsymbol{\beta}}_{\text{OLS}}\)가 마름모 안에 있으면 제약이 활성화되지 않고 라쏘 해가 OLS와 같다.
경우 4: 두 계수 모두 0. \(t\)가 매우 작으면(\(\lambda\)가 크면) 마름모가 원점의 한 점으로 줄어들어 \(\hat{\boldsymbol{\beta}}_{\text{lasso}} = \mathbf{0}\)이 된다.
L2 기하와의 대조¶
| 성질 | L1 (라쏘) | L2 (능형) |
|---|---|---|
| 제약 모양 | 마름모 / 교차다면체 | 구 / 초구 |
| 경계의 매끄러움 | 꼭짓점과 모서리 있음 | 어디서나 매끄러움 |
| 일반적 접촉 위치 | 꼭짓점 또는 모서리 | 경계의 내부 |
| 접촉점의 좌표 | 일부가 정확히 0 | 모두 0이 아님 |
| 희소성 | 있음 | 없음 |
고차원¶
\(p\)차원에서 L1 공은 \(2p\)개의 꼭짓점(좌표축당 한 쌍)과 \(2^p\)개의 \((p-1)\)차원 면, 그리고 풍부한 저차원 면 구조를 갖는다. 꼭짓점에서 접촉할 확률(0이 아닌 계수가 하나)은 타원이 구에 가까울수록(설명변수의 상관이 약할수록) 커지고, 타원이 길게 늘어날수록(상관이 강할수록) 작아진다.
주어진 \(\lambda\)에서 라쏘 해의 0이 아닌 계수의 개수는 접촉이 일어나는 면의 차원에 대응한다. 이 차원은 최대 \(\min(n, p)\)이며, \(p > n\)일 때 라쏘가 최대 \(n\)개의 변수만 고를 수 있다는 제약을 반영한다.
λ가 변할 때의 해 경로¶
\(\lambda\)가 \(\lambda_{\max}\)에서 0으로 줄어들면 제약영역이 커진다.
- \(\lambda = \lambda_{\max}\): 마름모가 아주 작고 \(\hat{\boldsymbol{\beta}}_{\text{lasso}} = \mathbf{0}\)이다.
- \(\lambda\)가 줄면: 마름모가 커지고 접촉점이 점점 높은 차원의 면으로 옮겨간다(0이 아닌 계수가 늘어난다).
- \(\lambda = 0\): 제약이 비활성화되고 \(\hat{\boldsymbol{\beta}}_{\text{lasso}} = \hat{\boldsymbol{\beta}}_{\text{OLS}}\)이다.
경로 \(\hat{\boldsymbol{\beta}}_{\text{lasso}}(\lambda)\)는 \(\lambda\)에 대해 조각별 선형이며, 접촉점이 다른 면으로 옮겨가는 지점에서 꺾인다.
연습문제¶
연습문제 1. "경로가 \(\lambda\)에 대해 조각별 선형"이라는 주장을 수치로 확인하고, 꺾이는 지점이 무엇을 뜻하는지 설명하라.
풀이
import numpy as np
from sklearn.linear_model import lasso_path
rng = np.random.default_rng(2)
n, p = 60, 6
X = rng.normal(size=(n, p)); X -= X.mean(0); X /= X.std(0)
beta = np.array([3., -2., 1., 0., 0., 0.])
y = X @ beta + rng.normal(0, 1, n); y -= y.mean()
alphas, coefs, _ = lasso_path(X, y, n_alphas=200)
nz = (np.abs(coefs) > 1e-10).sum(axis=0) # 각 alpha에서 활성 변수 수
\(\lambda\)를 \(\lambda_{\max}\)에서 줄여 가며 활성 변수의 수를 보면 계단 함수처럼 \(0 \to 1 \to 2 \to \cdots\)로 증가한다. 계단이 올라가는 지점이 경로의 꺾인점이다.
꺾인점의 의미. 두 꺾인점 사이에서는 활성집합(0이 아닌 계수의 집합)이 고정되어 있고, 그 안에서 해가 \(\lambda\)의 선형함수다. 활성집합이 고정되면 KKT 조건이 선형 연립방정식이 되기 때문이다.
여기서 \(\mathbf{s}_A\)는 활성 계수들의 부호 벡터다. \(\lambda\)에 대해 명백히 선형이다.
이것이 LARS 알고리즘의 근거다. 경로가 조각별 선형이므로 꺾인점만 계산하면 전체 경로를 정확히 복원할 수 있다. 격자 위의 여러 \(\lambda\)를 각각 푸는 것보다 훨씬 효율적이다.
연습문제 2. 설명변수의 상관이 강해지면 라쏘가 꼭짓점(변수 하나)에서 접촉할 확률이 낮아진다는 주장을 확인하라.
풀이
import numpy as np
from sklearn.linear_model import Lasso
rng = np.random.default_rng(9)
def active_count(rho, n=60, p=2, alpha=0.4, M=500):
cnt = []
for _ in range(M):
z = rng.normal(size=n)
X = np.c_[np.sqrt(rho)*z + np.sqrt(1-rho)*rng.normal(size=n),
np.sqrt(rho)*z + np.sqrt(1-rho)*rng.normal(size=n)]
X -= X.mean(0); X /= X.std(0)
y = X @ np.array([1., 1.]) + rng.normal(0, 1, n)
b = Lasso(alpha=alpha).fit(X, y).coef_
cnt.append((np.abs(b) > 1e-10).sum())
return np.mean(np.array(cnt) == 1)
두 설명변수, 참 계수 \((1, 1)\), 고정된 \(\lambda\)에서 "정확히 하나만 활성"인 비율을 잰다.
직관은 이렇다. 상관이 약하면 RSS 등고선이 원에 가깝다. 원이 마름모에 닿으면 가장 가까운 꼭짓점에 닿기 쉽다. 상관이 강하면 등고선이 마름모의 모서리와 나란한 방향으로 길게 늘어나, 꼭짓점이 아니라 모서리 전체에 걸쳐 닿는다.
모서리 접촉은 두 계수가 모두 0이 아니면서 \(|\beta_1|+|\beta_2| = t\) 위에 놓이는 상황이다. 이때 두 계수를 어떻게 나눌지가 거의 결정되지 않으며, 이것이 엘라스틱넷의 그룹 효과에서 본 라쏘의 불안정성 \([0.486, 2.136, 2.907]\)의 기하적 원인이다.
요약하면 라쏘의 변수선택은 설명변수가 서로 직교에 가까울 때 가장 잘 작동한다. 강한 상관 아래에서는 "어느 것을 고를지"가 자료의 사소한 변화에 좌우된다.
정리하며¶
라쏘의 제약영역은 좌표축 위에 꼭짓점을 갖는 마름모(교차다면체)다. RSS 등고선이 매끄러운 타원이므로 마름모와의 첫 접촉이 일반적으로 꼭짓점에서 일어나고, 그곳에서 하나 이상의 좌표가 0이 된다. 이것이 라쏘 희소성의 기하적 기제다. 반면 L2 벌점의 매끄러운 구에는 꼭짓점이 없으므로 능형회귀는 일반적으로 모든 좌표가 0이 아닌 해를 낸다. 추정량이 희소한지를 결정하는 것은 목적함수의 성질이 아니라 제약영역의 모양이다.