통계 수치해석 최적설계 마지막 수정: 2026-08-09 04:52:30

1. 개요[편집]

라쏘
LASSO
풀네임Least Absolute Shrinkage and Selection Operator
제안R. Tibshirani (1996, JRSS-B)
정식화min ½‖y − Xβ‖22 + λ‖β‖1
특징계수를 정확히 0으로 만든다 (선택 + 축소 동시)
솔버좌표하강(glmnet), ISTA/FISTA, LARS 호모토피, ADMM
다른 동네 이름기저 추구 잡음제거(BPDN), ℓ1 정규화 최소제곱

라쏘(LASSO)는 최소제곱 손실에 계수의 1\ell_1 노름 벌점을 더해, 계수를 축소하는 동시에 일부를 정확히 0으로 만들어 변수 선택까지 한꺼번에 수행하는 회귀 기법이다.

β^(λ)=argminβ  12yXβ22+λβ1\hat\beta(\lambda) = \arg\min_\beta \; \tfrac12\|y - X\beta\|_2^2 + \lambda\|\beta\|_1

팁시라니가 1996년에 이름 붙였다. 같은 최적화 문제가 신호처리에서는 기저 추구 잡음제거(BPDN)라 불리며 희소 신호 복원에 쓰이는데, 문제도 알고리즘도 완전히 동일하고 부르는 이름과 해석만 다르다. 볼록 완화가 왜 정당한지, 0\ell_0 과 언제 같아지는지, RIP·상호간섭성 같은 복원 보증은 기저 추구 문서 쪽이 상세하다. 이 문서는 회귀·변수 선택 도구로서의 라쏘 — 경로, 솔버, 편향, 그 편향을 고치는 사촌들 — 를 다룬다.1

능형회귀와의 대비가 출발점이다. 벌점의 지수를 2에서 1로 낮췄을 뿐인데 성질이 질적으로 바뀐다. 능형은 모든 계수를 조금씩 줄이되 0으로 만들지는 절대 않고, 라쏘는 어느 문턱을 넘으면 칼같이 0을 만든다. 계수 수백 개 중 몇 개가 진짜인지 알고 싶은 상황 — 유전체 데이터, 센서 수천 개 중 고장 원인 찾기, 물리 모형의 항 선별(SINDy 계열) — 이 라쏘의 자리다.

2. ℓ1 공의 모서리 — 왜 정확히 0이 나오나[편집]

제약형으로 쓰면 그림이 선명하다. minyXβ22\min\|y-X\beta\|_2^2 s.t. β1t\|\beta\|_1 \le t 는 잔차제곱합의 타원 등고선을 부풀리다가 제약 영역에 처음 닿는 점을 고르는 일이다.

2\ell_2 공(원·구)은 어디를 봐도 매끈해서 접점이 좌표축 위에 놓일 이유가 전혀 없다 — 그래서 능형해는 확률 1로 모든 성분이 0이 아니다. 반면 1\ell_1 공은 마름모·팔면체, 즉 좌표축 위에 뾰족한 꼭짓점이 있고 그 사이는 평평한 면인 다포체다. 뾰족한 곳은 그 점에서 접평면이 하나로 정해지지 않아 넓은 범위의 등고선 방향을 한 점에서 받아 낼 수 있고, 그래서 접점이 꼭짓점이나 저차원 모서리에 걸릴 확률이 압도적으로 높다. 그 위의 점은 정의상 0인 좌표를 여럿 가진다. 희소성은 알고리즘의 부산물이 아니라 1\ell_1 공의 기하가 만들어 낸 결과다.

대수로 확인하면 더 깔끔하다. 열이 정규직교(XTX=IX^{T}X=I)인 경우 문제가 좌표별로 완전히 분리되고 해가 닫힌 형태로 나온다.

β^j=Sλ(zj)=sign(zj)(zjλ)+,zj=xjTy\hat\beta_j = \mathcal{S}_\lambda(z_j) = \mathrm{sign}(z_j)\,\bigl(|z_j| - \lambda\bigr)_{+}, \qquad z_j = x_j^{T}y

