← 갤러리
최소제곱과 선형대수

잃어버린 소행성

1801년, 발견 몇 주 만에 태양 뒤로 사라진 세레스. 스물네 살의 가우스는 흩어진 관측값에서 궤도⁠(orbit)⁠를 되찾았습니다.

이 글의 처럼 점선이 그어진 숫자는 좌우로 끌 수 있고(키보드 ←/→도 됩니다), 밑줄 친 말에 마우스를 올리면 그림에서 그 부분이 빛납니다. 그림 속 점들도 직접 끌 수 있고, 3차원 그림은 끌어서 돌릴 수 있습니다. 색이 칠해진 선택지는 눌러서 바꿀 수 있습니다. 휴대폰에서는 마우스를 올리는 대신 누르면 됩니다.

1801년 1월 1일 밤, 수도사제이자 천문학자인 주세페 피아치는 별 목록을 점검하다가 목록에 없는 희미한 빛점 하나를 찾았습니다. 그가 일하던 곳은 부르봉 왕실이 시칠리아 팔레르모 왕궁의 탑 위에 세운 천문대였습니다. 다음 날 밤 그 점은 조금 자리를 옮겨 있었습니다. 별이 아니라 움직이는 천체였습니다. 피아치는 처음에 혜성일지도 모른다고 조심스럽게 적었지만, 꼬리도 없고 번져 보이지도 않았습니다. 나중에 밝혀졌듯이 이 천체는 화성과 목성 사이, 당시 여러 천문학자가 '빠진 행성'이 있으리라 믿던 거리를 돌고 있었습니다.

피아치는 6주 남짓 이 점을 따라갔습니다. 그러나 2월 중순 무렵 관측이 끊겼고, 그사이 천체는 하늘에서 태양 쪽으로 다가가 햇빛 속으로 사라졌습니다. 남은 것은 40일 남짓 동안 하늘을 몇 도쯤 움직인 기록뿐이었습니다. 몇 달 뒤 천체가 햇빛 밖으로 다시 나올 때 어디를 보아야 할까요? 맨눈으로는 보이지 않을 만큼 어두운 점을 넓은 하늘에서 무작정 찾을 수는 없었습니다. 궤도를 계산하지 못하면 이 천체를 영영 잃어버릴 판이었습니다.

어려움은 두 가지였습니다. 관측한 구간이 너무 짧았고, 관측마다 오차가 섞여 있었습니다. 대기의 흔들림, 시계의 오차, 눈금을 읽는 눈의 한계 때문에 같은 천체를 재도 숫자는 조금씩 어긋납니다. 짧은 구간의 작은 어긋남은 몇 달 뒤 하늘에서 큰 어긋남이 됩니다. 이 글은 스물네 살의 카를 프리드리히 가우스가 이 문제에 어떻게 맞섰는지, 그리고 흩어진 관측을 모두 써서 답 하나를 고르는 생각이 어떻게 오늘날 데이터를 다루는 가장 기본적인 도구, 최소제곱법⁠(method of least squares)⁠이 되었는지를 따라갑니다.

이 글의 물음은 이것입니다. 관측마다 조금씩 틀려 있을 때, 그 관측들을 모두 써서 가장 믿을 만한 답 하나를 고르는 공평한 규칙은 무엇일까? 답은 '틀린 양을 제곱해 더한 값이 가장 작은 답'입니다. 이 규칙이 무엇인지, 왜 하필 제곱인지, 그 답을 어떻게 계산하는지를 작은 예부터 차례로 봅니다.

1 · 짧은 호40일의 기록으로 1년 뒤를 맞히기

이 절의 물음은 이것입니다. 짧은 기간의 관측에 작은 오차가 섞여 있으면, 먼 앞날의 예측은 얼마나 빗나갈까? 그리고 그것을 줄이려면 무엇이 필요할까?

실제 궤도 계산은 타원⁠(ellipse)⁠ 궤도와 행성 운동의 법칙이 얽힌 어려운 문제입니다. 하지만 핵심 어려움은 훨씬 단순한 장난감에서도 그대로 보입니다. 하늘에서 천체의 위치가 날짜에 따라 일정하게 변한다고, 곧 날짜와 위치(하늘에서 잰 각도)의 그래프가 직선이라고 가정합시다. 40일 동안 12번 관측했고, 관측값마다 대략 정도의 오차가 섞여 있습니다. 이 수는 오차의 전형적인 크기를 나타내는 표준편차⁠(standard deviation)⁠이고, 실제보다 크게 과장한 값입니다. 과제는 330일째에 천체가 어디 있을지 맞히는 것입니다.

관측한 40일
330일째까지 이어 그리면
파란 점이 관측값입니다. 노란 직선은 고른 관측으로 정한 직선, 흰검은 고리는 330일째의 실제 위치, 주황 선분은 빗나간 정도입니다.

위 그림에서 볼 것은 왼쪽의 작은 어긋남이 오른쪽에서 얼마나 커지는가입니다. 직선은 두 점으로 정해집니다(기울기⁠(slope)⁠와 시작 위치). 여기서 기울기는 하루에 하늘에서 몇 도씩 움직이는지, 시작 위치는 0일째의 위치입니다. 그러니 관측 두 개만 골라 이으면 예측이 나옵니다. 어떤 두 개를 고를까요? 지금은 을 씁니다(눌러서 바꿀 수 있습니다). 330일째의 예측은 , 실제 위치는 , 빗나간 정도는 입니다.

그림의 옅은 분홍 선들은 12개 가운데 두 관측을 고르는 66가지(12 × 11 ÷ 2) 방법을 모두 그린 것입니다. 관측한 40일 안에서는 모두 관측점 근처를 지나지만, 330일째에는 부채처럼 크게 벌어집니다. 가까운 날짜의 두 관측을 고르면 특히 나쁩니다. 작은 오차가 짧은 날짜 간격으로 나뉘면서 기울기를 크게 흔들기 때문입니다. 수로 어림해 봅시다. 13일과 16일의 관측 가운데 하나만 0.15° 어긋나도, 3일 간격으로 나누면 기울기가 하루 0.05°씩 틀립니다. 이 차이가 16일째부터 330일째까지 314일 동안 쌓이면 0.05 × 314 ≈ 16°나 빗나갑니다. 처음(0일)과 마지막(40일) 관측을 쓰면 같은 0.15°가 40일로 나뉘어 하루 약 0.004°이고, 290일 동안 쌓여도 약 1.1°입니다. 자료의 작은 오차가 답을 크게 흔드는 이 현상은 결과에서 원인을 거꾸로 찾는 문제들이 모두 앓는 병입니다. 그 병의 정체가 작은 특잇값⁠(singular value)⁠이라는 것, 그리고 CT와 블랙홀 사진이 이 병을 이겨 낸 처방은 「거꾸로 푸는 문제는 왜 어려운가」에서 다룹니다.

이 상황을 식으로 적어 봅시다. 알고 싶은 수는 둘, 시작 위치 bb와 하루 이동량 mm입니다. 직선 위라면 t일째의 위치는 b + m × t입니다. 첫째 관측의 날짜를 t1t_1('티 일'), 그날 잰 위치를 y1y_1이라 적으면 관측 하나가 식 하나를 줍니다. 관측이 12개이니 식도 12개입니다. 모두 한꺼번에 쓰면 연립일차방정식⁠(system of linear equations)⁠입니다.

b+m t1=y1,b+m t2=y2,…,b+m t12=y12b + m\,t_1 = y_1,\quad b + m\,t_2 = y_2,\quad \dots,\quad b + m\,t_{12} = y_{12}

오차 때문에 12개의 식을 모두 만족하는 (b,m)(b, m)은 대개 없습니다. 이렇게 식이 미지수보다 많아 정확한 해가 없는 연립방정식을 과결정계⁠(overdetermined system)⁠라고 합니다. 두 식만 골라 풀면 답은 나오지만, 나머지 열 개의 관측은 버려지고 어느 둘을 고르느냐에 따라 답이 달라집니다. 흔히 관측이 많을수록 좋다고만 생각하지만, 관측이 늘어 식이 미지수보다 많아지면 '어느 식을 믿을 것인가'라는 새 문제가 생깁니다. 필요한 것은 모든 관측을 공평하게 쓰는 규칙입니다. 위에서 '모든 관측(최소제곱⁠, least squares⁠)'을 골라 보세요. 청록 직선은 330일째에도 참값 가까이 머뭅니다.

