연립방정식 x+y=2, x+1.001y=2.001의 해는 (1,1)입니다. 둘째 식의 오른쪽을 0.001만 바꿔 2.002로 두면 해는 (0,2)가 됩니다. 자료 하나가 0.05%쯤 바뀌었는데 답은 완전히 다른 곳으로 갔습니다. 두 식이 나타내는 직선이 거의 나란해서, 한 직선을 조금만 밀어도 교점이 직선을 따라 멀리 미끄러지기 때문입니다. 아래 그림에서 두 직선 사이의 각 °와 둘째 직선의 자료 오차 를 바꿔 보세요. 자료 오차를 그대로 두고 각만 좁히면, 노란 점이 흰검은 고리에서 점점 멀리 달아납니다.
파란 직선과 분홍 직선이 두 식이고, 분홍 직선은 자료 오차만큼 밀려 있습니다. 흰검은 고리가 오차 없는 자료의 답입니다. 옅은 띠는 자료가 ±0.05만큼 틀릴 수 있을 때 각 직선이 놓일 수 있는 범위이고, 두 띠가 겹친 주황 평행사변형이 답이 놓일 수 있는 범위입니다. 노란 점이 지금 자료의 답입니다.
지금 답은 이고 오차 없는 답에서 만큼 떨어져 있습니다. 각이 좁을수록 평행사변형이 길어집니다. 이 연립방정식의 행렬(matrix)에서 가장 큰 특잇값(singular value)과 가장 작은 특잇값의 비인 조건수는 입니다. 조건수 κ는 자료의 상대 오차(relative error)가 답의 상대 오차로 최대 몇 배까지 커질 수 있는지를 알려 줍니다(위의 식, 길이는 보통의 유클리드 길이로 잴 때). 처음 예의 행렬 [1111.001]은 조건수가 약 4,002입니다. 실제로 그 예에서 자료 벡터(vector)의 상대 오차는 약 0.035%, 답의 상대 오차는 100%이니 약 2,800배로 불어났고, 이는 4,002배라는 한계 안에 있습니다.
이런 일은 결과에서 원인을 되찾는 문제, 곧 역문제(inverse problem)에서 흔합니다. 원인 x에서 결과 y=Kx를 계산하는 정문제(forward problem)는 대개 쉽습니다. 흐린 사진에서 선명한 장면을, X선의 합에서 몸의 단면을, 지진파의 도착 시각에서 땅속을 되찾는 역문제는 어렵습니다. 프랑스의 자크 아다마르는 1902년 논문에서 문제가 잘 놓였다는 생각을 내놓았고, 1923년 강의록에서 이를 다듬었습니다. 오늘날 세 조건으로 정리하면 이렇습니다. 해가 있을 것(존재), 하나뿐일 것(유일성), 자료를 조금 바꾸면 해도 조금만 바뀔 것(안정성, stability)입니다. 역문제는 셋 모두 어길 수 있습니다. 측정이 미지수보다 많고 잡음이 섞이면 대개 모든 식을 만족하는 해가 없어서, 최소제곱(least squares)으로 어긋남이 가장 작은 답을 고릅니다. 측정이 미지수보다 적으면 해가 있더라도 무한히 많아서, 그중 하나를 고를 기준이 필요합니다. 이 둘은 기준을 정하면 풀립니다. 가장 까다로운 것은 셋째입니다.
셋째 조건이 깨지는 까닭은 특잇값 분해(singular value decomposition)K=UΣVT로 보면 한 줄입니다. 역행렬(inverse matrix)은 특잇값 σi의 방향마다 1/σi를 곱하므로, 측정 잡음 e는 답에 ∑i(ui⋅e/σi)vi로 들어갑니다. 특잇값이 작은 방향, 곧 정문제가 거의 지워 버린 방향일수록 잡음이 크게 불어납니다. 흐림이나 CT처럼 적분(integral)으로 정의되는 연속적인(무한 차원의) 문제에서는 특잇값이 무한히 많고, 대개 끝없이 0에 다가갑니다. 그러면 1/σi에 상한(upper bound)이 없으니, 결과에서 원인으로 가는 사상(역사상)은 있더라도 연속이 아닙니다. 자료를 아무리 조금 바꿔도 답이 얼마든지 크게 바뀔 수 있다는 뜻입니다. 특잇값이 줄어드는 빠르기가 어려움의 등급을 정합니다. CT의 라돈 변환(Radon transform)은 특잇값이 거듭제곱 꼴로 천천히 줄어 비교적 순하고, 흐림이나 거꾸로 돌린 열 방정식은 지수적으로 줄어 몹시 사납습니다.
흔히 측정을 더 모으면 해결된다고 생각하지만, 같은 기계로 같은 것을 더 재는 것은 별 도움이 되지 않습니다. 가우스 함수(function) 모양의 흐림은 파수 k(단위 길이당 출렁임의 수에 비례하는 수)의 사인파(sinusoid) 성분에 e−k2w2/2를 곱합니다(w는 흐림의 폭, 곧 가우스 함수의 표준편차(standard deviation)). 이 배율이 특잇값 노릇을 합니다. 잡음 수준이 ε이면 배율이 잡음보다 큰 성분, 곧 e−k2w2/2>ε인 성분만 대략 되찾을 수 있습니다. 풀어 쓰면 k<2ln(1/ε)/w입니다. 매번의 잡음이 서로 독립(independence)이라면, 같은 측정을 1만 번 되풀이해 평균(mean)할 때 잡음은 100분의 1로 줄지만(ε = 10⁻³ → 10⁻⁵), 되찾는 파수의 한계는 2ln105/2ln103≈1.29배, 29% 늘 뿐입니다.
처방은 측정 밖의 앎을 더하는 것입니다. 1943년 안드레이 티호노프는 정문제가 연속이고 해가 하나뿐일 때, 해가 미리 알려진 콤팩트한 집합(set) 안에 있다고 알면 역사상이 그 위에서 연속이 된다는 것을 보였습니다. '크기와 기울기(slope)가 정해진 한도를 넘지 않는 함수들'이 그런 집합의 예입니다. 답이 마음대로 출렁일 수 없게 묶어 두면, 작은 특잇값 방향으로 잡음이 불어날 자리가 없어지는 것입니다. 1963년 그는 이 생각을 계산할 수 있는 방법으로 만들었습니다. 측정과의 어긋남에 답의 크기에 대한 벌점을 더해 가장 작게 하는 것입니다.
특잇값이 큰 방향은 거의 그대로 믿고, 작은 방향은 부드럽게 눌러 버립니다. 통계(statistics)의 릿지 회귀(ridge regression)와 같은 식이고, 잡음과 답에 각각 평균 0인 정규분포(normal distribution)를 가정한 베이즈 추정의 최빈값과도 같습니다(λ = 잡음의 분산(variance) ÷ 사전 분포(prior distribution)의 분산). 벌점은 '답은 대개 작다'는 믿음을 식으로 적은 것입니다. 특잇값이 기준보다 작은 성분을 아예 버리는 잘라 낸 특잇값 분해, 반복법을 일찍 멈추는 방법도 같은 일을 합니다. 최소제곱을 0에서 출발한 경사 하강법(gradient descent)으로 풀면서 k걸음에서 멈추면, 성분마다 1−(1−ησi2)k가 곱해집니다(η는 걸음 크기이고, 발산(divergence)하지 않으려면 ησmax2<2여야 합니다). 이 수도 큰 특잇값에서는 1에 가깝고 작은 특잇값에서는 0에 가깝습니다. 선형 모형에서는 이 계산이 정확하고, 신경망(neural network) 학습에서 조기 종료(early stopping)가 과적합(overfitting)을 줄이는 까닭도 흔히 이 그림으로 설명합니다.
이어지는 곳. 세레스의 궤도(orbit), 흐린 사진, CT, 압축 센싱(compressed sensing), 블랙홀 사진이 모두 이 페이지의 한 식으로 이어지는 이야기는 긴 글 「거꾸로 푸는 문제는 왜 어려운가」에 있습니다. 조건수가 작은 특잇값에서 나온다는 것은 특잇값 분해의 타원(ellipse) 그림에서 눈으로 볼 수 있습니다. 조건수만큼의 불어남은 문제 자체의 성질이라 어떤 풀이법도 피할 수 없습니다. 연립방정식을 소거법(elimination)으로 풀 때 피벗(pivot)을 고르는 까닭은, 계산 과정이 반올림 오차(round-off error)를 그보다 더 키우지 않게 하려는 것입니다. 정규화는 흔들림(분산)을 줄이는 대신 답을 한쪽으로 끌어당기는 치우침(편향)을 들여오는데, 제곱 오차로 재면 그 맞바꿈을 편향–분산 분해(bias–variance decomposition)가 정확히 적어 줍니다. '답은 작다' 대신 '답은 드물다(0이 아닌 성분이 적다)'를 믿으면 라소(lasso)와 L1 노름(norm)의 세계로 넘어갑니다. 답이 충분히 드물고 측정이 적당히 뒤섞여 있으면, 측정보다 미지수가 훨씬 많아도 답을 되찾을 수 있습니다. 여러 분야에서 같은 모양으로 일하는 근사의 생각은 근사와 오차에 모여 있습니다.