Section 4.3 최소제곱해와 최단해
Subsection 4.3.1 최소제곱해
절 3.3.3에서 연립방정식 \(A \boldsymbol x = \boldsymbol b\)의 해가 존재할 필요충분조건은
\begin{equation}
\boldsymbol b \in \operatorname{C}(A)\tag{4.3.1}
\end{equation}
임을 알았다. 다시 말해,
\begin{equation*}
\boldsymbol b \not \in \operatorname{C}(A)
\end{equation*}
이면 해가 존재하지 않는다. 이 경우, 해 찾기의 대안으로 벡터
\begin{equation*}
A\boldsymbol x - \boldsymbol b
\end{equation*}
의 크기를 최소로 만드는 문제를 생각할 수 있다.
\(S=\operatorname{C}(A)\)으로 놓고 분해 (4.2.4)를 이용하자. \(\boldsymbol b\)의 \(S\)로의 정사영을 \(\hat{\boldsymbol b}\)라 놓으면 분해
\begin{equation}
\boldsymbol b = \hat{\boldsymbol b}+\boldsymbol e\tag{4.3.2}
\end{equation}
가 가능하다. 단, \(\boldsymbol e \in S^\perp\)이다.
언제 \(A\boldsymbol x - \boldsymbol b\)가 최소가 되는지 알아보자. (4.3.2)를 이용하면
\begin{equation*}
A\boldsymbol x - \boldsymbol b = \left(A \boldsymbol x - \hat{\boldsymbol b}\right)-\boldsymbol e
\end{equation*}
이다. 사실, \(A \boldsymbol x - \hat{\boldsymbol b} \in S\)이고 \(\boldsymbol e \in S^\perp\)이므로 이는 (4.2.4)에서 다룬 분해이다. 피타고라스 정리에 의해
\begin{equation*}
|\!|A\boldsymbol x - \boldsymbol b |\!|^2= |\!|A\boldsymbol x - \hat{\boldsymbol b} |\!|^2+ |\!| \boldsymbol e |\!|^2
\end{equation*}
인데, \(\boldsymbol e\)는 \(\boldsymbol x\)와 무관하므로 좌변이 최소일 조건은
\begin{equation*}
|\!|A\boldsymbol x - \hat{\boldsymbol b} |\!|
\end{equation*}
이 최소인 것이다. 관찰 3.3.5에 따라 \(A\boldsymbol x = \hat{\boldsymbol b}\)의 해는 존재하므로 최소가 되는 조건은 \(A\boldsymbol x = \hat{\boldsymbol b}\)이다. 종합하면, \(|\!|A\boldsymbol x - \boldsymbol b |\!|\)의 최솟값은
\begin{equation}
A\hat{\boldsymbol x} = \hat{\boldsymbol b}\tag{4.3.3}
\end{equation}
일 때
\begin{equation*}
|\!|A\hat{\boldsymbol x} - \boldsymbol b |\!| = |\!| \boldsymbol e |\!|
\end{equation*}
인 것이다.
관찰 4.3.2.
\(\ker(A)=0\)이면 최소제곱해는 유일하다. 절 3.3.4을 참조하라.
Subsection 4.3.2 적합선 찾기
적합선이란 두 변수 사이의 선형관계를 추정한 것을 말한다. 가령 \(n\)개의 값
\begin{equation*}
x_1<x_2<\cdots<x_n
\end{equation*}
에 대응되는 값
\begin{equation*}
y_1,y_2,\cdots,y_n
\end{equation*}
이 주어졌을 때, 좋은 근사
\begin{equation*}
y_i \approx a+b x_i
\end{equation*}
를 위한 \(a,b\)를 추정하고자 한다. 어떤 근사가 좋을까? 오차의 크기를 정의하고 오차가 최소가 되게 하는 \(a,b\)를 찾으려 한다. 각 \(i=1,2,\cdots,n\)마다 오차를
\begin{equation*}
e_i := y_i - (a+bx_i)
\end{equation*}
으로 나타내면 모든 오차는 벡터
\begin{equation*}
\boldsymbol e=(e_1,\cdots,e_n) \in \mathbf R^n
\end{equation*}
으로 표현할 수 있다. 오차의 크기를 정하는 방법은 여러 가지가 있을 수 있으나 여기서는 벡터의 크기
\begin{equation*}
|\!|\boldsymbol e|\!|
\end{equation*}
를 기준으로 삼으려 한다. 통계적으로는 표준편차에 해당한다. 요약하면, 적합선 찾기란 \(|\!|\boldsymbol e|\!|\)이 최소인 \(a,b\)를 구하는 문제이다.
적합선 찾기는 최소제곱해의 특수한 경우이다. 왜냐하면 관계식
\begin{equation*}
y_i=a+bx_i, \hspace{10pt} i=1,2,\cdots,n
\end{equation*}
를 행렬로 쓰면
\begin{equation*}
\begin{bmatrix}
1 \amp x_1
\\
1 \amp x_2
\\
\vdots
\\
1 \amp x_n
\end{bmatrix}
\begin{bmatrix}
a \\ b
\end{bmatrix}
=
\begin{bmatrix}
y_1
\\
y_2
\\
\vdots
\\
y_n
\end{bmatrix}
\end{equation*}
인데 이를 \(a,b\)에 관한 연립선형방정식이고, 그 최소제곱해로부터 적합선을 얻기 때문이다.
Subsection 4.3.3 최단해
\(\ker(A) \not = 0\)이면 최소제곱해는 무수히 많이 존재한다. 일반해는 (절 3.3)
\begin{equation*}
\hat{\boldsymbol x} = \hat{\boldsymbol x}_\operatorname p + \boldsymbol n
\end{equation*}
꼴인데, 이들 중 하나 골라야 한다면 어떤 기준을 사용할 수 있을까? “간단한”해를 찾기 위해 길이를 최소화하자.
기본부분공간의 직교성을 이용해 (4.2.4)을 적용하면 분해
\begin{equation*}
\hat{\boldsymbol x } = \hat{\boldsymbol x }^\dagger + \hat{\boldsymbol x }_0
\end{equation*}
를 얻는다. 단, \(\hat{\boldsymbol x }^\dagger \in \operatorname{C}(A^\operatorname T)\text{,}\) \(\hat{\boldsymbol x }_0 \in \ker(A)\)이다. 일반해를 대입하면
\begin{equation*}
\hat{\boldsymbol x}_\operatorname p + \boldsymbol n = \hat{\boldsymbol x}_\operatorname p^\dagger + (\hat{\boldsymbol x}_\operatorname p)_0+ \boldsymbol n
\end{equation*}
인데 이 분해에서 \(\hat{\boldsymbol x}_\operatorname p^\dagger \in \operatorname{C}(A^\operatorname T)\)이고 \((\hat{\boldsymbol x}_\operatorname p))+\boldsymbol n \in \ker(A)\)이다. 첫 성분 \(\hat{\boldsymbol x}_\operatorname p^\dagger \)이 \(\boldsymbol n\)과 무관하므로 원하는 조건은
\begin{equation*}
|\!|(\hat{\boldsymbol x}_\operatorname p)_0+\boldsymbol n |\!|
\end{equation*}
이 최소인 것이다. \(\boldsymbol n\)은 \(\ker(A)\)에서 임의로 고를 수 있고 마침 \((\hat{\boldsymbol x}_\operatorname p)_0 \in \ker(A)\)이므로 \(\boldsymbol n = -(\hat{\boldsymbol x}_\operatorname p)_0\)로 택하자. 그러면
\begin{equation*}
\hat{\boldsymbol x}_\operatorname p -(\hat{\boldsymbol x}_\operatorname p)_0= (\hat{\boldsymbol x}_\operatorname p)^\dagger
\end{equation*}
가 우리가 찾던 최단해, 길이가 가장 짧은 최소제곱해이다.
최단해는 유일하다. 연습문제를 참조하라.
Subsection 4.3.4 의사역행렬
대응 \(\boldsymbol b \mapsto \hat {\boldsymbol x}^\dagger\)를 행렬로 표현해보자. 즉, 적당한 행렬 \(A^\dagger\)을 찾아
\begin{equation*}
\hat {\boldsymbol x}^\dagger= A^\dagger \boldsymbol b
\end{equation*}
가 성립하기를 바란다. \(A^\dagger\)를 어떻게 찾을까?
명제 4.3.3.
\(A\)의 CR분해를 \(A=CR\)이라 하자. \(A\)의 의사역행렬은
\begin{equation*}
A^\dagger = R^T(RR^\operatorname T)^{-1} (C^\operatorname TC)^{-1}C^T
\end{equation*}
을 만족한다. 한편,
\begin{align*}
R^\dagger = \amp R^T(RR^\operatorname T)^{-1} \\
C^\dagger = \amp (C^\operatorname TC)^{-1}C^T
\end{align*}
이므로,
\begin{equation*}
A^\dagger = R^\dagger C^\dagger
\end{equation*}
이다.
증명.
연습문제 4.3.5 연습문제: 명제 4.3.3의 증명
명제 4.3.3를 다음 단계를 따라 증명하여라.
1.
\(C\)의 열벡터가 선형독립이라는 사실을 이용하여
\begin{equation*}
C^\dagger = (C^\operatorname TC)^{-1}C^T
\end{equation*}
이 성립함을 보여라.
단서.
2.
\(R\)의 행벡터가 선형독립이라는 사실을 이용하여
\begin{equation*}
R^\dagger = R^T(RR^\operatorname T)^{-1}
\end{equation*}
이 성립함을 보여라.
단서.
3.
랭크 \(r\)인 \(m \times n\) 행렬 \(A\)의 CR분해 \(A=CR\)를 생각하라. 함수
\begin{equation*}
\boldsymbol x \mapsto A\boldsymbol x
\end{equation*}
를 두 함수
\begin{align*}
\boldsymbol y \amp \mapsto R\boldsymbol y \\
\boldsymbol z \amp \mapsto C\boldsymbol y
\end{align*}
의 합성으로 표현하라.
4.
\(A\text{,}\) \(C\text{,}\) \(R\)의 기본부분공간의 차원을 구하고, \(\operatorname{C}(R)=\operatorname{C}(C^\operatorname{T})\)임을 보여라.
5.
종합하여 \(A^\dagger=R^\dagger C^\dagger\)임을 보여라.
단서.
합성함수임을 이용하자.