이것이 연성 임계화(soft thresholding)다. 같은 조건에서 능형은 zj/(1+λ)z_j/(1+\lambda) 로 비례 축소만 하고, 최적 부분집합 선택은 zjz_j 를 남기거나 버리는 경성 임계화다. 라쏘는 그 중간 — 문턱 아래는 0으로 죽이고, 살아남은 것도 λ\lambda 만큼 원점 쪽으로 당긴다. 뒤에 나올 “라쏘는 편향돼 있다”는 이야기의 근원이 바로 이 후자다.

3. KKT 조건과 정규화 경로[편집]

목적함수는 볼록이지만 β1\|\beta\|_1 이 0에서 미분 불가능하므로 열미분(subgradient)으로 최적성을 쓴다. 카루시-쿤-터커 조건

xjT(yXβ^)=λsign(β^j)  (β^j0),xjT(yXβ^)λ  (β^j=0)x_j^{T}(y - X\hat\beta) = \lambda\,\mathrm{sign}(\hat\beta_j)\ \ (\hat\beta_j \ne 0), \qquad \bigl|x_j^{T}(y - X\hat\beta)\bigr| \le \lambda\ \ (\hat\beta_j = 0)

이다. 읽는 법은 이렇다 — 살아 있는 변수는 잔차와의 상관 크기가 전부 정확히 λ\lambda 로 같고, 죽은 변수는 그보다 작다. 여기서 즉시 따라오는 실용적 사실 하나: λλmax=XTy\lambda \ge \lambda_{\max} = \|X^{T}y\|_\infty 이면 해가 전부 0이다. 그래서 실무 코드는 λmax\lambda_{\max} 에서 시작해 로그 등간격으로 내려가는 격자를 만들고, 이전 해를 초기값으로 물려주는 웜스타트로 경로 전체를 훑는다.

경로에는 아름다운 구조가 있다. 손실이 이차이고 벌점이 조각별 선형이므로 β^(λ)\hat\beta(\lambda)λ\lambda 에 대해 조각별 선형이다. 꺾이는 지점은 지지집합이 하나 늘거나 주는 순간뿐이므로, 그 지점들만 정확히 계산하면 유한 번에 경로 전체를 얻는다. 이것이 호모토피 방법(Osborne 외 2000)과 최소각 회귀(LARS, Efron 외 2004)다. LARS 자체는 라쏘가 아닌 독자적 절차이지만, “계수가 0을 통과하면 그 변수를 지지집합에서 뺀다”는 한 줄을 추가하면 라쏘 경로를 정확히 재현한다. 덤으로 얻는 결과도 있다 — 라쏘의 유효 자유도가 0이 아닌 계수 개수의 기댓값과 정확히 같다는 정리(Zou-Hastie-Tibshirani 2007)가 여기서 나온다. 축소를 하는데도 자유도가 선택된 변수 수와 같다는 것은 처음 보면 반직관적이다.

4. 어떻게 푸는가[편집]

  • 좌표하강(좌표 하강법). 한 번에 좌표 하나씩, 나머지를 고정하고 부분잔차에 연성 임계화를 적용한다. 열이 표준화돼 있으면 갱신식이 βjSλ(xjTr(j))\beta_j \leftarrow \mathcal{S}_\lambda\bigl(x_j^{T}r^{(-j)}\bigr) 한 줄이다. 벌점이 좌표별로 분리되는 형태라 비매끄러움에도 불구하고 수렴이 보장된다(Tseng 2001). glmnet(Friedman-Hastie-Tibshirani 2010)이 이 방식에 웜스타트·활성집합·강한 규칙(strong rules)을 얹어 사실상 표준 구현이 됐고, 변수 수만 개짜리 문제의 경로 전체를 초 단위로 뽑는다.
  • ISTA / FISTA. 근접 경사법을 그대로 적용하면 “경사 한 걸음 + 연성 임계화”의 반복이 된다. 1\ell_1 의 근접 연산자가 정확히 연성 임계화라는 사실이 핵심. 네스테로프 가속을 얹은 FISTA는 목적함수 오차가 O(1/k2)O(1/k^2) 로 준다(Beck-Teboulle 2009). 행렬-벡터 곱만 필요해 XX 가 FFT 같은 빠른 변환으로만 주어질 때 유일한 선택지다.
  • 교대방향 승수법(ADMM). z=βz=\beta 로 분리하면 β\beta-갱신은 고정 행렬의 선형계(인수분해 재사용 가능), zz-갱신은 연성 임계화. 다른 정규화항을 섞거나 분산 처리할 때 편하다.
  • 내점법·LP/QP. 정확도가 필요하면 이차계획법으로 넘겨도 되지만 대규모에서는 무겁다.

