최소제곱법

by Ariel Daley

최소제곱해의 존재와 유일성

선형회귀(Linear Regression)는 통계학과 공학 등에서 가장 널리 쓰이는 추정 기법 중 하나로, 주어진 데이터 \(\{(x_i, y_i)\}\)가 “선형” 형태의 관계를 갖는다고 가정하고, 그 오차 제곱합을 최소화하는 선형 모델 \(\displaystyle y \approx \beta_1\,x + \beta_0\)를 찾는 방법이다.

선형회귀나 공학 분야에서 자주 다루는 과제 중 하나는, 연립일차방정식 \(A\mathbf{x} = \mathbf{b}\)에서 정확한 해가 존재하지 않을 수 있는(즉, 과잉결정된) 상황에서도, 잔차(residual) \(\mathbf{r} = A\mathbf{x} - \mathbf{b}\)를 최소화하는 해 \(\mathbf{x}\)를 찾는 문제이다. 이때, \[ \|\mathbf{r}\|^2 = \|A\mathbf{x} - \mathbf{b}\|^2 \] 이 최소가 되도록 하는 \(\mathbf{x}\)를 최소제곱해(least squares solution)라고 부른다.

정의 1. (최소제곱해)

\(A\mathbf{x} = \mathbf{b}\)라는 연립일차방정식에서, 최소제곱해란 다음 최소화 문제를 만족하는 해 \(\mathbf{x}\)를 말한다.

\[ \mathbf{x}_{\mathrm{LS}} \;=\; \underset{\mathbf{x}}{\mathrm{argmin}} \;\|A\mathbf{x} - \mathbf{b}\|^2. \]

과잉결정된(overdetermined) 연립방정식(system)의 경우, \(\mathbf{b}\)가 \(A\)의 열공간(column space)에 속하지 않아 정확한 해가 존재하지 않을 수 있다. 그러나 최소제곱해를 구하면, \(\mathbf{b}\)에 가장 근접하도록 \(\mathbf{x}\)를 선택하여 오차의 제곱합을 최소화할 수 있다.

정리 1. (최소제곱해의 존재와 유일성)

행렬 \(A\)가 크기가 \(m \times n\)이고, 열벡터들이 일차독립인 경우(특히 \(\mathrm{rank}(A) = n\))에 한하여, 최소제곱해는 항상 존재하며 유일하다. 즉, 다음 문제가 \[ \underset{\mathbf{x} \in \mathbb{R}^n}{\min} \;\|A\mathbf{x} - \mathbf{b}\|^2 \] 을 만족하는 \(\mathbf{x}\)는 정확히 하나 존재한다.

증명

행렬 \(A\)가 풀랭크(full-rank)라고 가정하자. 즉, 열벡터가 일차독립이고 \(\mathrm{rank}(A) = n\)이라면, 다음 최소화 문제를 고려한다. \[ \min_{\mathbf{x}} \;\|A\mathbf{x} - \mathbf{b}\|^2. \] 미분을 통한 최적화 혹은 정규방정식(Normal Equation)의 성질에 의해, 최소제곱해 \(\mathbf{x}_{\mathrm{LS}}\)는 \[ A^\top A \,\mathbf{x}_{\mathrm{LS}} = A^\top \mathbf{b} \] 를 만족한다. 여기서 \(A^\top A\)는 \(n \times n\) 크기의 정사각행렬이며, \(\mathrm{rank}(A)=n\)이면 \(A^\top A\)도 가역행렬이 된다. 따라서, \[ \mathbf{x}_{\mathrm{LS}} = (A^\top A)^{-1} A^\top \mathbf{b} \] 로 유일하게 결정된다. 이로써 최소제곱해는 항상 존재하며, 해당 랭크 조건 하에서 유일함을 알 수 있다.

만약 \(A^\top A\)가 가역이 아니면(즉, 열벡터가 일차독립이 아니라면), 최소제곱해가 유일하게 정의되지 않을 수 있으며, 무수히 많은 해가 존재하거나(열공간이 축소되었을 경우) 해가 존재하지 않을 수도 있다. 그러나 열공간에 \(\mathbf{b}\)를 사영하는 방향이 유일하지 않다면, 최소제곱해가 여러 개인 경우도 생긴다.

결국, \(\mathrm{rank}(A)=n\)인 상황에서는 \(\mathbf{x}_{\mathrm{LS}}\)가 유일하게 존재한다.

위 정리에 의해, 최소제곱해를 구하기 위한 필수조건은 열벡터가 일차독립인 경우(즉 \(\mathrm{rank}(A)=n\))이며, 이때 최소제곱해는 정규방정식 \(\displaystyle A^\top A \mathbf{x} = A^\top \mathbf{b}\)을 풀어서 유일하게 결정된다. 이는 선형회귀 문제에서 해가 언제 유일하며, 어떻게 계산되는지를 설명해 주는 핵심이론이다.

보기 1.

과잉결정된 2×1 선형모델(예: 직선회귀)을 생각하자. 관측데이터 \(\{(x_i, y_i)\}_{i=1}^m\)가 주어지고, \(\displaystyle f(x) = \beta_1 x + \beta_0\) 형태로 적합하고자 한다면, \[ A = \begin{pmatrix} 1 & x_1 \\ 1 & x_2 \\ \vdots & \vdots \\ 1 & x_m \end{pmatrix},\quad \mathbf{b} = \begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_m \end{pmatrix}. \]

열벡터 \(\mathbf{c}_1=(1,1,\dots,1)^\top, \mathbf{c}_2=(x_1,x_2,\dots,x_m)^\top\)가 일차독립이면, 최소제곱해 \(\mathbf{x}_{\mathrm{LS}}=(\beta_0, \beta_1)\)가 유일하게 존재한다. 이는 이차식 \(\|A\mathbf{x}-\mathbf{b}\|^2\)를 미분하거나, 정규방정식을 푸는 것으로 얻는다.