정리하면, 두 관측만 골라 쓰면 작은 오차가 먼 앞날에서 크게 불어나고, 어느 둘을 고르느냐에 따라 답도 달라집니다. 모든 관측을 쓰는 규칙이 필요합니다.

2 · 가장 덜 틀린 직선오차를 정사각형으로 재기

이 절의 물음은 이것입니다. 모든 관측을 공평하게 쓰는 규칙을 어떻게 정하고, 그 규칙이 고르는 직선을 어떻게 찾을까?

모든 식을 정확히 맞출 수 없다면, 틀린 정도를 수 하나로 재고 그 수가 가장 작은 답을 고르면 됩니다. 관측값이 직선에서 세로로 벗어난 양을 잔차라고 합니다. 1절의 날짜 tit_i를 이제부터 흔히 쓰는 대로 xix_i라고 쓰겠습니다. i번째 관측의 잔차⁠(residual)⁠는 ri=yi−(b+mxi)r_i = y_i - (b + m x_i), 곧 '잰 값 − 직선이 말하는 값'입니다. 예를 들어 직선이 y = 1 + 0.5x이고 관측점이 (2, 3)이면, 직선이 말하는 값은 1 + 0.5 × 2 = 2이고 잔차는 3 − 2 = 1입니다. 잔차는 양수일 수도 음수일 수도 있어서 그냥 더하면 서로 지워집니다. 잔차가 +2인 점과 −2인 점이 있으면 합은 0이지만 직선은 어느 점에도 맞지 않습니다. 그래서 제곱해서 더합니다.

S(m,b)=∑iri2=∑i(yi−b−mxi)2S(m, b) = \sum_i r_i^2 = \sum_i \bigl(y_i - b - m x_i\bigr)^2

Σ('시그마')는 모든 i에 대해 더하라는 기호입니다. 곧 S는 잔차를 하나씩 제곱해 모두 더한 값이고, 직선(m과 b)을 바꾸면 S도 바뀝니다.

제곱은 그림으로 보면 말 그대로 정사각형입니다. 아래 왼쪽 그림에서 각 관측점과 직선 사이의 잔차를 한 변으로 하는 정사각형을 그렸습니다. 노란 손잡이 두 개로 직선을 움직여 분홍 정사각형의 넓이⁠(area)⁠ 합을 되도록 작게 만들어 보세요. 지금 넓이 합은 입니다. 이 합을 가장 작게 만드는 직선을 고르는 것이 최소제곱법이고, 오늘날 최소제곱 회귀⁠(least-squares regression)⁠라고 부르는 방법입니다.

직선과 잔차 정사각형
모든 직선의 지도: 가로 기울기 m, 세로 절편 b
오른쪽 그림의 점 하나가 왼쪽의 직선 하나입니다. 분홍 타원은 넓이 합이 같은 직선들을 이은 등고선이고, 노란 점선 타원은 지금 직선과 넓이 합이 같은 직선들입니다.

오른쪽 그림은 직선 하나를 점 하나로 나타낸 지도입니다. 노란 점이 지금 직선이고, 이 점을 끌어도 직선이 움직입니다. 넓이 합 SS는 mm과 bb의 이차식이라서 이 지도 위에서 바닥이 움푹한 그릇 모양이 되고, 등고선은 타원이 됩니다. 관측 날짜가 모두 같지만 않으면 그릇의 바닥은 하나뿐입니다. 바닥은 청록 점이고, 그때 넓이 합은 입니다.

그릇의 바닥은 어떻게 찾을까요? 바닥을 찾는 방법은 최적화⁠(optimization)⁠에서와 같습니다. 그릇의 바닥에서는 어느 방향으로 조금 움직여도 높이가 거의 변하지 않습니다. mm 방향으로 잰 기울기와 bb 방향으로 잰 기울기가 모두 0이라는 뜻입니다(미분계수⁠, derivative⁠). 아래 식의 ∂S/∂m\partial S/\partial m은 bb를 고정하고 mm만 조금 바꿀 때 SS가 변하는 비율(편미분⁠, partial derivative⁠)입니다. 지금 직선에서 두 값은 차례로 , 입니다. 바닥으로 내려가기를 누르면 둘 다 0이 됩니다.

∂S∂m=−2∑ixi ri=0,∂S∂b=−2∑iri=0\frac{\partial S}{\partial m} = -2\sum_i x_i\, r_i = 0, \qquad \frac{\partial S}{\partial b} = -2\sum_i r_i = 0
이 두 식은 어떻게 나오나잔차 하나의 제곱 r2r^2부터 봅니다. r이 아주 조금 h만큼 바뀌면 (r+h)2−r2=2rh+h2(r + h)^2 - r^2 = 2rh + h^2이고, h가 작으면 h2h^2은 무시할 만하니 제곱은 약 2r × h만큼 바뀝니다. 이제 m을 아주 조금 늘리면 ri=yi−b−mxir_i = y_i - b - m x_i는 늘린 양의 xix_i배만큼 줄어듭니다. 그래서 ri2r_i^2은 m이 변하는 비율의 2ri×(−xi)2 r_i \times (-x_i)배로 변하고, 모두 더하면 −2∑ixiri-2\sum_i x_i r_i입니다. b를 조금 늘리면 rir_i는 늘린 양 그대로 줄어드니, 같은 계산으로 −2∑iri-2\sum_i r_i가 나옵니다.

오른쪽 식(bb 방향)은 잔차의 합이 0이라는 뜻입니다. 직선이 데이터의 무게중심, 곧 x값들의 평균⁠(mean)⁠ xˉ\bar x와 y값들의 평균 yˉ\bar y로 된 점 (xˉ,yˉ)(\bar x, \bar y)를 지나야 한다는 말과 같습니다. 잔차를 모두 더해 0이면 ∑yi=nb+m∑xi\sum y_i = n b + m \sum x_i이고, 양변을 관측 수 nn으로 나누면 yˉ=b+mxˉ\bar y = b + m\bar x이기 때문입니다. 왼쪽 식(mm 방향)은 잔차에 x를 곱해 더해도 0, 곧 잔차가 x가 큰 쪽이나 작은 쪽으로 쏠려 있지 않다는 뜻입니다. 두 식을 ri=yi−b−mxir_i = y_i - b - m x_i를 넣어 정리하면 미지수 두 개, 식 두 개인 연립방정식이 됩니다.

n b+(∑ixi)m=∑iyi,(∑ixi)b+(∑ixi2)m=∑ixiyin\,b + \Bigl(\sum_i x_i\Bigr) m = \sum_i y_i, \qquad \Bigl(\sum_i x_i\Bigr) b + \Bigl(\sum_i x_i^2\Bigr) m = \sum_i x_i y_i

이것을 정규방정식⁠(normal equations)⁠이라고 부릅니다. 계수는 모두 관측값으로 계산되는 수(관측 수, x의 합, x²의 합, y의 합, xy의 합)이니 보통의 연립방정식처럼 풀면 됩니다. 서로 모순되는 12개의 식이, 풀 수 있는 2개의 식으로 바뀐 것입니다.

정리하면, 최소제곱법은 잔차의 제곱 합이 가장 작은 직선을 고르고, 그 직선은 '두 방향의 기울기가 모두 0'이라는 두 식, 곧 정규방정식을 풀어 얻습니다.

3 · 왜 하필 제곱인가절댓값⁠(absolute value)⁠과 제곱

이 절의 물음은 이것입니다. 틀린 정도를 왜 하필 제곱으로 잴까? 다른 방법을 쓰면 무엇이 달라질까?

틀린 정도를 재는 방법이 제곱만 있는 것은 아닙니다. 잔차의 절댓값을 더해도 되고, 가장 큰 잔차 하나만 봐도 됩니다. 실제로 18세기 중반 크로아티아 출신의 예수회 수학자 루제르 보스코비치가, 뒤이어 라플라스가 절댓값의 합을 쓰는 방법을 연구했습니다. 두 기준은 무엇이 다를까요? 아래 그림에서 주황 점 하나를 멀리 끌어 보며, 두 직선 가운데 어느 쪽이 따라가는지 보세요.