5. 라쏘가 못 하는 것들[편집]

라쏘를 실전에 쓸 때 부딪히는 한계는 대체로 다음 네 가지다.

편향. 위의 연성 임계화식이 말해 주듯 살아남은 큰 계수도 λ\lambda 만큼 깎인다. 진짜로 큰 효과일수록 축소가 필요 없는데도 똑같이 당하는 셈이다. 그래서 라쏘의 계수 추정값은 체계적으로 0쪽으로 편향돼 있고, 예측 성능을 위해 λ\lambda교차검증으로 고르면 대개 실제 지지집합보다 변수를 많이 고르는 쪽으로 나온다. 예측용 λ\lambda 와 선택용 λ\lambda 가 다르다는 것은 잘 알려진 성가신 사실이다.

지지집합 복원의 까다로운 조건. “라쏘가 참 지지집합 SS 를 부호까지 정확히 찾아낸다”는 보장에는 비대표성 조건(irrepresentable condition, Zhao-Yu 2006; Zou 2006, Meinshausen-Bühlmann 2006도 동등한 조건에 도달)이 필요하다.

XScTXS(XSTXS)1sign(βS)1η\bigl\|X_{S^c}^{T}X_S\,(X_S^{T}X_S)^{-1}\,\mathrm{sign}(\beta_S)\bigr\|_\infty \le 1-\eta

뜻은 직관적이다 — 관련 없는 변수가 진짜 변수들의 선형결합으로 너무 잘 흉내 내지면 안 된다. 이 조건은 거의 필요충분이며, 위반되면 표본을 아무리 늘려도 라쏘는 틀린 변수를 고른다.2 반면 예측오차와 추정오차의 보증은 훨씬 약한 조건(제한 고유값·양립성 조건, Bickel-Ritov-Tsybakov 2009)만으로 성립해서, λσlogp/n\lambda \asymp \sigma\sqrt{\log p / n} 일 때 X(β^β)22/nsσ2logp/n\|X(\hat\beta-\beta)\|_2^2/n \lesssim s\sigma^2\log p/n 가 나온다. 잘 예측하는 것과 옳은 변수를 고르는 것은 난이도가 다른 문제다.

상관 변수와 p>np>n. 거의 같은 정보를 가진 변수 무리가 있으면 라쏘는 그중 하나만 임의로 골라 나머지를 0으로 만든다. 데이터를 조금만 흔들어도 선택되는 변수가 바뀌므로 해석이 불안하다.3p>np>n 이면 라쏘는 최대 nn 개까지만 선택할 수 있다. 해가 유일하지 않을 수도 있다(다만 적합값 Xβ^X\hat\beta 는 언제나 유일하다).

스케일 의존성. 벌점이 계수 단위에 직접 걸리므로 표준화는 선택이 아니라 필수이고, 절편은 벌점에서 뺀다.4

