수학 개념 지도
데이터와 학습(Data and learning)

정규화: 릿지와 라소(Regularization: ridge and lasso)

손실에 계수의 크기에 대한 벌점을 더해 계수를 0 쪽으로 당기는 방법. 제곱합 벌점(릿지)은 모든 계수를 비율로 줄이고, 절댓값⁠(absolute value)⁠ 합 벌점(라소⁠, lasso⁠)은 일부 계수를 정확히 0으로 만들어 특성을 고른다.

min⁡β⃗  ∥y⃗−Xβ⃗∥2+λ∑jβj2(릿지),min⁡β⃗  ∥y⃗−Xβ⃗∥2+λ∑j∣βj∣(라소)\min_{\vec\beta}\; \lVert \vec y - X\vec\beta\rVert^2 + \lambda \sum_j \beta_j^2 \quad\text{(릿지)}, \qquad \min_{\vec\beta}\; \lVert \vec y - X\vec\beta\rVert^2 + \lambda \sum_j |\beta_j| \quad\text{(라소)}
먼저 보면 좋은 개념최소제곱 회귀Lp 노름과적합

설명 변수(특성)가 자료에 비해 많거나 서로 강하게 얽혀 있으면 최소제곱 회귀⁠(least-squares regression)⁠의 계수는 자료의 잡음까지 따라가느라 크게 흔들립니다(과적합⁠, overfitting⁠). 정규화는 손실에 계수의 크기에 대한 벌점을 더해 계수를 0 쪽으로 당깁니다. 벌점으로 계수의 제곱합을 쓰면 릿지 회귀⁠(ridge regression)⁠, 절댓값의 합을 쓰면 라소입니다. 두 벌점은 각각 L2 노름⁠(norm)⁠의 제곱과 L1 노름입니다. 여기서 정규화는 영어 regularization의 번역이고, 자료의 크기를 맞추는 정규화(normalization)와는 다른 말이라 '규제'라고도 부릅니다.

릿지: ∥y⃗−Xβ⃗∥2+λ∑jβj2,라소: ∥y⃗−Xβ⃗∥2+λ∑j∣βj∣\text{릿지: } \lVert \vec y - X\vec\beta\rVert^2 + \lambda \sum_j \beta_j^2, \qquad \text{라소: } \lVert \vec y - X\vec\beta\rVert^2 + \lambda \sum_j |\beta_j|

λ ≥ 0이 벌점의 세기입니다. 가장 단순한 경우부터 봅시다. 특성들이 서로 수직이고 길이가 1이면(XTX=IX^{\mathsf T}X = I) 계수마다 따로 풀려서, 최소제곱⁠(least squares)⁠ 계수가 β^\hat\beta일 때 답이 이렇게 됩니다.

β릿지=β^1+λ,β라소=sign⁡(β^) max⁡(∣β^∣−λ2, 0)\beta^{\text{릿지}} = \frac{\hat\beta}{1+\lambda}, \qquad \beta^{\text{라소}} = \operatorname{sign}(\hat\beta)\,\max\bigl(|\hat\beta| - \tfrac{\lambda}{2},\ 0\bigr)

λ = 1이라 하면 β^=2\hat\beta = 2는 릿지에서 1, 라소에서 1.5가 되고, β^=0.4\hat\beta = 0.4는 릿지에서 0.2, 라소에서 정확히 0이 됩니다. 릿지는 비율로 줄이므로 0에 가까워질 뿐 0이 되지는 않고, 라소는 일정한 양을 빼다가 0에 닿으면 거기서 멈춥니다. 그래서 라소는 작은 계수를 지워 특성을 저절로 고릅니다. 계수 대부분이 0인 답을 희소하다고 합니다.

계수가 둘이면 이 차이를 그림으로 볼 수 있습니다. 최소제곱 손실 ∥y⃗−Xβ⃗∥2\lVert\vec y - X\vec\beta\rVert^2는 β에 대한 이차식이라, 등고선은 최소제곱 해 β^\hat\beta(흰검은 점)를 중심으로 한 타원입니다. 한편 벌점이 붙은 문제의 답은 '벌점이 어떤 값 t 이하인 β 가운데 손실이 가장 작은 것'과 같습니다. λ마다 그에 맞는 t가 있고, 이 대응은 라그랑주 승수법으로 설명됩니다. 그러니 β^\hat\beta가 그 영역 밖에 있을 때, 답은 β^\hat\beta에서 부풀어 오르는 타원⁠(ellipse)⁠이 영역 {β:벌점≤t}\{\beta : \text{벌점} \le t\}에 처음 닿는 점입니다. 릿지의 영역은 원이고 라소의 영역은 마름모입니다. , λ = 로 바꿔 보고 흰검은 점도 끌어 보세요. 지금 답은 입니다.

회색 타원들이 손실의 등고선, 분홍 타원이 그 가운데 답을 지나는 것, 파란 영역이 벌점이 답의 벌점 이하인 β들입니다. 둘은 답(노란 점)에서 맞닿습니다. 노란 곡선은 λ를 0에서 키울 때 답이 지나가는 길입니다.