모든 점을 끌 수 있습니다. 청록 실선은 제곱 합이 가장 작은 직선, 분홍 점선은 절댓값 합이 가장 작은 직선입니다.

주황 점은 잘못 적힌 관측, 곧 이상값입니다. 끌어서 움직여 보세요. 제곱 합을 최소로 하는 직선은 이상값⁠(outlier)⁠ 쪽으로 끌려갑니다. 큰 오차는 제곱하면 훨씬 더 커지므로, 직선은 그 오차 하나를 줄이려고 다른 점들을 조금씩 희생합니다. 절댓값 합을 최소로 하는 직선은 이상값이 멀리 가도 거의 움직이지 않습니다. 지금 두 직선의 기울기는 각각 , 입니다. 대신 절댓값 기준에는 관측점 두 개를 지나는 최적의 직선이 언제나 있어서, 점을 조금 움직였을 뿐인데 답이 갑자기 다른 두 점으로 건너뛰기도 합니다. 최적의 직선이 하나로 정해지지 않을 때도 있습니다.

데이터를 수 하나로 요약할 때를 보면 차이가 더 선명합니다. 값 여러 개를 한 수 cc로 대표할 때, 제곱 합 ∑i(yi−c)2\sum_i (y_i - c)^2을 가장 작게 하는 cc는 평균이고, 절댓값 합 ∑i∣yi−c∣\sum_i |y_i - c|를 가장 작게 하는 cc는 중앙값⁠(median)⁠입니다. 평균은 모든 값에 조금씩 끌려가고 중앙값은 극단을 무시합니다.

값 1, 2, 3, 4, 20으로 확인해 봅시다. 평균은 (1 + 2 + 3 + 4 + 20) ÷ 5 = 6이고, 중앙값(크기순으로 한가운데 값)은 3입니다. 20 하나가 평균을 가운데의 3에서 6까지 끌고 갔지만, 중앙값은 20이 100이 되어도 3 그대로입니다.

왜 그런지도 짧게 보일 수 있습니다. 제곱 합을 c로 미분⁠(differentiation)⁠하면 −2∑i(yi−c)-2\sum_i (y_i - c)이고, 이것이 0이 되는 c는 값들의 합을 개수로 나눈 평균입니다. 절댓값 합에서는 c를 오른쪽으로 조금 옮기면 c보다 왼쪽의 값들과는 멀어지고 오른쪽의 값들과는 가까워집니다. 그래서 양쪽에 놓인 값의 개수가 같은 곳, 곧 중앙값에서 가장 작습니다. 이때 값이 얼마나 멀리 있는지는 따지지 않고 어느 쪽에 있는지만 세므로, 극단값의 크기에 흔들리지 않습니다. 제곱 합의 최솟값을 값의 개수로 나눈 것이 바로 분산⁠(variance)⁠입니다.

그런데도 제곱이 널리 쓰인 첫째 이유는 계산입니다. 제곱 합은 매끄러운 이차식이라 미분해서 0으로 놓으면 곧바로 일차방정식이 나옵니다. 절댓값에는 뾰족한 꼭짓점⁠(vertex)⁠이 있어 이 방법이 통하지 않고, 경우를 나누어 따져야 합니다. 1805년 이 방법을 처음 출판한 르장드르는 이렇게 썼습니다.

이 목적을 위해 내놓을 수 있는 모든 원리 가운데, 이 책에서 쓴 것보다 더 일반적이고 더 정확하며 쓰기 쉬운 것은 없다고 생각한다. 그것은 오차들의 제곱의 합을 최소로 만드는 것이다. 이 방법으로 오차들 사이에 일종의 평형이 세워지며, 이 평형은 극단적인 오차가 지배하지 못하게 하므로 참에 가장 가까운 상태를 드러내기에 알맞다.— 아드리앵마리 르장드르, 『혜성 궤도를 결정하는 새로운 방법』 부록 「최소제곱법에 대하여」(1805)

르장드르가 말한 '평형'은 그림에서 보입니다. 제곱 기준은 어느 한 오차도 혼자 커지도록 두지 않습니다. 오차가 모두 비슷한 크기일 때는 이것이 장점이지만, 이상값 앞에서는 같은 성질이 약점이 됩니다. 제곱을 고를 더 깊은 이유는 6절에서 가우스가 내놓습니다.

정리하면, 제곱 기준은 계산이 쉽고 오차를 고르게 나누지만 이상값에 끌려가고, 절댓값 기준은 이상값에 강하지만 계산이 어렵고 답이 갑자기 건너뛰기도 합니다.

보스코비치와 르장드르가 어떤 자료를 다루고 있었는지도 짚어 둘 만합니다. 둘 다 별이 아니라 지구를 잰 자료를 붙들고 있었습니다. 18세기에는 지구가 극 쪽으로 납작한지, 길쭉한지를 두고 논쟁이 벌어졌습니다. 납작하다는 것은 뉴턴의 예측이었고, 길쭉하다는 것은 파리 천문대 카시니 가문의 측량 결과였습니다. 이를 가리려고 프랑스 과학 아카데미는 1730년대에 북극권의 라플란드와 적도 가까운 페루(오늘날 에콰도르)로 원정대를 보내 위도 1°에 해당하는 자오선⁠(meridian)⁠의 길이를 쟀습니다. 지구가 납작하다면 극에 가까울수록 1°가 길어야 하고, 결과는 뉴턴의 편이었습니다.

그런데 여러 곳의 측량값은 어떤 타원 하나로도 정확히 맞지 않았습니다. 로마와 리미니 사이의 자오선을 직접 쟀던 예수회 수학자 보스코비치는 1750년대에 다섯 곳의 측량을 하나의 지구 모양으로 맞추려고 절댓값 기준을 세웠습니다. 미지수는 둘, 곧 적도에서 1°의 길이와 극으로 갈수록 그 길이가 늘어나는 정도인데 측량은 다섯 개였습니다. 바로 1절의 과결정계입니다. 보스코비치의 절댓값 기준은 200년 뒤 석유 탐사의 지진학과 압축 센싱⁠(compressed sensing)⁠에서, 대부분이 0인 드문 신호를 되찾는 도구로 다시 등장합니다. 압축 센싱은 적은 수의 측정으로 신호를 되살리는 기술입니다(「거꾸로 푸는 문제는 왜 어려운가」 8절).

르장드르의 예제는 프랑스 혁명에서 왔습니다. 혁명 정부는 새 길이 단위 미터를 북극에서 적도까지 거리의 1천만분의 1로 정하기로 했습니다. 그리고 1792년부터 6년여 동안 천문학자 들랑브르와 메생에게 됭케르크에서 바르셀로나까지의 자오선(북극과 남극을 잇는 남북선)을 삼각측량⁠(triangulation)⁠하게 했습니다. 삼각측량은 산꼭대기나 탑 같은 지점들을 삼각형 그물로 잇고, 한 변의 길이만 직접 잰 뒤 나머지는 각도를 재어 삼각법⁠(trigonometry)⁠으로 계산하는 측량입니다. 르장드르는 이 사업을 준비한 과학 아카데미 위원 가운데 한 사람이었고, 1805년 최소제곱법을 소개하며 든 예제가 바로 이 측량 자료였습니다.

그 측량에는 숨겨진 오차가 있었습니다. 메생은 바르셀로나에서 잰 위도가 서로 맞지 않는 것을 알고도 평생 숨기며 괴로워했다고 알려져 있습니다. 오차를 부끄러운 실수로 감추던 시대에서, 오차를 모두 드러내고 규칙에 따라 고르게 나누는 시대로 넘어가는 문턱⁠(threshold)⁠이었던 셈입니다.

지구의 모양을 재려고 사람들은 북극권과 적도까지 갔습니다. 파리로 모인 선들은 서로 맞지 않는 측량값을 하나의 답으로 묶어야 했던 사정을 보여 줍니다. 됭케르크–바르셀로나 선이 미터를 정한 자오선입니다.

