선형대수학 · 최소제곱법

최소제곱법

최소제곱법은 세로 방향 오차의 제곱합을 가능한 한 작게 하여 데이터에 직선을 적합합니다. 기하학적으로 적합값은 데이터 벡터를 열공간에 정사영한 것이며, 오차는 그 공간에 수직입니다.

이 시각화에서 보는 최소제곱법

세 점이 한 직선 위에 놓이는 일은 드물므로, 어떤 직선이든 일부 점을 지나지 못합니다. 왼쪽에는 점들과 최적 직선, 그리고 잔차가 있습니다. 잔차는 세로 방향의 차이이며, 그 제곱을 더하면 SSE가 됩니다. 오른쪽에서는 같은 세 높이가 공간 속 하나의 벡터가 되고, 최적 직선을 구하는 일은 이 벡터를 평면에 정사영하는 일이 됩니다. 점을 움직이고 내 직선을 시험해 보며, 더 단순한 두 모형을 비교할 수 있습니다.

잔차 제곱합
SSE=∑i=13(yi−c−mxi)2\mathrm{SSE} = \sum_{i=1}^{3} (y_i - c - m x_i)^2

데이터가 왜 하나의 점이 될까요? 세 높이를 하나의 벡터 b⃗=(y1,y2,y3)\vec b = (y_1, y_2, y_3)로 씁니다. 이것이 오른쪽의 파란 화살표입니다. 각 축이 높이 하나를 나타내므로 축 이름은 y1,y2,y3y_1, y_2, y_3입니다. 직선은 세 xix_i에서 값 c+mxic + m x_i를 가지며, 이는 1=(1,1,1)\mathbf 1 = (1, 1, 1)일 때 벡터 c 1+m x⃗c\,\mathbf 1 + m\,\vec x입니다. 일반 모형 y=c+mxy = c + mx에서 xix_i의 값이 모두 같지만 않으면, cc와 mm의 값이 변함에 따라 이 벡터들은 1\mathbf 1과 x⃗\vec x를 지나는 투명한 평면을 채웁니다. 따라서 왼쪽에 그릴 수 있는 모든 직선은 그 평면 위의 한 점에 해당합니다.

아무 직선이나 골라 보세요. 그 잔차는 b⃗\vec b의 좌표에서 평면 위 대응점의 좌표를 뺀 값이므로, SSE는 두 점 사이 거리의 제곱입니다. 따라서 최적 직선은 평면에서 b⃗\vec b에 가장 가까운 점 p⃗\vec p, 즉 정사영에 해당합니다. 잔차 벡터 r⃗=b⃗−p⃗\vec r = \vec b - \vec p는 평면에 수직이므로 1\mathbf 1과 x⃗\vec x에도 모두 수직입니다. 이 두 직각을 식으로 쓰면 정규방정식이 됩니다.

정규방정식
r⃗⋅1=∑ri=0,r⃗⋅x⃗=∑xiri=0\vec r\cdot\mathbf 1 = \sum r_i = 0, \qquad \vec r\cdot\vec x = \sum x_i r_i = 0

직각과 평형을 켜면 잔차가 용수철 상수가 같은 세로 방향 용수철로 바뀝니다. 알짜힘은 ∑ri\sum r_i에 비례하고, 원점에 대한 돌림힘은 ∑xiri\sum x_i r_i에 비례합니다. 일반 직선의 최적 적합에서는 둘 다 0이 됩니다. 상수 모형에서는 알짜힘만 0이면 되고, 원점을 지나는 직선에서는 돌림힘만 0이면 됩니다.

빨간색으로 그려진 내 직선은 항상 현재 모형에 속하므로, 그 점 q⃗\vec q는 p⃗\vec p와 같은 평면이나 직선 위에 있습니다. p⃗\vec p에서 q⃗\vec q로 가는 변위도 그 공간에 속하고, r⃗\vec r은 그 공간에 수직입니다. 따라서 피타고라스 정리가 오차를 정확히 분해합니다. 내 SSE가 최솟값에 도달할 필요충분조건은 q⃗=p⃗\vec q = \vec p입니다.

내 직선과 최적 직선 비교
SSE(q⃗)=SSEmin⁡+∣p⃗−q⃗∣2\mathrm{SSE}(\vec q) = \mathrm{SSE}_{\min} + |\vec p - \vec q|^2

두 작은 모형은 각각 열 하나만 남깁니다. y=cy = c를 적합하면 b⃗\vec b를 1\mathbf 1을 지나는 직선에 정사영하게 되고, cc는 높이들의 평균이 됩니다. y=mxy = mx을 적합하면 x⃗\vec x을 지나는 직선에 정사영합니다. 단, 모든 xix_i가 0이면 원점에만 정사영합니다. xix_i의 값이 모두 같지 않을 때 이들은 평면 안의 서로 다른 두 직선입니다. 어느 모형도 다른 모형을 포함하지 않으며, 일반 직선은 둘 모두와 적어도 똑같이 잘 맞습니다. 선형회귀의 핵심에도 같은 정사영이 있습니다.

눈여겨볼 점

  • 잔차는 세로 방향입니다. 최소제곱법은 각 xx에서의 yy 차이를 측정하며, 점에서 직선까지의 최단 거리를 측정하지 않습니다.
  • 일반 모형에서 세 xix_i의 값이 모두 같으면 평면은 1\mathbf 1을 지나는 직선으로 줄어듭니다. 속이 빈 고리를 지나는 모든 직선이 똑같이 잘 맞으므로 최적 직선은 유일하지 않습니다. 그래도 p⃗\vec p는 여전히 유일합니다.
  • 매개변수 평면은 일반 모형의 SSE를 cc와 mm의 함수로 보여 줍니다. 각 데이터 점에는 그 점을 정확히 맞추는 쌍 (c,m)(c, m)로 이루어진 직선이 대응하며, 파란색은 현재 모형의 최적 매개변수를 표시합니다.

조작 방법

  • 오른쪽 그림은 회전과 확대·축소만 가능합니다. 왼쪽의 점을 위아래로 끌고, 패널에 xx을 입력하면 점을 좌우로 움직일 수 있습니다.

관련 항목