라소의 답이 자꾸 축 위로 가는 까닭은 마름모의 꼭짓점⁠(vertex)⁠에 있습니다. 꼭짓점은 축 위에 있고, 비스듬히 누운 타원은 변보다 꼭짓점에 먼저 닿기 쉽습니다. 꼭짓점에서는 한 계수가 정확히 0입니다. 원에는 꼭짓점이 없어서 닿는 점이 정확히 축 위에 오는 것은 특별한 경우뿐입니다. 미분⁠(differentiation)⁠으로도 말할 수 있습니다. 벌점 λ∣βj∣\lambda|\beta_j|는 0에서 뾰족해서, 그 자리에서는 −λ에서 λ 사이의 어떤 기울기든 받아 줄 수 있습니다. 그래서 βj=0\beta_j = 0에서 제곱 손실을 βj\beta_j로 미분한 값의 크기가 λ 이하인 동안에는 0이 가장 좋은 자리로 남습니다. 반면 βj2\beta_j^2은 0에서 기울기⁠(slope)⁠가 0이라, 손실이 조금만 당겨도 계수가 0을 떠납니다.

이번에는 자료 50개와 특성 6개로 된 문제입니다. 참 계수는 (3, −2, 0, 1.5, 0, 0)이고, 특성들은 평균⁠(mean)⁠ 0, 분산⁠(variance)⁠ 1로 맞췄습니다. log⁡10λ\log_{10}\lambda = (λ = )를 움직이며 λ에 따라 계수가 지나가는 길(계수 경로⁠, regularization path⁠)을 보세요. 위에서 고른 방법이 여기에도 적용됩니다. 지금 0이 아닌 계수는 개입니다.

가로축은 log₁₀λ, 세로축은 계수입니다. 오른쪽으로 갈수록 벌점이 셉니다. 라소일 때의 회색 점선은 모든 계수가 0이 되는 λ_max입니다. 선에 마우스를 올리면 어느 계수인지 뜹니다.

릿지의 계수들은 모두 함께 매끄럽게 줄어들 뿐 0이 되지 않습니다. 라소의 계수들은 하나씩 정확히 0이 되고, λ가 λmax⁡=2max⁡j∣x⃗jTy⃗∣≈286\lambda_{\max} = 2\max_j |\vec x_j^{\mathsf T}\vec y| \approx 286을 넘으면 모두 0입니다. 이 자료에서는 참값이 0인 계수들이 먼저 사라져, log⁡10λ\log_{10}\lambda가 약 1.5에서 2.2 사이일 때 라소가 참 변수 셋만 남깁니다. 그러나 라소가 참 변수를 늘 정확히 골라 준다는 보장은 없습니다. 특성들이 서로 강하게 상관되어 있으면 그 가운데 하나를 거의 임의로 남기고, 올바른 선택이 보장되려면 특성 사이의 상관이 충분히 약하고, 참 계수가 잡음에 비해 충분히 크다는 조건이 필요합니다. 릿지는 상관된 특성들에 계수를 고르게 나눠 줍니다. 두 벌점을 섞은 엘라스틱 넷(2005년 저우와 헤이스티)은 둘의 장점을 함께 노립니다.