4 · 그림자를 내리다정사영⁠(orthogonal projection)⁠으로 보는 최소제곱

이 절의 물음은 이것입니다. 2절에서 미분으로 얻은 정규방정식을, 미분 없이 그림 한 장으로 이해할 수 있을까? 정규방정식 뒤에는 한 장의 그림이 숨어 있습니다. 관측이 세 개뿐인 경우를 봅시다. x=1,2,3x = 1, 2, 3에서 잰 값 y1,y2,y3y_1, y_2, y_3을 세 개의 수가 아니라 3차원 공간의 점 하나, 곧 벡터⁠(vector)⁠ b⃗=(y1,y2,y3)\vec b = (y_1, y_2, y_3)로 봅니다. 가로, 세로, 높이의 세 좌표에 세 관측값을 하나씩 넣은 점입니다. 예를 들어 관측값이 1.0, 2.6, 2.4이면 점 (1.0, 2.6, 2.4)입니다.

직선 y=c+mxy = c + m x가 세 관측 지점에서 내놓는 값도 벡터로 모읍니다. 이 절에서는 절편을 cc라고 부릅니다. bb라는 글자는 관측 벡터에 쓰려고 남겨 둡니다.

(c+mc+2mc+3m)=c(111)+m(123)=(111213)(cm)=Ax⃗\begin{pmatrix} c + m \\ c + 2m \\ c + 3m \end{pmatrix} = c \begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix} + m \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 1 & 2 \\ 1 & 3 \end{pmatrix} \begin{pmatrix} c \\ m \end{pmatrix} = A\vec x

두 벡터 a⃗1=(1,1,1)\vec a_1 = (1,1,1)과 a⃗2=(1,2,3)\vec a_2 = (1,2,3)을 두 열로 하는 행렬⁠(matrix)⁠ AA를 쓰면 예측값은 곱 Ax⃗A\vec x로 적힙니다(행렬의 곱⁠, matrix multiplication⁠). cc와 mm을 모두 바꿔 보면 이 점들은 원점을 지나는 평면 하나를 채웁니다. c = m = 0이면 원점이고, 두 방향 a⃗1\vec a_1과 a⃗2\vec a_2로 얼마씩 가느냐를 c와 m이 정하기 때문입니다. 이 평면이 두 열이 펼치는 공간, 곧 행렬 AA의 열공간⁠(column space)⁠이고, '직선으로 만들 수 있는 모든 예측'의 모임입니다.

세 관측과 두 직선
같은 것을 3차원에서: 관측 벡터와 열공간
왼쪽의 흰검은 점 세 개를 위아래로 끌 수 있습니다. 오른쪽 그림은 끌어서 돌려 볼 수 있습니다. 노랑은 직접 고른 직선, 청록은 최소제곱 직선입니다.

관측 b⃗\vec b가 이 평면 위에 있다면 세 점을 정확히 지나는 직선이 있습니다. 하지만 대개는 평면 밖에 있습니다. 왼쪽 그림에서 세 점을 위아래로 끌면 오른쪽의 흰검은 화살표 b가 움직입니다. 직접 고른 직선(c=c = , m=m = )은 평면 위의 노란 점입니다. b에서 노란 점까지 거리의 제곱은 인데, 이 값은 왼쪽 그림에서 세 잔차(노란 점선)를 제곱해 더한 값과 정확히 같습니다. 두 점 사이 거리의 제곱은 좌표 차이의 제곱을 더한 것이기 때문입니다(피타고라스 정리⁠, Pythagorean theorem⁠).

그러니 최소제곱 문제는 평면 위에서 b에 가장 가까운 점 찾기입니다. 답은 b에서 평면으로 수선⁠(perpendicular)⁠을 내린 발, 곧 정사영입니다(청록 점, 지금 ). 이때 잔차 벡터 e⃗=b⃗−Ax^\vec e = \vec b - A\hat x는 평면과 수직입니다. 여기서 x^\hat x('엑스 햇')는 최소제곱으로 고른 c와 m의 짝입니다. 평면을 옆에서 보기를 누르면 평면이 선으로 보이면서 직각이 똑바로 보입니다. 노란 점을 어디로 옮겨도 거리 제곱은 청록 점의 값 보다 작아지지 않습니다. 노란 점을 수선의 발로

왜 수선의 발이 가장 가까울까요? 평면 위의 다른 점 Q를 잡으면 b, 수선의 발, Q가 직각삼각형⁠(right triangle)⁠을 이루고, b에서 Q까지는 그 빗변입니다. 빗변⁠(hypotenuse)⁠은 직각을 낀 변보다 길므로, b에서 평면까지 가장 짧은 거리는 수선의 길이입니다.

'수직'을 식으로 쓰면 정규방정식이 다시 나옵니다. 잔차 벡터가 평면과 수직이려면 평면을 펼치는 두 열과 각각 수직이어야 하고, 이는 내적⁠(dot product)⁠이 0이라는 뜻입니다.

a⃗1⋅(b⃗−Ax^)=0,a⃗2⋅(b⃗−Ax^)=0⟺A⊤A x^=A⊤b⃗\vec a_1 \cdot (\vec b - A\hat x) = 0,\quad \vec a_2 \cdot (\vec b - A\hat x) = 0 \quad\Longleftrightarrow\quad A^{\top} A\,\hat x = A^{\top}\vec b

여기서 A⊤A^{\top}는 AA의 행과 열을 맞바꾼 전치행렬입니다. 그 행이 곧 AA의 열이므로, A⊤v⃗A^{\top}\vec v를 계산하면 a⃗1⋅v⃗\vec a_1 \cdot \vec v와 a⃗2⋅v⃗\vec a_2 \cdot \vec v가 차례로 나옵니다. 두 내적 조건을 한 줄로 묶은 것이 오른쪽 식입니다. 이것은 2절에서 미분으로 얻은 두 식과 똑같습니다. a⃗1⋅e⃗=0\vec a_1 \cdot \vec e = 0은 잔차의 합이 0이라는 식이고, a⃗2⋅e⃗=0\vec a_2 \cdot \vec e = 0은 ∑ixiri=0\sum_i x_i r_i = 0입니다. 미적분⁠(calculus)⁠이 말하는 '그릇의 바닥'과 기하⁠(geometry)⁠가 말하는 '수선의 발'은 같은 조건입니다.

처음 값으로 확인해 봅시다. 관측이 b⃗=(1.0,2.6,2.4)\vec b = (1.0, 2.6, 2.4)이면 최소제곱 직선은 c = 0.6, m = 0.7이고, 예측값은 (0.6 + 0.7, 0.6 + 1.4, 0.6 + 2.1) = (1.3, 2.0, 2.7)입니다. 잔차 벡터는 (1.0 − 1.3, 2.6 − 2.0, 2.4 − 2.7) = (−0.3, 0.6, −0.3)입니다. (1, 1, 1)과의 내적은 −0.3 + 0.6 − 0.3 = 0이고, (1, 2, 3)과의 내적은 −0.3 + 1.2 − 0.9 = 0입니다. 두 열과 모두 수직입니다. 거리 제곱은 0.09 + 0.36 + 0.09 = 0.54입니다.

이 그림은 관측이 몇 개든 그대로 성립합니다. 관측이 12개면 b는 12차원 공간의 벡터이고 열공간은 그 안의 평면입니다. 눈으로 볼 수는 없지만 계산은 같습니다. A⊤AA^{\top} A는 언제나 정사각행렬⁠(square matrix)⁠이고, 열들이 한 직선 위에 겹치지 않으면 역행렬(곱하면 곱셈을 되돌리는 행렬, M−1M=IM^{-1}M = I)이 있어 x^=(A⊤A)−1A⊤b⃗\hat x = (A^{\top} A)^{-1} A^{\top} \vec b로 풀립니다. 행렬 P=A(A⊤A)−1A⊤P = A(A^{\top} A)^{-1} A^{\top}은 어떤 벡터든 열공간에 그림자를 내리는 선형변환⁠(linear transformation)⁠입니다. 그림자의 그림자는 그림자 자신이므로 P2=PP^2 = P입니다.

