최소제곱해(Least-squares solution)

원서 : Strang, G. (2023). Introduction to Linear Algebra (6th ed.).

1. 최소제곱해(Least-squares solution)

개인적으로 최소제곱해는 선형대수에서 가장 중요한 개념중 하나라고 생각합니다.

AX=B 문제를 풀때 해가 없는 경우가 대부분이고, 현실의 문제에는 여러가지 오차가 섞여있기때문에 정확한 X를 찾는것이 아닌 B와 가장 근접한 X를 찾는 것이 최소제곱해 이다.

공식은 다음과 같다.

\[\hat{X} = (A^T A)^{-1} A^T B\]

겉으로는 무슨 식인가 싶지만, 과정을 보면 이해하기 쉽다.

① 문제 정의

\[\min_{X\in\mathbb{R}^n} \;\; f(X) := \|AX - B\|_2^2 = (AX-B)^\top(AX-B)\]


② 전개

\[f(X) = X^\top A^\top A X - 2 B^\top A X + B^\top B\]


③ 기울기

\[\nabla f(X) = 2A^\top A X - 2A^\top B = 0\]


정규방정식(normal equation)

\[A^\top A X = A^\top B\]

이 정규방정식에서 좌변의 A^TA를 역행렬을 양변에 곱하면 그것이 최소제곱해이다.

\[\hat{X} = (A^T A)^{-1} A^T B\]


2. 기하학적 해석

최소제곱해가 중요한 이유중 하나는 어떠한 벡터를 초평면 혹은 외적을 하기 힘든 평면으로의 직교사영(정사영, Orthogonal Projection) 을 시킬수 있기 때문이다.

또한 이때 직교사영한 벡터와 원래의 벡터사이의 거리는 최소제곱오차(Least-Squares Error) 가 된다.

image


이해를 위해 몇가지 예제를 풀어보자.


1. 벡터공간 R4에서 선형방정식 x+2y+3z+4w=0의 해공간(solution space)을 W라고 하자. 선형변환 T:R4→R4가 W로의 직교사영(orthogonal projection)일 때 T의 표준행렬(Standard matrix)의 모든 성분(entry)의 합은?


선형대수의 재밌는 점은 하나의 문제를 여러가지 관점으로 풀 수있다는 것이다.

또한 문제에서 주어진 추가적인 개념을 보면, 정의역은 4차원이고 3차원 ** 초평면**으로 정사영을 하고있기때문에, 치역은 3차원인 것을 알 수있다.

그럼 정사영과 최소제곱해를 이용한 방법으로 풀어보자.

① 정사영(Orthogonal Projection)을 이용한 풀이

x+2y+3z+4w=0 의 해공간에 행공간이 수직이라는 것은, 행공간의 기저가 n = (1,2,3,4) 이다.

그럼 임의의 벡터를 잡고 그 벡터를 직교여공간(행공간)으로 정사영을 한 벡터를 임의의 벡터에 때면 정사영 행렬이 나온다.

image

여기서 문제에서 요구하는 것은 모든성분의 합 이므로 임의의 벡터를 (1,1,1,1)로 잡으면(각 원소가 행의 합이 된다) 바로 구할 수 있다. 참고로 정사영 공식은 다음과 같다.

\[P_{\text{norm}}(x) = \frac{a^\top x}{a^\top a} \, a\]

여기서

\[a^\top a = 1^2 + 2^2 + 3^2 + 4^2 = 30, \quad a^\top x = (1,2,3,4) \cdot (1,1,1,1) = 10.\]

따라서

\[P_{\text{norm}}(x) = \frac{10}{30} \,(1,2,3,4)^\top = \left(\frac{1}{3}, \frac{2}{3}, 1, \frac{4}{3}\right)^\top.\] \[P_W(x) = x - P_{\text{norm}}(x) = (1,1,1,1)^\top - \left(\frac{1}{3}, \frac{2}{3}, 1, \frac{4}{3}\right)^\top = \left(\frac{2}{3}, \frac{1}{3}, 0, -\frac{1}{3}\right)^\top.\]

따라서 모든 성분의 합은 2/3이다.