정규화가 돕는 이유는 셋입니다. 첫째, 계수를 당기면 편향이 조금 생기는 대신 분산이 크게 줄어듭니다(편향–분산 분해⁠, bias–variance decomposition⁠). 둘째, 계산이 안정됩니다. 릿지의 답은 (XTX+λI)−1XTy⃗(X^{\mathsf T}X + \lambda I)^{-1}X^{\mathsf T}\vec y입니다. XTXX^{\mathsf T}X의 고유값⁠(eigenvalue)⁠은 모두 0 이상이고, λI를 더하면 모두 λ만큼 커집니다. 그래서 λ > 0이면 고유값이 모두 λ 이상이 되어 역행렬⁠(inverse matrix)⁠이 늘 있습니다. 특성이 자료보다 많아 최소제곱의 답이 무수히 많을 때도 릿지의 답은 하나입니다. 고유값이 μ인 고유벡터⁠(eigenvector)⁠ 방향의 성분은 μ/(μ+λ)\mu/(\mu+\lambda)배로 줄어드니, 자료가 적게 퍼진 방향(주성분 분석⁠(principal component analysis)⁠의 작은 주성분)일수록 많이 줄어듭니다. 셋째, 베이즈 정리⁠(Bayes' theorem)⁠로 읽을 수 있습니다. 잡음이 분산 σ2\sigma^2인 정규분포⁠(normal distribution)⁠이고, 계수마다 평균 0, 분산 τ2\tau^2인 정규분포를 사전 분포⁠(prior distribution)⁠로 두면, 사후 확률밀도⁠(probability density)⁠가 가장 큰 β(최대 사후 확률⁠(maximum a posteriori (MAP))⁠ 추정, MAP)가 곧 λ=σ2/τ2\lambda = \sigma^2/\tau^2인 릿지의 답입니다. 사전 분포를 뾰족한 라플라스 분포⁠(Laplace distribution)⁠로 바꾸면 라소가 됩니다. 그러니 λ는 '잡음에 비해 계수가 얼마나 작으리라 믿는가'를 적은 수입니다.

실제로 쓸 때는 몇 가지를 지킵니다. 벌점은 계수의 크기에 매기므로 특성의 단위에 따라 결과가 바뀝니다. 키를 미터 대신 센티미터로 재면 그 계수는 100분의 1이 되어 벌점을 거의 받지 않습니다. 그래서 먼저 특성마다 평균 0, 분산 1로 맞춥니다. 절편에는 벌점을 주지 않습니다. λ는 교차 검증⁠(cross-validation)⁠으로 고릅니다. 라소의 벌점은 0에서 미분할 수 없지만 여전히 볼록 함수⁠(convex function)⁠라서, 다른 좌표를 고정하고 한 좌표씩 차례로 푸는 좌표 하강법⁠(coordinate descent)⁠으로 빠르게 풀립니다. 이 페이지의 라소 그림도 그렇게 계산했습니다.

제곱 벌점의 뿌리는 1940년대부터 소련의 안드레이 티호노프가 연구한 '불량 조건 문제⁠(ill-posed problem)⁠', 곧 자료의 작은 잡음이 답을 크게 흔드는 역문제⁠(inverse problem)⁠에 있습니다. 통계학⁠(statistics)⁠에서는 1970년 호얼과 케너드가 서로 상관된 설명 변수 문제를 풀려고 릿지 회귀를 제안했고, 1996년 로버트 팁시라니가 라소를 발표했습니다. 2000년대 중반 캉데스, 롬버그, 타오와 도노호는 L1 노름을 최소화하면 희소한 신호를 측정값이 훨씬 적어도 정확히 복원할 수 있는 조건을 증명했고(압축 센싱⁠, compressed sensing⁠), 이 생각은 MRI 촬영 시간을 줄이는 데에도 쓰입니다. 신경망⁠(neural network)⁠에서는 제곱 벌점을 가중치 감쇠라 부릅니다.

이어지는 곳. 두 영역의 모양이 다른 까닭은 Lp 노름⁠(Lp norm)⁠의 단위원⁠(unit circle)⁠이 p = 2에서 원, p = 1에서 마름모이기 때문이고, p < 1이면 더 뾰족해지지만 볼록성을 잃습니다. 벌점과 제약의 대응은 라그랑주 승수법과 볼록 최적화⁠(optimization)⁠의 쌍대성⁠(duality)⁠으로 정확해집니다. 두 무리가 완전히 갈려 답이 없던 로지스틱 회귀⁠(logistic regression)⁠도 벌점을 붙이면 답이 하나로 정해집니다. 서포트 벡터 머신⁠(support vector machine)⁠이 최소화하는 12∥w⃗∥2\tfrac12\lVert\vec w\rVert^2도 제곱 벌점이고, 그 크기가 마진의 폭을 정합니다. 릿지가 방향마다 다르게 줄이는 모습은 특잇값 분해⁠(singular value decomposition)⁠로 보면 가장 분명합니다.

이 개념이 나오는 긴 글

최소제곱과 선형대수 잃어버린 소행성 1801년, 발견 몇 주 만에 태양 뒤로 사라진 세레스. 스물네 살의 가우스는 흩어진 관측값에서 궤도를 되찾았다. 신경망과 기계 학습 배우는 기계 예를 보여 주면 규칙을 스스로 찾는 기계. 1958년의 퍼셉트론에서 오늘의 심층 신경망까지, 그 밑바닥에는 미분과 연쇄법칙이 있다. 언어 모델 다음 단어를 맞히는 기계 다음 낱말을 짐작하는 일만으로 어디까지 갈 수 있을까? 마르코프의 글자 세기에서 섀넌의 추측 게임, 트랜스포머와 규모의 법칙, 사람의 선호까지. 밑바닥에는 확률의 곱셈 규칙과 로그 하나가 있고, 그 수학은 모델이 왜 그럴듯하게 틀리는지도 말해 준다. 역문제 거꾸로 푸는 문제는 왜 어려운가 원인에서 결과를 계산하기는 쉽다. 흐린 사진, CT, 블랙홀 사진은 왜 결과에서 원인을 되찾기 어려웠을까? 작은 특잇값이 잡음을 키우는 벽과, 정규화·릿지 회귀·베이즈 사전확률이 사실은 같은 처방이라는 이야기. 압축과 과학 압축하는 것이 이해하는 것이다 튀코 브라헤가 20년 동안 적은 행성의 위치를 케플러는 법칙 세 줄로 줄였다. 짧게 적는 일과 이해하는 일은 정말 같은 일일까? 오컴의 면도날을 비트로 재는 법, 과적합을 압축의 실패로 읽는 법, 그리고 그 말이 정리인 곳과 철학인 곳.

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념