정리하면, 최소제곱 답은 관측 벡터 b를 '직선으로 만들 수 있는 예측들의 평면'에 수직으로 내린 그림자이고, '잔차가 평면과 수직'이라는 조건을 식으로 쓴 것이 정규방정식 A⊤A x^=A⊤b⃗A^{\top} A\,\hat x = A^{\top}\vec b입니다.

5 · 2,000년 된 계산법산가지⁠(counting rods)⁠로 푸는 연립방정식

이 절의 물음은 이것입니다. 최소제곱의 마지막 단계인 연립방정식은 손으로 어떻게 풀고, 그 방법은 어디서 왔을까? 최소제곱은 결국 정규방정식이라는 연립방정식을 푸는 일로 끝납니다. 궤도를 정하는 수(궤도의 크기, 찌그러진 정도, 기울기와 방향, 천체가 궤도의 어디에 있는지 등)는 여섯 개이므로, 궤도를 다듬으려면 미지수 여섯 개짜리 연립방정식을 손으로 풀어야 했습니다. 가우스는 식을 차례로 빼서 미지수를 하나씩 없애는 소거법⁠(elimination)⁠을 체계적으로 정리해 썼고, 그래서 오늘날 이 방법을 가우스 소거법⁠(Gaussian elimination)⁠이라고 부릅니다. 하지만 방법 자체는 훨씬 오래되었습니다.

중국의 수학책 『구장산술』(九章算術)은 여러 세대에 걸쳐 쌓인 문제들을 모은 책으로, 늦어도 1세기 무렵에는 지금과 비슷한 모습으로 엮였다고 봅니다. 이 책의 여덟째 장 '방정'(方程)의 첫 문제는 이렇습니다.

상등 벼 3단, 중등 벼 2단, 하등 벼 1단에서 낟알 39말이 나온다. 상등 2단, 중등 3단, 하등 1단이면 34말, 상등 1단, 중등 2단, 하등 3단이면 26말이다. 상·중·하등 벼 한 단에서는 각각 몇 말이 나오는가?— 『구장산술』 제8장 '방정' 제1문 (뜻을 풀어 옮김)

상등, 중등, 하등 벼 한 단에서 나오는 낟알을 각각 x, y, z말이라 하면 세 문장은 세 식이 됩니다.

3x+2y+z=39,2x+3y+z=34,x+2y+3z=263x + 2y + z = 39, \qquad 2x + 3y + z = 34, \qquad x + 2y + 3z = 26

소거법의 생각은 간단합니다. 한 식에 수를 곱해 다른 식에서 빼면, 두 식이 모두 참인 한 결과도 참이고 미지수 하나를 없앨 수 있습니다. 예를 들어 둘째 식에 3을 곱하면 6x + 9y + 3z = 102이고, 여기서 첫째 식을 두 번 빼면(6x + 4y + 2z = 78) x가 사라져 5y + z = 24가 남습니다.

『구장산술』의 계산은 셈판 위에 산가지를 늘어놓고 했습니다. 식 하나를 세로 한 줄로 놓고, 첫째 식을 오른쪽, 둘째를 가운데, 셋째를 왼쪽에 둡니다. 맨 아래 칸이 결과입니다. 그다음 한 줄 전체에 수를 곱하고 다른 줄을 거듭 빼는 조작으로 윗칸을 하나씩 0으로 만듭니다. 오늘날 행렬의 행에 하는 일과 똑같고, 방향만 90° 돌아 있을 뿐입니다.

산가지 숫자는 자리마다 세로 모양과 가로 모양을 번갈아 씁니다(일의 자리는 세로, 십의 자리는 가로). 6부터 9까지는 5를 뜻하는 막대 하나를 가로질러 놓습니다. 0은 빈칸으로 둡니다. 노란 테두리가 방금 바뀐 줄입니다.

아래 단계 단추로 한 단계씩 넘기며, 노란 테두리의 줄에서 윗칸이 하나씩 0이 되는 것을 보세요.

표시:

같은 과정을 오늘날의 표기, 곧 식 하나를 가로 한 줄로 쓰는 첨가행렬⁠(augmented matrix)⁠로 옮기면 이렇습니다.

마지막에 왼쪽 줄에는 하등 벼 칸의 36과 결과 칸의 99만 남습니다. 곧 36z=9936z = 99이고 z=114z = \tfrac{11}{4}말입니다. 이 값을 가운데 줄 5y+z=245y + z = 24에 넣으면 y=174y = \tfrac{17}{4}, 오른쪽 줄에 넣으면 x=374x = \tfrac{37}{4}을 얻습니다. 소수⁠(prime number)⁠로는 x = 9.25, y = 4.25, z = 2.75말이고, 첫째 식에 넣으면 3 × 9.25 + 2 × 4.25 + 2.75 = 27.75 + 8.5 + 2.75 = 39로 맞습니다. 『구장산술』은 이 과정을 말로만 적었지만, 셈판의 배열은 사실상 행렬이었습니다. 같은 장에는 빼는 도중에 생기는 음수를 다루려고 양수와 음수를 더하고 빼는 규칙(정부술)도 나오고, 유휘의 주석은 빨간 산가지와 검은 산가지로 둘을 구별한다고 설명합니다. 음수를 계산 규칙으로 다룬 가장 이른 기록 가운데 하나입니다.

소거가 막히는 경우도 있습니다. 한 식이 다른 식들을 섞어 만든 것이라면, 소거 도중 한 줄 전체가 0이 되어 답이 하나로 정해지지 않습니다. 이것을 미리 판별하는 수가 행렬식⁠(determinant)⁠입니다. 미지수가 둘인 식 ax+by=eax + by = e, cx+dy=fcx + dy = f라면 행렬식은 ad − bc입니다. 예를 들어 x + 2y = 3과 2x + 4y = 6에서는 둘째 식이 첫째 식을 두 배 한 것일 뿐이라 식이 사실상 하나이고, 행렬식도 1 × 4 − 2 × 2 = 0입니다. 행렬식은 1683년 일본의 세키 다카카즈와 1693년 독일의 라이프니츠가 서로 독립적으로 생각해 냈습니다. 행렬식이 0이 아니면 역행렬⁠(inverse matrix)⁠이 있고 해는 하나뿐입니다. 직선 맞추기에서 A⊤AA^{\top} A의 행렬식은 관측 지점 x의 분산에 비례하므로, 관측 지점이 모두 같지만 않으면 최소제곱 직선은 하나로 정해집니다.

정리하면, 최소제곱의 마지막 단계인 정규방정식은 식을 곱하고 빼서 미지수를 하나씩 없애는 소거법으로 풀고, 그 방법은 2,000년 전 중국의 셈판에서 이미 쓰였습니다.

『구장산술』의 장 제목을 보면 누구를 위한 책이었는지 드러납니다. 논밭의 넓이를 재는 '방전', 곡식끼리 바꾸는 비율의 '속미', 세금과 물자를 차등 있게 나누는 '쇠분', 둑과 성벽을 쌓을 흙의 부피와 인부 수를 셈하는 '상공', 세곡을 나르는 부담을 고을마다 고르게 나누는 '균수'. 넓은 제국을 다스리던 관리들의 실무 수학이었습니다.

이 성격은 땅속에서 나온 기록으로도 뒷받침됩니다. 1983–84년 후베이성 장자산의 한나라 초기 무덤에서는 이보다 이른 수학 죽간 『산수서』가 법률 문서와 함께 나왔는데, 무덤의 주인은 하급 관리로 여겨집니다. 오늘날 우리가 읽는 『구장산술』에는 263년 위나라의 유휘가 붙인 주석이 함께 실려 있습니다. 유휘는 문제마다 왜 그렇게 풀어도 되는지 근거를 달았습니다. 『구장산술』은 그 뒤 동아시아 수학의 교과서가 되었습니다. 『삼국사기』에는 신라의 국학(나라가 세운 최고 교육 기관)에서 『구장』 등으로 산학, 곧 계산의 학문을 가르쳤다는 기록도 있습니다.