6. 사촌들 — 편향 보정과 엘라스틱 넷[편집]

  • 완화 라쏘(relaxed lasso, Meinshausen 2007). 라쏘로 지지집합만 고르고, 그 위에서 벌점을 줄이거나 아예 최소제곱으로 다시 적합한다. 선택은 라쏘에, 크기 추정은 비벌점 적합에 맡기는 역할 분담. 가장 단순한 판본인 “라쏘 후 OLS”만으로도 편향이 크게 준다.
  • 적응 라쏘(adaptive lasso, Zou 2006). 벌점에 가중치를 달아 λjwjβj\lambda\sum_j w_j|\beta_j|, wj=1/β~jγw_j = 1/|\tilde\beta_j|^\gamma 로 둔다. 초기 추정에서 이미 큰 계수는 덜 벌하고 작은 계수는 세게 벌하는 구조라, 적절한 조건에서 오라클 성질(참 지지집합을 확률 1로 찾고 계수 추정이 참 모형을 아는 것처럼 점근정규)을 갖는다. 볼록성을 유지한다는 것이 큰 장점.
  • SCAD(Fan-Li 2001)·MCP(Zhang 2010). 벌점 자체를 접힌 오목 함수로 만들어, 계수가 커지면 벌점의 기울기가 0으로 사라지게 한다. 큰 계수에 대해 점근적으로 무편향이고 오라클 성질을 갖지만, 목적함수가 비볼록이라 국소해 문제가 생기고 경로 계산도 까다롭다. 실무에서는 좌표하강 + 볼록성 진단(MCP의 γ\gamma 조절)으로 다룬다.
  • 엘라스틱 넷(Zou-Hastie 2005). 두 벌점을 섞는다.
λ(αβ1+1α2β22)\lambda\left(\alpha\|\beta\|_1 + \tfrac{1-\alpha}{2}\|\beta\|_2^2\right)

2\ell_2 항이 목적함수를 강볼록하게 만들어 상관 높은 변수들을 무리째 함께 살리거나 함께 죽이는 그룹 효과를 준다. p>np>n 에서 nn 개 제한도 풀린다. 상관 구조가 뻔한 데이터(스펙트럼의 인접 파장, 유전자 경로)에서는 순수 라쏘보다 거의 항상 낫다.

  • 탈편향 라쏘(debiased/desparsified lasso, Zhang-Zhang 2014, van de Geer 외 2014). 계수에 신뢰구간과 p값을 붙이기 위한 보정. 라쏘 해에 잔차 기반 항을 더해 점근정규성을 회복시킨다. 선택 후 순진하게 t검정을 돌리면 안 된다는 사실에 대한 정식 대응이다.

7. 관련 문서[편집]

8. Footnotes[편집]

  1. 이름 짓기에 진심이었던 사례다. Least Absolute Shrinkage and Selection Operator라는 억지 두문자어를 만들어 놓고 “올가미(lasso)“라는 그림까지 챙겼다. 팁시라니 본인도 나중에 지구물리 쪽에서 1970년대부터 1\ell_1 을 쓰고 있었다는 선행 연구를 인정했지만, 이름을 잘 지은 쪽이 인용을 가져가는 것이 이 바닥의 국룰이다.

  2. 비대표성 조건은 이름이 헷갈리기로 유명하다. “관련 없는 변수들이 관련 있는 변수들을 대표하지 못해야 한다”는 뜻인데, 원문 irrepresentable을 직역하면 부정이 하나 더 붙어 머리가 꼬인다. 조건식을 한 번 써 보는 게 이름을 열 번 읽는 것보다 빠르다.

  3. 실무에서 라쏘가 뽑은 변수 목록을 그대로 들고 가 “이 유전자가 원인입니다”라고 말하면 통계학자에게 혼난다. 라쏘는 예측에 유용한 변수 집합 하나를 준 것이지 인과도, 유일한 정답 집합도 준 적이 없다. 데이터를 부트스트랩해서 몇 번이나 같은 변수가 뽑히는지 세어 보는 안정성 선택(stability selection)이 최소한의 방어선이다.

  4. 표준화를 안 하고 돌렸다가 “왜 단위가 큰 변수만 살아남죠?”라고 묻는 것은 라쏘 입문자의 통과의례다. 정확히는 그 반대 — 단위를 키우면 계수가 작아져 벌점을 덜 받고, 단위를 줄인 변수가 먼저 죽는다. 어느 쪽이든 물리적으로 아무 의미 없는 선택이 나온다.