② 최소제곱해(Least-squares matrix)

푸는 과정은 위와 거의 동일하다.

최소제곱해를 이용해서 정사영한 후에 빼는 과정이다.

\[T=I−A^⊤(AA^⊤)^{-1}A.\] \[P_{\mathrm{row}(A)} = A^\top (A A^\top)^{-1} A\] \[A A^\top = a^\top a = 1^2 + 2^2 + 3^2 + 4^2 = 30.\] \[P_{\mathrm{row}(A)} = \frac{a a^\top}{30}.\] \[T = P_W = P_{\mathrm{null}(A)} = I - \frac{a a^\top}{30}.\] \[\mathbf{1}^\top T \mathbf{1} = \mathbf{1}^\top \mathbf{1} - \frac{(\mathbf{1}^\top a)(a^\top \mathbf{1})}{30} = 4 - \frac{(10)(10)}{30} = 4 - \frac{100}{30} = \frac{2}{3}.\]



2. 행렬 A와 b가 다음과 같을 때,

\(A = \begin{bmatrix} 1 & 2 \\ 2 & 3 \\ 0 & 1 \end{bmatrix}, \quad b = \begin{bmatrix} 0 \\ 1 \\ -2 \end{bmatrix}\)\(\left\| A \begin{bmatrix} x \\ y \end{bmatrix} - b \right\|\)

이 최소값을 가질때의 x, y를 a1,a2라 할때 이 둘의 합은?

단, 노름(norm)은 다음과 같이 정의된다.

\[\left\| \begin{bmatrix} x \\ y \\ z \end{bmatrix} \right\| = \sqrt{x^2 + y^2 + z^2}\]


이 문제 또한 정사영과 최소제곱해로 풀수있다.

① 최소제곱해

\[\left\| A \begin{pmatrix} x \\ y \end{pmatrix} - b \right\|\begin{pmatrix} 1 & 2 \\ 2 & 3 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \\ -2 \end{pmatrix}\]

에서

\[A = \begin{pmatrix} 1 & 2 \\ 2 & 3 \\ 0 & 1 \end{pmatrix}\]

의 전치행렬을 곱하면

\[\begin{pmatrix} 5 & 8 \\ 8 & 14 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} 2 \\ 0 \end{pmatrix}\]

이고, 이 연립방정식을 풀면

\[x = \frac{10}{3}, \quad y = -\frac{11}{6}\]

따라서 3/2이다.


② 정사영

\[A \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} 1 \\ 2 \\ 0 \end{pmatrix} x + \begin{pmatrix} 2 \\ 3 \\ 1 \end{pmatrix} y\]

이므로 A(x y)는 열공간의 벡터이다. 따라서 최소가 되는 벡터는 b의 A의 열공간 위로의 정사영벡터이다.

\[v_1 = \begin{pmatrix} 1 \\ 2 \\ 0 \end{pmatrix}, \quad v_2 = \begin{pmatrix} 2 \\ 3 \\ 1 \end{pmatrix}\]

열공간은 R^3의 부분공간 평면이고, 법선벡터를 구하면 다음과 같다.

\[n = (1,2,0) \times (2,3,1) = (2,-1,1)\]

따라서 구하는 정사영 벡터는

\[(0,1,-2) - \frac{(0,1,-2) \cdot (2,-1,1)}{(2,-1,1) \cdot (2,-1,1)} (2,-1,1)\] \[= (0,1,-2) - \frac{1}{6}(2,-1,1)\] \[= (0,1,-2) + \left( \frac{-1}{3}, \frac{1}{6}, \frac{1}{6} \right) = \left( \frac{-1}{3}, \frac{7}{6}, -\frac{11}{6} \right)\]

이제

\[x \begin{pmatrix} 1 \\ 2 \\ 0 \end{pmatrix} + y \begin{pmatrix} 2 \\ 3 \\ 1 \end{pmatrix} = \begin{pmatrix} \frac{1}{3} \\ \frac{7}{6} \\ -\frac{11}{6} \end{pmatrix}\]

다음 연립방정식을 풀면 x=10/3, y = -11/6 이고 따라서 답은 3/2이다.