'행렬'이라는 이름은 훨씬 늦게 붙었습니다. 1850년 영국의 수학자 제임스 조지프 실베스터는 수의 배열에 라틴어로 '자궁'을 뜻하는 matrix라는 이름을 붙였습니다. 그 배열에서 행렬식들이 태어난다는 뜻이었습니다. 1858년에는 영국의 수학자 아서 케일리가 행렬끼리 더하고 곱하는 대수를 정리했습니다. 셈판 위의 배열이 그 자체로 계산의 대상이 되기까지 2,000년 가까이 걸린 셈입니다.

6 · 오차의 법칙종 모양 곡선이 제곱을 고르다

이 절의 물음은 3절에서 미뤄 둔 것입니다. 제곱을 고를 계산의 편리함 말고 더 깊은 이유가 있을까? 그리고 관측 오차는 왜 대개 비슷한 모양으로 흩어질까?

르장드르에게 제곱은 편리하고 공평한 규칙이었습니다. 가우스는 1809년 『천체 운동론』에서 한 걸음 더 나아가 확률⁠(probability)⁠로 이유를 댔습니다. 오차가 어떤 확률 법칙을 따른다면, 실제로 얻은 관측값들이 나올 확률이 가장 큰 궤도를 고르자는 것입니다. 오늘날 최대가능도법⁠(maximum likelihood)⁠이라 부르는 생각입니다. 예를 들어 동전을 10번 던져 앞면이 7번 나왔다면, '앞면 확률 0.5'보다 '앞면 확률 0.7'이 이 결과를 더 잘 낳으니 0.7을 고르는 식입니다.

가우스는 거꾸로 추론했습니다. 같은 양을 여러 번 재면 평균을 내는 것이 오래된 관습이었습니다. 만약 평균이 언제나 가장 그럴듯한 값이어야 한다면, 오차의 분포는 어떤 모양이어야 할까요? 가우스가 얻은 답은 이 곡선이었습니다.

φ(Δ)=hπ e−h2Δ2\varphi(\Delta) = \frac{h}{\sqrt{\pi}}\, e^{-h^2 \Delta^2}

여기서 Δ\Delta는 오차의 크기이고, hh는 가우스가 '정밀도⁠(precision)⁠'라고 부른 수입니다. hh가 클수록 곡선이 좁고 뾰족해져 작은 오차만 흔합니다(표준편차로 쓰면 σ=1/(h2)\sigma = 1/(h\sqrt2)). 곡선의 높이는 그 크기의 오차가 얼마나 흔한지를 나타냅니다. h = 1이라면 오차 1은 오차 0보다 e−1≈0.37e^{-1} \approx 0.37배 흔하고, 오차 2는 e−4≈0.018e^{-4} \approx 0.018배밖에 흔하지 않습니다. 큰 오차일수록 급격히 드물어집니다. 오늘날 정규분포⁠(normal distribution)⁠라고 부르는 종 모양 곡선입니다. 분모의 π\sqrt\pi는 곡선 아래 넓이를 1로 맞추려고 붙인 것으로, 가우스 적분⁠(Gaussian integral)⁠에서 나옵니다. 오차들이 이 법칙을 따르고 서로 독립⁠(independence)⁠이면, 곧 한 관측의 오차가 다른 관측의 오차에 아무 영향을 주지 않으면, 관측 전체의 확률은 각 확률의 곱입니다(주사위 두 개가 모두 6이 나올 확률이 1/6 × 1/6인 것과 같습니다). 지수함수⁠(exponential function)⁠끼리 곱하면 지수가 더해지므로(eaeb=ea+be^{a} e^{b} = e^{a+b})

∏iφ(ri)  ∝  exp⁡(−h2∑iri2)\prod_i \varphi(r_i) \;\propto\; \exp\Bigl(-h^2 \sum_i r_i^2\Bigr)

기호 ∏('파이', 대문자)는 모든 i에 대해 곱하라는 뜻이고, 기호 ∝\propto는 '비례한다'는 뜻입니다. 지수 앞에 마이너스가 붙어 있으니, 이 확률이 가장 큰 직선은 ∑iri2\sum_i r_i^2이 가장 작은 직선입니다. 오차가 정규분포를 따른다면 최소제곱은 '가장 그럴듯한 답'입니다.

가우스의 논증에는 제자리를 도는 구석이 있습니다. 평균이 최선이라고 가정해서 정규분포를 끌어냈으니까요. 흔히 이것을 '최소제곱이 옳다는 증명'으로 여기지만, 실제로는 '오차가 이런 모양이라면 최소제곱이 가장 그럴듯하다'는 조건부 주장입니다. 오차가 왜 정규분포를 닮는지는 이듬해 라플라스의 정리가 설명해 줍니다. 서로 독립인 작은 요인이 많이 더해지면, 요인 하나하나의 분포가 무엇이든(흩어짐이 유한하고 어느 한 요인이 합을 좌우하지만 않으면) 그 합은 종 모양에 가까워진다는 중심극한정리⁠(central limit theorem)⁠입니다. 한 번의 측정 오차가 고르게 흔들리는 작은 요인 개의 합이라고 하고, 3,000번 측정한 결과를 모아 봅시다. '고르게 흔들린다'는 것은 어떤 범위 안의 값이 모두 같은 확률로 나온다는 뜻입니다. 요인 개수를 1부터 늘려 가며 막대의 모양이 청록 곡선에 가까워지는지 보세요.

막대는 측정 오차 3,000개의 히스토그램(넓이 합이 1이 되게 그림), 청록 곡선은 평균 0, 분산 1인 정규분포입니다. 요인 개수와 상관없이 합의 분산은 1로 맞춰 두었습니다.

요인이 하나면 히스토그램⁠(histogram)⁠은 평평한 상자입니다. 둘이면 삼각형이 되고, 서너 개부터는 벌써 정규분포 곡선과 구별하기 어렵습니다. 대기의 흔들림, 망원경의 떨림, 관측자의 반응 시간처럼 작은 요인이 여럿 겹치는 관측의 오차가 종 모양을 닮는 이유입니다. 요인 하나하나는 제멋대로 걷는 한 걸음이고, 오차는 그 걸음들을 이어 붙인 무작위 행보⁠(random walk)⁠의 도착점입니다. 이런 시뮬레이션처럼 무작위 수를 많이 뽑아 분포를 알아보는 방법을 몬테카를로 방법⁠(Monte Carlo method)⁠이라고 합니다. 다시 측정하기

가우스는 1820년대 초에 정규분포라는 가정 없이도 최소제곱을 정당화했습니다. 오차의 기댓값⁠(expected value)⁠이 0이고(여러 번 재면 오차가 평균적으로 한쪽으로 치우치지 않고), 분산이 모두 같으며(관측마다 흩어지는 정도가 같고), 서로 상관이 없기만 하면(한 오차가 크다고 다른 오차도 크게 나오는 경향이 없으면) 됩니다. 관측값에 적당한 수를 곱해 더한 꼴, 곧 관측값의 일차식인 추정만 생각합시다. 그 가운데 치우침이 없는 것, 곧 평균적으로 참값을 맞히는 것들을 비교하면 최소제곱 추정의 분산이 가장 작습니다. 이 결과는 20세기에 들어 러시아의 마르코프의 이름을 함께 달고 가우스–마르코프 정리라 불리게 되었습니다. 확률이 오직 현재 상태에만 달린 과정인 마르코프 연쇄⁠(Markov chain)⁠의 그 마르코프입니다. 관측을 늘리면 추정은 큰 수의 법칙⁠(law of large numbers)⁠에 따라 참값으로 모이고, 그 흔들림은 관측 수의 제곱근에 반비례해 줄어듭니다. 관측을 4배로 늘리면 흔들림은 절반, 100배로 늘리면 10분의 1이 됩니다. 1절에서 모든 관측을 쓴 예측이 덜 흔들렸던 이유입니다.

정리하면, 오차가 정규분포를 따르면 최소제곱은 가장 그럴듯한 답이고, 작은 요인이 많이 겹친 오차는 실제로 정규분포를 닮으며, 그런 가정이 없어도 최소제곱은 치우침 없는 일차식 추정 가운데 가장 덜 흔들립니다.