요컨대 최소제곱해는 실제 관측데이터나 과잉결정된 연립일차방정식을 다룰 때 해가 존재하지 않는 문제를 극복하여, 오차의 제곱합을 최소화하는 해를 구하는 유용한 개념이다. 또한, 행렬 \(A\)가 적절한 랭크 조건(일차독립)을 만족하면, 그 해는 유일하게 결정된다는 점이 이론적·실용적으로 중요하다.

정규방정식 (Normal Equation)

최소제곱해 \(\mathbf{x}_{\mathrm{LS}}\)를 구하는 전형적인 방법은 정규방정식(normal equation)을 푸는 것이다. 이는 최소제곱문제

\[ \min_{\mathbf{x}} \;\|A\mathbf{x} - \mathbf{b}\|^2 \] 에서, 최적조건을 만족하는 \(\mathbf{x}\)를 찾기 위해 유도된다. 구체적으로, 오차제곱합 함수를

\[ f(\mathbf{x}) = \|A\mathbf{x} - \mathbf{b}\|^2 = (A\mathbf{x} - \mathbf{b})^\top (A\mathbf{x} - \mathbf{b}) \] 라고 하면, 이를 \(\mathbf{x}\)에 대해 편미분하여 0이 되게 하는 식을 세우는 과정에서 다음 방정식이 도출된다.

정리 2. (정규방정식)

\(A\)가 \(m \times n\) 행렬이고, \(\mathbf{b}\)가 \(m\)-차원 열벡터일 때, 최소제곱해 \(\mathbf{x}_{\mathrm{LS}}\)는 다음을 만족한다. \[ A^\top A \,\mathbf{x}_{\mathrm{LS}} = A^\top \mathbf{b}. \] 이를 정규방정식(normal equation)이라 부른다.

증명

오차제곱합 함수 \(f(\mathbf{x}) = \|A\mathbf{x} - \mathbf{b}\|^2\)를 \(\mathbf{x}\)에 대해 미분한다. 구체적으로, 행렬 미분 공식을 이용하거나 성분별로 전개하면 \[ \nabla_{\mathbf{x}}\,f(\mathbf{x}) = \nabla_{\mathbf{x}} \bigl( (A\mathbf{x} - \mathbf{b})^\top (A\mathbf{x} - \mathbf{b}) \bigr) = 2\,A^\top \bigl(A\mathbf{x} - \mathbf{b}\bigr). \] 최소값이 되기 위한 필요조건은 \(\nabla_{\mathbf{x}}\,f(\mathbf{x}) = \mathbf{0}\)이므로, \[ A^\top \bigl(A\mathbf{x} - \mathbf{b}\bigr) = \mathbf{0}, \] \[ \Longrightarrow\quad A^\top A\,\mathbf{x} = A^\top \mathbf{b}. \] 이를 정규방정식이라 하고, 이 과정을 통해 최소제곱해가 유도됨을 알 수 있다.

정규방정식에 의해 정의된 행렬 \(A^\top A\)는 \(n \times n\) 크기의 정사각행렬로, 일반적으로 대칭(symmetric)이며 양의 준정부호(positive semidefinite) 성질을 갖는다. 만약 \(A\)가 풀랭크(full rank), 즉 \(\mathrm{rank}(A)=n\)이라면 \(A^\top A\)는 가역행렬이 되며, 다음과 같이 최소제곱해 \(\mathbf{x}_{\mathrm{LS}}\)를 명시적으로 구할 수 있다.

\[ \mathbf{x}_{\mathrm{LS}} = (A^\top A)^{-1} A^\top \mathbf{b}. \]

보기 2.

2차원 평면상의 직선 회귀문제를 예로 들어 보자. 관측데이터 \(\{(x_i, y_i)\}_{i=1}^m\)가 주어졌고, 이를 \(\displaystyle f(x) = \beta_1 x + \beta_0\) 형태로 적합하고자 한다면, \[ A = \begin{pmatrix} 1 & x_1 \\ 1 & x_2 \\ \vdots & \vdots \\ 1 & x_m \end{pmatrix},\quad \mathbf{b} = \begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_m \end{pmatrix}. \] 관측데이터가 충분히 많아(\(m>2\)) 과잉결정된 상황이면, 정확한 해가 존재하지 않을 수 있다. 이때, 정규방정식은 \[ \begin{pmatrix} 1 & 1 & \cdots & 1 \\ x_1 & x_2 & \cdots & x_m \end{pmatrix} \begin{pmatrix} 1 & x_1 \\ 1 & x_2 \\ \vdots & \vdots \\ 1 & x_m \end{pmatrix} \begin{pmatrix} \beta_0 \\ \beta_1 \end{pmatrix} = \begin{pmatrix} 1 & 1 & \cdots & 1 \\ x_1 & x_2 & \cdots & x_m \end{pmatrix} \mathbf{b}. \] 이를 풀면, \(\mathbf{x}_{\mathrm{LS}} = (\beta_0, \beta_1)\) 를 구할 수 있다.

정규방정식은 최소제곱해를 효율적으로 계산하는 핵심 공식을 제공한다. 특히 데이터가 많아 정확한 해가 존재하기 어려운 상황에서도, 정규방정식을 통해 잔차의 제곱합이 최소가 되는 계수(모델 파라미터)를 명시적으로 구할 수 있다는 점이 선형회귀 및 다양한 통계·머신러닝 응용에서 매우 중요한 의미를 갖는다.