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)는 최소제곱 손실에 계수의 노름 벌점을 더해, 계수를 축소하는 동시에 일부를 정확히 0으로 만들어 변수 선택까지 한꺼번에 수행하는 회귀 기법이다.
팁시라니가 1996년에 이름 붙였다. 같은 최적화 문제가 신호처리에서는 기저 추구 잡음제거(BPDN)라 불리며 희소 신호 복원에 쓰이는데, 문제도 알고리즘도 완전히 동일하고 부르는 이름과 해석만 다르다. 볼록 완화가 왜 정당한지, 과 언제 같아지는지, RIP·상호간섭성 같은 복원 보증은 기저 추구 문서 쪽이 상세하다. 이 문서는 회귀·변수 선택 도구로서의 라쏘 — 경로, 솔버, 편향, 그 편향을 고치는 사촌들 — 를 다룬다.1
능형회귀와의 대비가 출발점이다. 벌점의 지수를 2에서 1로 낮췄을 뿐인데 성질이 질적으로 바뀐다. 능형은 모든 계수를 조금씩 줄이되 0으로 만들지는 절대 않고, 라쏘는 어느 문턱을 넘으면 칼같이 0을 만든다. 계수 수백 개 중 몇 개가 진짜인지 알고 싶은 상황 — 유전체 데이터, 센서 수천 개 중 고장 원인 찾기, 물리 모형의 항 선별(SINDy 계열) — 이 라쏘의 자리다.
2. ℓ1 공의 모서리 — 왜 정확히 0이 나오나[편집]
제약형으로 쓰면 그림이 선명하다. s.t. 는 잔차제곱합의 타원 등고선을 부풀리다가 제약 영역에 처음 닿는 점을 고르는 일이다.
공(원·구)은 어디를 봐도 매끈해서 접점이 좌표축 위에 놓일 이유가 전혀 없다 — 그래서 능형해는 확률 1로 모든 성분이 0이 아니다. 반면 공은 마름모·팔면체, 즉 좌표축 위에 뾰족한 꼭짓점이 있고 그 사이는 평평한 면인 다포체다. 뾰족한 곳은 그 점에서 접평면이 하나로 정해지지 않아 넓은 범위의 등고선 방향을 한 점에서 받아 낼 수 있고, 그래서 접점이 꼭짓점이나 저차원 모서리에 걸릴 확률이 압도적으로 높다. 그 위의 점은 정의상 0인 좌표를 여럿 가진다. 희소성은 알고리즘의 부산물이 아니라 공의 기하가 만들어 낸 결과다.
대수로 확인하면 더 깔끔하다. 열이 정규직교()인 경우 문제가 좌표별로 완전히 분리되고 해가 닫힌 형태로 나온다.
이것이 연성 임계화(soft thresholding)다. 같은 조건에서 능형은 로 비례 축소만 하고, 최적 부분집합 선택은 를 남기거나 버리는 경성 임계화다. 라쏘는 그 중간 — 문턱 아래는 0으로 죽이고, 살아남은 것도 만큼 원점 쪽으로 당긴다. 뒤에 나올 “라쏘는 편향돼 있다”는 이야기의 근원이 바로 이 후자다.
3. KKT 조건과 정규화 경로[편집]
목적함수는 볼록이지만 이 0에서 미분 불가능하므로 열미분(subgradient)으로 최적성을 쓴다. 카루시-쿤-터커 조건은
이다. 읽는 법은 이렇다 — 살아 있는 변수는 잔차와의 상관 크기가 전부 정확히 로 같고, 죽은 변수는 그보다 작다. 여기서 즉시 따라오는 실용적 사실 하나: 이면 해가 전부 0이다. 그래서 실무 코드는 에서 시작해 로그 등간격으로 내려가는 격자를 만들고, 이전 해를 초기값으로 물려주는 웜스타트로 경로 전체를 훑는다.
경로에는 아름다운 구조가 있다. 손실이 이차이고 벌점이 조각별 선형이므로 는 에 대해 조각별 선형이다. 꺾이는 지점은 지지집합이 하나 늘거나 주는 순간뿐이므로, 그 지점들만 정확히 계산하면 유한 번에 경로 전체를 얻는다. 이것이 호모토피 방법(Osborne 외 2000)과 최소각 회귀(LARS, Efron 외 2004)다. LARS 자체는 라쏘가 아닌 독자적 절차이지만, “계수가 0을 통과하면 그 변수를 지지집합에서 뺀다”는 한 줄을 추가하면 라쏘 경로를 정확히 재현한다. 덤으로 얻는 결과도 있다 — 라쏘의 유효 자유도가 0이 아닌 계수 개수의 기댓값과 정확히 같다는 정리(Zou-Hastie-Tibshirani 2007)가 여기서 나온다. 축소를 하는데도 자유도가 선택된 변수 수와 같다는 것은 처음 보면 반직관적이다.
4. 어떻게 푸는가[편집]
- 좌표하강(좌표 하강법). 한 번에 좌표 하나씩, 나머지를 고정하고 부분잔차에 연성 임계화를 적용한다. 열이 표준화돼 있으면 갱신식이 한 줄이다. 벌점이 좌표별로 분리되는 형태라 비매끄러움에도 불구하고 수렴이 보장된다(Tseng 2001).
glmnet(Friedman-Hastie-Tibshirani 2010)이 이 방식에 웜스타트·활성집합·강한 규칙(strong rules)을 얹어 사실상 표준 구현이 됐고, 변수 수만 개짜리 문제의 경로 전체를 초 단위로 뽑는다. - ISTA / FISTA. 근접 경사법을 그대로 적용하면 “경사 한 걸음 + 연성 임계화”의 반복이 된다. 의 근접 연산자가 정확히 연성 임계화라는 사실이 핵심. 네스테로프 가속을 얹은 FISTA는 목적함수 오차가 로 준다(Beck-Teboulle 2009). 행렬-벡터 곱만 필요해 가 FFT 같은 빠른 변환으로만 주어질 때 유일한 선택지다.
- 교대방향 승수법(ADMM). 로 분리하면 -갱신은 고정 행렬의 선형계(인수분해 재사용 가능), -갱신은 연성 임계화. 다른 정규화항을 섞거나 분산 처리할 때 편하다.
- 내점법·LP/QP. 정확도가 필요하면 이차계획법으로 넘겨도 되지만 대규모에서는 무겁다.
5. 라쏘가 못 하는 것들[편집]
라쏘를 실전에 쓸 때 부딪히는 한계는 대체로 다음 네 가지다.
편향. 위의 연성 임계화식이 말해 주듯 살아남은 큰 계수도 만큼 깎인다. 진짜로 큰 효과일수록 축소가 필요 없는데도 똑같이 당하는 셈이다. 그래서 라쏘의 계수 추정값은 체계적으로 0쪽으로 편향돼 있고, 예측 성능을 위해 를 교차검증으로 고르면 대개 실제 지지집합보다 변수를 많이 고르는 쪽으로 나온다. 예측용 와 선택용 가 다르다는 것은 잘 알려진 성가신 사실이다.
지지집합 복원의 까다로운 조건. “라쏘가 참 지지집합 를 부호까지 정확히 찾아낸다”는 보장에는 비대표성 조건(irrepresentable condition, Zhao-Yu 2006; Zou 2006, Meinshausen-Bühlmann 2006도 동등한 조건에 도달)이 필요하다.
뜻은 직관적이다 — 관련 없는 변수가 진짜 변수들의 선형결합으로 너무 잘 흉내 내지면 안 된다. 이 조건은 거의 필요충분이며, 위반되면 표본을 아무리 늘려도 라쏘는 틀린 변수를 고른다.2 반면 예측오차와 추정오차의 보증은 훨씬 약한 조건(제한 고유값·양립성 조건, Bickel-Ritov-Tsybakov 2009)만으로 성립해서, 일 때 가 나온다. 잘 예측하는 것과 옳은 변수를 고르는 것은 난이도가 다른 문제다.
상관 변수와 . 거의 같은 정보를 가진 변수 무리가 있으면 라쏘는 그중 하나만 임의로 골라 나머지를 0으로 만든다. 데이터를 조금만 흔들어도 선택되는 변수가 바뀌므로 해석이 불안하다.3 또 이면 라쏘는 최대 개까지만 선택할 수 있다. 해가 유일하지 않을 수도 있다(다만 적합값 는 언제나 유일하다).
스케일 의존성. 벌점이 계수 단위에 직접 걸리므로 표준화는 선택이 아니라 필수이고, 절편은 벌점에서 뺀다.4
6. 사촌들 — 편향 보정과 엘라스틱 넷[편집]
- 완화 라쏘(relaxed lasso, Meinshausen 2007). 라쏘로 지지집합만 고르고, 그 위에서 벌점을 줄이거나 아예 최소제곱으로 다시 적합한다. 선택은 라쏘에, 크기 추정은 비벌점 적합에 맡기는 역할 분담. 가장 단순한 판본인 “라쏘 후 OLS”만으로도 편향이 크게 준다.
- 적응 라쏘(adaptive lasso, Zou 2006). 벌점에 가중치를 달아 , 로 둔다. 초기 추정에서 이미 큰 계수는 덜 벌하고 작은 계수는 세게 벌하는 구조라, 적절한 조건에서 오라클 성질(참 지지집합을 확률 1로 찾고 계수 추정이 참 모형을 아는 것처럼 점근정규)을 갖는다. 볼록성을 유지한다는 것이 큰 장점.
- SCAD(Fan-Li 2001)·MCP(Zhang 2010). 벌점 자체를 접힌 오목 함수로 만들어, 계수가 커지면 벌점의 기울기가 0으로 사라지게 한다. 큰 계수에 대해 점근적으로 무편향이고 오라클 성질을 갖지만, 목적함수가 비볼록이라 국소해 문제가 생기고 경로 계산도 까다롭다. 실무에서는 좌표하강 + 볼록성 진단(MCP의 조절)으로 다룬다.
- 엘라스틱 넷(Zou-Hastie 2005). 두 벌점을 섞는다.
항이 목적함수를 강볼록하게 만들어 상관 높은 변수들을 무리째 함께 살리거나 함께 죽이는 그룹 효과를 준다. 에서 개 제한도 풀린다. 상관 구조가 뻔한 데이터(스펙트럼의 인접 파장, 유전자 경로)에서는 순수 라쏘보다 거의 항상 낫다.
- 탈편향 라쏘(debiased/desparsified lasso, Zhang-Zhang 2014, van de Geer 외 2014). 계수에 신뢰구간과 p값을 붙이기 위한 보정. 라쏘 해에 잔차 기반 항을 더해 점근정규성을 회복시킨다. 선택 후 순진하게 t검정을 돌리면 안 된다는 사실에 대한 정식 대응이다.
7. 관련 문서[편집]
- 기저 추구 · 압축센싱 · 직교 매칭 추구
- 능형회귀 · 엘라스틱 넷 · 티호노프 정규화
- 교차검증 · 최소자승법 · 최대우도추정
- 좌표 하강법 · 최소각 회귀 · 근접 경사법
- 교대방향 승수법 · 볼록 최적화 · 카루시-쿤-터커 조건
- 딕셔너리 학습 · 희소행렬 · 전변분 잡음제거
8. Footnotes[편집]
-
이름 짓기에 진심이었던 사례다. Least Absolute Shrinkage and Selection Operator라는 억지 두문자어를 만들어 놓고 “올가미(lasso)“라는 그림까지 챙겼다. 팁시라니 본인도 나중에 지구물리 쪽에서 1970년대부터 을 쓰고 있었다는 선행 연구를 인정했지만, 이름을 잘 지은 쪽이 인용을 가져가는 것이 이 바닥의 국룰이다. ↩
-
비대표성 조건은 이름이 헷갈리기로 유명하다. “관련 없는 변수들이 관련 있는 변수들을 대표하지 못해야 한다”는 뜻인데, 원문 irrepresentable을 직역하면 부정이 하나 더 붙어 머리가 꼬인다. 조건식을 한 번 써 보는 게 이름을 열 번 읽는 것보다 빠르다. ↩
-
실무에서 라쏘가 뽑은 변수 목록을 그대로 들고 가 “이 유전자가 원인입니다”라고 말하면 통계학자에게 혼난다. 라쏘는 예측에 유용한 변수 집합 하나를 준 것이지 인과도, 유일한 정답 집합도 준 적이 없다. 데이터를 부트스트랩해서 몇 번이나 같은 변수가 뽑히는지 세어 보는 안정성 선택(stability selection)이 최소한의 방어선이다. ↩
-
표준화를 안 하고 돌렸다가 “왜 단위가 큰 변수만 살아남죠?”라고 묻는 것은 라쏘 입문자의 통과의례다. 정확히는 그 반대 — 단위를 키우면 계수가 작아져 벌점을 덜 받고, 단위를 줄인 변수가 먼저 죽는다. 어느 쪽이든 물리적으로 아무 의미 없는 선택이 나온다. ↩