종 모양 곡선 자체는 가우스보다 앞서 1733년 드무아브르가 이항분포⁠(binomial distribution)⁠를 근사하다가 처음 적었지만, 이 곡선을 오차의 법칙으로 세운 것은 가우스였습니다. 그래서 이 곡선은 지금도 가우스 분포⁠(Gaussian distribution)⁠라고 불립니다. 드무아브르가 이 곡선을 처음 얻은 이야기는 「도박판에서 온 편지」에 있습니다.

오차의 법칙은 곧 천문대 밖으로 나갔습니다. 벨기에의 아돌프 케틀레는 브뤼셀에 천문대를 세우는 일을 맡아 1823년 파리로 천문학을 배우러 갔고, 그곳에서 라플라스와 푸리에, 푸아송 같은 이들을 만나 확률과 오차 이론에 눈떴습니다. 그는 천문학자가 같은 별을 여러 번 잰 오차에 쓰던 종 모양 곡선을, 병사들의 가슴둘레나 키처럼 서로 다른 사람들을 잰 값에 적용했습니다. 1835년 『인간에 대하여』에서는 이 분포의 한가운데에 있는 '평균적 인간'을 사회를 이해하는 기준으로 내세웠습니다. 한 대상을 여러 번 잴 때의 흩어짐과, 여러 대상이 저마다 달라서 생기는 흩어짐을 같은 곡선으로 다룬 것입니다. 이 한 걸음이 골턴과 피어슨의 통계⁠(statistics)⁠로 이어졌습니다. 그 뒤의 이야기는 「담배와 폐암」에, 평균을 어떻게 재느냐에 따라 답이 달라지는 역설들은 「재는 순간 바뀐다」에 있습니다.

'회귀'라는 이름에는 작은 우연이 담겨 있습니다. 골턴은 키가 아주 큰 부모의 자녀가 평균적으로 부모보다 덜 크다는, 곧 평균 쪽으로 '되돌아간다'는 현상(평균으로의 회귀⁠, regression to the mean⁠)을 보고 이 말을 썼습니다. 그 현상을 보여 준 도구가 최소제곱 직선이었고, 나중에는 최소제곱으로 직선을 맞추는 일 자체가 회귀라고 불리게 되었습니다.

7 · 되찾은 별1801년 겨울, 그리고 누가 먼저였나

이제 처음 이야기로 돌아갑니다. 1801년의 천문학자들은 왜 화성과 목성 사이를 뒤지고 있었을까요? 1596년 독일의 천문학자 케플러는 『우주의 신비』에서 행성 간격의 규칙을 찾다가, 화성과 목성 사이가 너무 넓어 그 사이에 보이지 않는 행성 하나를 넣어 보았다고 적었습니다. 1766년 비텐베르크 대학의 교수 티티우스는 번역하던 책에 행성 거리가 한 수열을 따른다는 문단을 끼워 넣었고, 1772년 베를린의 천문학자 보데가 이것을 널리 알렸습니다.

그 수열은 이렇습니다. 태양에서 지구까지를 10으로 하면 수성부터 토성까지의 거리는 대략 4, 7, 10, 15, 52, 95입니다. 이는 4에 0, 3, 6, 12, 24, 48, 96을 더한 수열과 잘 맞는데, 4 + 24 = 28 자리만 비어 있었습니다. 1781년 영국 바스의 음악가이자 천문학자 허셜이 찾은 천왕성이 수열의 다음 자리 196 근처(실제 192)에 나타나자, 빈자리에도 행성이 있으리라는 믿음이 커졌습니다.

1800년 9월 고타 천문대의 프란츠 크사버 폰 차흐는 브레멘 근처 릴리엔탈에 천문학자들을 모아, 해와 행성들이 지나가는 하늘의 띠인 황도대⁠(zodiac)⁠를 24구역으로 나누어 유럽의 관측자들에게 맡기는 계획을 세웠습니다. '하늘 경찰'이라는 별명으로 알려진 모임입니다. 초대할 사람 가운데 팔레르모의 피아치도 있었지만, 편지가 닿기 전에 피아치가 먼저 세레스를 찾았습니다.

피아치의 발견 뒤에는 왕실과 전쟁이 있었습니다. 그의 천문대는 1790년에 세워졌고, 주 관측 기기는 런던의 장인 제시 램즈던이 만든 큰 눈금원, 곧 천체의 각도를 재는 둥근 눈금 기구였습니다. 마침 프랑스 혁명군에 밀려 나폴리를 떠난 페르디난도 왕의 궁정이 팔레르모에 와 있었고, 피아치는 새 천체에 곡물의 여신이자 시칠리아의 수호 여신인 케레스(세레스)와 왕의 이름을 함께 붙였습니다. 왕의 이름은 다른 나라 천문학자들이 받아들이지 않아 곧 떨어져 나갔습니다.

세레스가 발견된 그해 8월, 예나 대학의 젊은 강사 헤겔이 교수 자격 논문 『행성 궤도에 관하여』를 심사받았습니다. 뒷날 독일 관념론을 대표하는 철학자가 되는 사람입니다. 헤겔은 티티우스–보데 수열이 철학적 근거 없이 경험에서 끌어낸 산술이라고 비판하고, 플라톤의 『티마이오스』에서 가져온 수열이 자연에 더 맞는다면 화성과 목성 사이에서 행성을 찾을 까닭이 없다는 투로 덧붙였습니다. 이 대목은 뒤에 '헤겔이 행성은 일곱 개뿐임을 증명했는데 바로 그해에 세레스가 발견되었다'는 조롱으로 부풀려졌지만, 논문을 자세히 읽은 역사가들은 이 이야기가 크게 과장되었다고 봅니다.

한편 수열 자체도 1846년에 무너졌습니다. 해왕성은 수열이 말하는 388이 아니라 301 자리에 있었고, 오늘날 이 규칙은 대체로 우연으로 봅니다. 몇 개의 관측값에 맞는 식과 관측값을 낳는 법칙은 다르다는 교훈입니다.

피아치의 관측값은 1801년 가을 무렵 차흐가 펴내던 천문 잡지에 실렸고, 여러 천문학자가 궤도를 계산했습니다. 그런데 이 무렵의 방법은 대개 궤도를 원으로 가정하는 등 강한 가정을 두었고, 결과는 제각각이었습니다.

그 무렵 브라운슈바이크의 스물네 살 가우스는 그해 정수론⁠(number theory)⁠ 책 『산술 연구』를 막 펴낸 참이었습니다. 시계의 산수라 불리는 모듈러 연산⁠(modular arithmetic)⁠을 체계로 세운 바로 그 책입니다. 이 산수가 오늘날 암호를 지키는 이야기는 「나머지로 지키는 비밀」에서 이어집니다. 그는 열다섯 살 무렵부터 틈틈이 소수를 수천 개씩 세어 표로 만들며 소수가 얼마나 드문지 어림해 오기도 했습니다(「소수를 세는 사람들」). 가우스는 원을 가정하지 않고 몇 개의 관측에서 타원 궤도를 직접 구하는 방법을 새로 만들었습니다. 1절에서 본 짧은 호의 문제에 정면으로 맞선 것입니다. 그의 예측은 그해 말 차흐의 잡지에 실렸습니다.

차흐는 1801년 12월 31일 그 예측 가까이에서 세레스를 다시 찾았고, 이튿날 브레멘의 의사이자 천문학자 하인리히 올베르스도 확인했습니다. 발견 꼭 1년 만이었습니다. 몇 주의 짧은 기록으로 1년 뒤의 자리를 맞힌 것입니다. 하늘이 이렇게 계산을 따르는 까닭과, 같은 뉴턴의 법칙을 따르는 날씨는 왜 그렇지 않은지는 「나비의 날갯짓」에서 이어집니다.

