설정
데이터 점 $(x_i, y_i)$, $i = 1, \dots, n$이 주어져 있다. 각 점에 수직 방향으로만 늘어나는 똑같은 용수철(상수 $k$)을 달고, 반대쪽 끝을 길고 단단한 막대
\[ \ell : \; y = a + bx \]에 연결한다. 막대를 놓으면 계는 스스로 평형을 찾아간다.
그림의 점은 끌어서 옮길 수 있다. 빈 곳을 누르면 점이 생기고, 더블클릭(휴대폰에서는 길게 누르기)하면 지워진다. 막대도 잡아서 던질 수 있다.
에너지 관점
$i$번째 용수철이 늘어난 길이는 $y_i - a - bx_i$이므로 탄성에너지 총합은
\[ U(a, b) = \frac{k}{2} \sum_{i=1}^{n} \left( y_i - a - b x_i \right)^2 . \]이는 최소제곱 목적함수에 상수 $k/2$를 곱한 것과 같다. 따라서
평형⟺에너지 최소⟺최소제곱 직선.
그림의 사각형 하나의 넓이가 $(y_i - a - bx_i)^2$이다.
정역학 조건으로 풀기
$i$번째 용수철이 막대의 $x = x_i$ 위치에 가하는 힘(위쪽을 양)은
\[ F_i = k\,(y_i - a - b x_i). \]1. 힘 평형 $\sum F_i = 0$.
\[ \sum_{i=1}^{n} (y_i - a - b x_i) = 0 \;\Longrightarrow\; \bar y = a + b \bar x . \]즉 막대는 무게중심 $(\bar x, \bar y)$를 지난다.
2. 무게중심 기준 토크 평형 $\sum \tau_i = 0$. 무게중심을 원점으로 하는 좌표
\[ X_i = x_i - \bar x, \qquad Y_i = y_i - \bar y \]를 쓰면 막대는 $Y = bX$이고 $F_i = k\,(Y_i - b X_i)$이다. 무게중심에 대한 토크는 $\tau_i = X_i F_i$이므로
\[ \sum_{i=1}^{n} X_i \left( Y_i - b X_i \right) = 0 \] \[ \Longrightarrow\quad b = \frac{\sum X_i Y_i}{\sum X_i^2} = \frac{\sum (x_i - \bar x)(y_i - \bar y)}{\sum (x_i - \bar x)^2}. \]정리
명제.최소제곱 직선의 정규방정식 두 개는 용수철–막대 계의 정역학 조건과 정확히 일치한다.
\[ \underbrace{\frac{\partial U}{\partial a} = 0}_{\text{병진 평형}: \ \sum F_i = 0} \qquad \underbrace{\frac{\partial U}{\partial b} = 0}_{\text{회전 평형}: \ \sum \tau_i = 0} \]용수철을 수직이 아니라 막대에 수직으로 당기게 하면 수직거리 최소제곱(직교 회귀, PCA)이 된다.
그림은 지금 직교 모드다. 점선은 최소제곱 직선이다.