이 계산에서 확률이 맡은 자리는 눈여겨볼 만합니다. 세레스 자체는 우연 없이 뉴턴의 법칙대로 돕니다. 흔들리는 것은 하늘이 아니라 관측, 곧 재는 사람 쪽입니다. 라플라스는 1814년 『확률에 관한 철학적 시론』의 서문에서, 모든 힘과 모든 것의 위치를 아는 지성에게는 불확실한 것이 하나도 없으리라고 썼습니다. 훗날 '라플라스의 악마⁠(Laplace's demon)⁠'라고 불린 상상입니다. 그에게 확률은 세계의 성질이 아니라 우리가 모르는 만큼을 셈하는 도구였고, 관측 오차의 법칙은 그 생각에 꼭 맞는 쓰임새였습니다. 그런데 6절의 케틀레가 같은 곡선을 병사들의 가슴둘레에 쓸 때, 흩어짐은 재는 사람이 아니라 사람들 자체에 있었습니다. 확률이 우리의 무지를 재는지, 세계의 흩어짐을 재는지는 지금도 철학자들이 다투는 물음입니다. 라플라스가 확률을 '계산으로 옮긴 상식'이라 부른 이야기는 「도박판에서 온 편지」에 있습니다.

되찾은 세레스는 곧 혼자가 아니게 되었습니다. 1802년 올베르스가 팔라스를, 1804년 릴리엔탈의 하르딩이 주노를, 1807년 다시 올베르스가 베스타를 찾았습니다. 1802년 허셜은 이 천체들이 망원경으로 보아도 원반이 아니라 별처럼 점으로 보인다며 '별을 닮은 것'이라는 뜻의 '소행성(asteroid)'이라는 이름을 골랐습니다. 이 낱말을 지어 준 사람은 친구의 아들인 그리스어 학자 찰스 버니였다는 연구도 있습니다. 가우스는 새 소행성들의 궤도도 계산했습니다. 1805년 무렵에는 팔라스와 주노의 관측값을 사인과 코사인⁠(sine and cosine)⁠의 합으로 보간⁠(interpolation)⁠하는 계산을 줄이려고, 오늘날 고속 푸리에 변환⁠(fast Fourier transform)⁠이라 부르는 방법을 원고에 적어 두었습니다. 이 원고는 그가 죽은 뒤 1866년 전집에 실렸고, 1965년 같은 방법이 다시 발견된 뒤에야 주목받았습니다(「원에서 파동으로」). 세레스는 2006년 국제천문연맹이 행성의 정의를 새로 정하면서 '왜소행성'으로 분류되었고, 2015년 3월 NASA의 탐사선 돈이 세레스의 궤도에 들어가 처음으로 그 표면을 가까이서 찍었습니다.

1801년 근처에 사건⁠(event)⁠이 몰려 있습니다. 세레스의 발견과 재발견, 헤겔의 논문, 그리고 부르봉 궁정의 피난과 나폴레옹 전쟁이 같은 몇 해 안에 있습니다. 지도에서는 팔레르모의 관측값이 고타의 잡지를 거쳐 브라운슈바이크의 가우스에게 가고, 예측이 되돌아온 길을 따라가 보세요.

성공 뒤에는 '누가 먼저였나'라는 다툼이 남았습니다. 가우스가 1809년에 "1795년부터 써 온 원리"라고 적자 르장드르는 몹시 불쾌해했고, 두 사람 사이에는 우선권을 둘러싼 앙금이 남았습니다. 가우스가 그 전부터 이 방법을 썼다는 것은 많은 역사가가 받아들이지만, 1805년 이전에 이를 출판한 사람은 없었습니다. 그래서 오늘날에는 두 사람이 각자 발견했고, 먼저 출판하고 이름을 붙인 사람은 르장드르, 확률의 뿌리를 준 사람은 가우스라고 정리하는 경우가 많습니다. 1801년 세레스 계산에서 최소제곱이 정확히 얼마나 큰 몫을 했는지도 역사가마다 평가가 조금씩 다릅니다.

한편 최소제곱과 오차의 법칙에 이른 사람은 가우스와 르장드르만이 아니었습니다. 1808년에는 미국의 수학자 로버트 에이드리언도 독립적으로 오차의 법칙과 최소제곱을 발표한 것으로 알려져 있습니다.

세레스 이후 가우스의 최소제곱은 하늘에서 땅으로 내려왔습니다. 1820년대에 그는 당시 영국 왕이 겸해 다스리던 하노버 왕국의 측량을 맡아 여름마다 들판과 산꼭대기를 옮겨 다녔습니다. 먼 측점이 잘 보이도록 햇빛을 거울로 되쏘는 회광기⁠(heliotrope)⁠를 발명했고, 삼각형 그물에서 나온 수많은 각도 관측을 최소제곱으로 맞추어 서로 모순되지 않게 했습니다. 6절의 최적성 증명도 이 무렵에 나왔습니다. 1990년대 독일 10마르크 지폐 뒷면에는 이 측량의 삼각형 그물과 회광기가 그려져 있었습니다.

최소제곱은 별까지의 거리도 쟀습니다. 가우스와 오래 편지를 나눈 쾨니히스베르크 천문대의 프리드리히 빌헬름 베셀은 관측 오차를 확률로 다루는 일에 앞장선 천문학자로, '확률 오차'라는 말을 널리 썼습니다. 1838년 그는 백조자리 61번 별이 한 해 동안 하늘에서 앞뒤로 흔들리는 폭의 절반, 곧 연주 시차⁠(annual parallax)⁠를 0.3초각 남짓으로 재어 발표했습니다. 지구 궤도의 지름만큼 떨어진 두 곳에서 본 방향 차이로 별까지의 거리를 잰, 첫 성공으로 꼽히는 측정입니다. 지름 2센티미터 동전을 14킬로미터쯤 떨어져서 볼 때의 각도였으니, 수많은 관측의 오차를 고르게 나누는 기술 없이는 불가능한 일이었습니다.

측량은 공간 자체를 묻는 물음과도 이어졌습니다. 가우스가 브로켄, 호엔하겐, 인젤스베르크 세 봉우리를 잇는 큰 삼각형의 내각 합을 재어 공간이 정말 유클리드적인지 시험했다는 이야기도 전하지만, 역사가들은 대체로 의심합니다. 다만 편지로 남은 확실한 기록이 있습니다. 철학자 칸트는 기하학을 선험적⁠(a priori)⁠ 진리, 곧 경험에 앞서 생각만으로 참임을 알 수 있는 진리의 본보기로 꼽았는데, 가우스는 1817년 올베르스에게 보낸 편지에서 기하학은 산술과 달리 경험으로 확인할 문제일지 모른다고 적었습니다. 유클리드와 다른 기하가 가능하다는 이 생각의 뒷이야기는 「평행선의 반란」에 있습니다.

그의 관심은 전자기에까지 뻗었습니다. 1833년에는 물리학자 빌헬름 베버와 함께 천문대와 물리학 실험실을 1킬로미터 남짓한 전선으로 잇고 전자기 신호로 글자를 주고받았습니다. 초기 전신 가운데 하나입니다. 전신이 20여 년 뒤 대서양 바닥을 건너며 부딪힌 문제, 곧 신호가 번지고 잡음에 묻히는 문제는 「잡음 너머로」에서 이어집니다. 퍼텐셜⁠(potential)⁠ 이론에서도 가우스는 1840년 '퍼텐셜'이라는 이름과 여러 정리를 내놓았는데, 영국의 방앗간 주인 그린이 12년 앞서 같은 이름을 써 두었다는 것은 뒤에야 알려졌습니다(「라플라시안, 가장 많이 재사용된 식」 2절).

8 · 이어지는 길최소제곱이 여는 문

"식이 너무 많아 정확히 맞출 수 없을 때, 제곱 오차가 가장 작은 답을 고른다." 이 한 문장은 천문학을 넘어 거의 모든 데이터 분석의 출발점이 되었습니다.

정리. 관측이 미지수보다 많으면 연립방정식 Ax⃗=b⃗A\vec x = \vec b는 대개 정확히 풀리지 않습니다. 최소제곱법은 잔차의 제곱 합을 최소로 하는 x^\hat x를 고릅니다. 세 가지 말이 같은 답을 가리킵니다.

A⊤A x^=A⊤b⃗A^{\top} A\,\hat x = A^{\top} \vec b

1801년 겨울 하늘에서 사라진 점 하나를 되찾게 한 계산과 함께, 흩어진 관측을 모두 써서 답 하나를 고르는 이 생각이 널리 퍼지기 시작했습니다.