요약

점에서 평면까지 가장 가까운 곳은 평면에 수직으로 내린 발이다. 벡터를 어떤 부분공간에 직교 사영한다는 것은 이 “수직으로 내린 발”을 찾는 것이고, 남는 오차는 부분공간 전체와 수직이다. 이 수직 조건 하나에서 계산 공식(정규방정식)이 나오며, 풀 수 없는 방정식에 대한 최선의 근사(최소제곱), 신호를 성분으로 나누기가 모두 여기서 시작한다. 다만 수직이 아니라 비스듬히 내리는 사영도 있어, 그것은 가장 가까운 점을 주지 않는다.

예시로 보기

\(\mathbf{b} = (1, 1, 1)\)을 \(\mathbf{a} = (1, 2, 2)\) 방향의 직선에 사영한다. 직선 위의 점은 \(\hat{x}\mathbf{a}\) 꼴이고, 오차 \(\mathbf{b} - \hat{x}\mathbf{a}\)가 \(\mathbf{a}\)와 수직이 되는 \(\hat{x}\)를 찾는다.

\[\mathbf{a}\cdot(\mathbf{b} - \hat{x}\mathbf{a}) = 0 \implies \hat{x} = \frac{\mathbf{a}\cdot\mathbf{b}}{\mathbf{a}\cdot\mathbf{a}} = \frac{5}{9}.\]

사영은 \(\mathbf{p} = \frac59(1, 2, 2)\), 오차는 \(\mathbf{e} = (\frac49, -\frac19, -\frac19)\)이다. 확인하면 \(\mathbf{a}\cdot\mathbf{e} = \frac49 - \frac29 - \frac29 = 0\)이다. 직선이 아래 정리의 부분공간 \(C(A)\)(열이 \(\mathbf{a}\) 하나), \(\mathbf{p}\)가 사영이다.

그림

\(\mathbf{b}\)에서 직선에 수직으로 내린 발이 \(\mathbf{p}\)이고, 그 수선이 오차 \(\mathbf{e}\)다. 직선 위의 다른 점은 모두 \(\mathbf{b}\)에서 이보다 멀다1.

정의

정의
  • 두 부분공간 \(V, W\)의 모든 벡터가 서로 수직이면 \(V\)와 \(W\)는 직교한다. \(V\)와 수직인 모든 벡터의 집합을 직교 여공간 \(V^\perp\)라 한다.
  • \(\mathbf{b}\)를 부분공간 \(V\)에 직교 사영한 \(\mathbf{p}\)는 \(\mathbf{p} \in V\)(\(\in\)은 “~에 속한다”)이고 \(\mathbf{b} - \mathbf{p} \perp V\)인 벡터다2.

네 부분공간은 서로 직교 여공간이다. \(N(A) = C(A^\top)^\perp\), \(N(A^\top) = C(A)^\perp\)이고, 차원이 \(r + (n - r) = n\)으로 맞아 \(\mathbb{R}^n\)(\(\mathbb{R}\)은 실수 전체, \(\mathbb{R}^n\)은 실수 \(n\)개짜리 목록 전체)을 빠짐없이 나눈다.

부분공간으로의 사영

\(A\)(\(m \times n\))의 열이 독립이면 \(A^\top A\)는 가역이고, \(\mathbf{b}\)를 \(C(A)\)에 사영하면

\[\hat{\mathbf{x}} = (A^\top A)^{-1}A^\top\mathbf{b}, \qquad \mathbf{p} = A\hat{\mathbf{x}} = P\mathbf{b}, \qquad P = A(A^\top A)^{-1}A^\top.\]

사영 행렬 \(P\)는 \(P^2 = P\), \(P^\top = P\)를 만족한다. 그리고 \(\mathbf{p}\)는 \(C(A)\)에서 \(\mathbf{b}\)에 가장 가까운 유일한 점이다. 모든 \(\mathbf{v} \in C(A)\)에 대해 \(\Vert \mathbf{b} - \mathbf{p}\Vert \le \Vert \mathbf{b} - \mathbf{v}\Vert\)(\(\lVert\cdot\rVert\)는 벡터의 길이)이고 등호는 \(\mathbf{v} = \mathbf{p}\)일 때뿐이다.

직선(\(A = \mathbf{a}\) 한 열)에서는 \(P = \frac{\mathbf{a}\mathbf{a}^\top}{\mathbf{a}^\top\mathbf{a}}\)이 되어 예시의 공식과 같다.

증명

“오차가 모든 열과 수직”을 식으로 쓰면 정규방정식이 되고, 피타고라스 정리로 가장 가까움을 보인다.

증명 펼치기
  1. 수직 조건: \(\mathbf{e} = \mathbf{b} - A\hat{\mathbf{x}}\)가 \(C(A)\)와 수직이려면 모든 열과 수직이면 된다. 곧 \(A^\top(\mathbf{b} - A\hat{\mathbf{x}}) = \mathbf{0}\), 즉 \(A^\top A\hat{\mathbf{x}} = A^\top\mathbf{b}\)(정규방정식).
  2. \(A^\top A\)는 가역: \(A^\top A\mathbf{x} = \mathbf{0}\)이면 \(\mathbf{x}^\top A^\top A\mathbf{x} = \Vert A\mathbf{x}\Vert ^2 = 0\)이라 \(A\mathbf{x} = \mathbf{0}\)이다. 열이 독립이므로 \(\mathbf{x} = \mathbf{0}\). 가역 행렬 정리로 \(A^\top A\)는 가역이다.
  3. \(P\)의 성질: \(P^2 = A(A^\top A)^{-1}(A^\top A)(A^\top A)^{-1}A^\top = P\). \(P^\top = A((A^\top A)^{-1})^\top A^\top = P\)(\(A^\top A\)가 대칭이라 역도 대칭).
  4. 가장 가까움: \(\mathbf{v} \in C(A)\)이면 \(\mathbf{b} - \mathbf{v} = (\mathbf{b} - \mathbf{p}) + (\mathbf{p} - \mathbf{v})\). 앞은 \(C(A)\)와 수직이고 뒤는 \(C(A)\) 안에 있어 서로 수직이다. 피타고라스로 \(\Vert \mathbf{b} - \mathbf{v}\Vert ^2 = \Vert \mathbf{b} - \mathbf{p}\Vert ^2 + \Vert \mathbf{p} - \mathbf{v}\Vert ^2 \ge \Vert \mathbf{b} - \mathbf{p}\Vert ^2\), 등호는 \(\mathbf{v} = \mathbf{p}\)일 때뿐이다. ∎

스스로 설명해 보기

1. 1단계에서 “모든 열과 수직”만 확인하면 \(C(A)\) 전체와 수직인 이유는?

\(C(A)\)의 벡터는 열들의 선형결합이고, 내적은 선형이다. 각 열과의 내적이 0이면 그 결합과의 내적도 0이다.

2. 2단계의 \(\mathbf{x}^\top A^\top A\mathbf{x} = \Vert A\mathbf{x}\Vert ^2\)은 어떻게 나오는가?

\(\mathbf{x}^\top A^\top = (A\mathbf{x})^\top\)이라 \((A\mathbf{x})^\top(A\mathbf{x}) = (A\mathbf{x})\cdot(A\mathbf{x})\)이다. 길이의 제곱이 0이면 벡터가 0이다.

이 정리의 핵심 아이디어는?

“가장 가깝다”는 최소화 문제를 “오차가 수직이다”라는 방정식으로 바꾼다. 방정식은 풀 수 있고, 피타고라스가 둘이 같은 말임을 보장한다.

같은 아이디어를 쓰는 다른 상황은?

푸리에 급수의 계수는 신호를 각 사인파 방향에 사영한 것이다(푸리에 급수). 확률에서 조건부 기댓값은 “정보로 만들 수 있는 것 중 가장 가까운 예측”으로, 같은 수직 조건을 만족한다.

가정이 필요한 이유

가정 없으면 예
\(A\)의 열이 독립 \(A^\top A\)가 비가역이라 공식을 쓸 수 없다(사영 자체는 있다) 열이 \((1, 1)\), \((2, 2)\)면 \(A^\top A = \begin{pmatrix}2 & 4\\ 4 & 8\end{pmatrix}\), 행렬식 0
\(P^\top = P\)(수직으로 내림) \(P^2 = P\)여도 가장 가까운 점이 아니다 \(P = \begin{pmatrix}1 & 1\\ 0 & 0\end{pmatrix}\)은 \(P^2 = P\)인 비스듬한 사영. \((0, 1) \mapsto (1, 0)\)이지만 \(x\)축에서 가장 가까운 점은 \((0, 0)\)

그림

\((0, 1)\)을 \(x\)축으로 내리는 두 방법이다. 비스듬한 사영은 \((1, 0)\)으로 보내 거리가 \(\sqrt2\)이고, 수직으로 내린 \((0, 0)\)은 거리가 1이다1.

역. \(P^2 = P\)이고 \(P^\top = P\)인 행렬은 모두 자기 열공간으로의 직교 사영이다2.

예제

\(\mathbf{b} = (6, 0, 0)\)을 \((1, 1, 1)\)과 \((0, 1, 2)\)가 만드는 평면에 사영한다.

  1. 행렬: \(A = \begin{pmatrix}1 & 0\\ 1 & 1\\ 1 & 2\end{pmatrix}\). \(A^\top A = \begin{pmatrix}3 & 3\\ 3 & 5\end{pmatrix}\), \(A^\top\mathbf{b} = (6, 0)\).
  2. 정규방정식: \(3\hat{x}_1 + 3\hat{x}_2 = 6\), \(3\hat{x}_1 + 5\hat{x}_2 = 0\)에서 \(\hat{x}_2 = -3\), \(\hat{x}_1 = 5\).
  3. 사영과 오차: \(\mathbf{p} = 5(1, 1, 1) - 3(0, 1, 2) = (5, 2, -1)\), \(\mathbf{e} = (1, -2, 1)\).
  4. 검산: \(\mathbf{e}\cdot(1, 1, 1) = 0\), \(\mathbf{e}\cdot(0, 1, 2) = 0\).
검증: 예시의 \(\frac59\)와 수직, 예제의 \((5, -3)\), \(\mathbf{p}\), \(\mathbf{e}\), 무작위 행렬에서 \(P^2 = P\), \(P^\top = P\), 오차 ⊥ \(C(A)\), 가장 가까움(무작위 \(\mathbf{v}\) 비교), 네 부분공간의 직교 여공간 관계, 종속 열에서 \(A^\top A\) 비가역, 비스듬한 사영의 반례 — 16_orthogonal-projection_verify.py

활용

  • 최소제곱. 해가 없는 \(A\mathbf{x} = \mathbf{b}\)에서 \(\mathbf{b}\)를 열공간에 사영한 \(\mathbf{p}\)를 대신 푸는 것이 최소제곱법이다.
  • 신호 분해. 신호를 서로 수직인 기저(사인파 등)에 사영하면 성분마다 따로 계산된다. 기저가 직교이면 \(A^\top A\)가 대각이라 역행렬이 필요 없다(그람–슈미트).
  • 그래픽스. 3D 장면을 화면으로 누르는 정사영, 바닥에 떨어지는 그림자(평행광)가 사영이다.

연결

자주 하는 오해

”\(P^2 = P\)인 행렬은 가장 가까운 점으로 보내는 사영이다”

틀렸다. \(P^2 = P\)는 “한 번 사영한 것을 또 사영해도 그대로”라는 뜻이라 사영의 조건처럼 들린다. 하지만 비스듬히 내리는 사영도 이것을 만족한다. \(P = \begin{pmatrix}1 & 1\\ 0 & 0\end{pmatrix}\)은 \((0, 1)\)을 \(x\)축 위의 \((1, 0)\)으로 보내는데, \((0, 1)\)에서 \(x\)축의 가장 가까운 점은 \((0, 0)\)이다. 가장 가까운 점을 주려면 \(P^\top = P\)(수직으로 내림)까지 필요하다.

과목별 관점

수치해석 (2-2학기). 그래픽스의 회전을 다루려고 직교 행렬을 따로 정의한다. \(AA^\top = I\)이면 \(A\)를 직교 행렬이라 한다. 곧 \(A^{-1} = A^\top\)이다. 두 벡터가 서로 수직이고 둘 다 길이 1이면 정규직교라 부른다.

  • 정리 1. 열 벡터들이 정규직교 집합이면 그 행렬은 직교 행렬이다. \(A^\top A\)의 \((i, j)\) 칸이 \(i\)번째 열과 \(j\)번째 열의 내적이라, \(\delta_{ij}\)(같으면 1, 다르면 0)가 되기 때문이다.
  • 정리 2. 직교 행렬은 길이와 각을 지킨다. \(\vert A\mathbf x\vert ^2 = \mathbf x^\top A^\top A\mathbf x = \vert \mathbf x\vert ^2\)이고, 내적도 \((A\mathbf x)\cdot(A\mathbf y) = \mathbf x\cdot\mathbf y\)로 그대로라 사잇각의 코사인이 같다.

회전 행렬 \(\begin{pmatrix}\cos\theta & -\sin\theta\\ \sin\theta & \cos\theta\end{pmatrix}\)가 직교 행렬이다. 예를 들어 30° 회전은 \(\begin{pmatrix}\sqrt3/2 & -1/2\\ 1/2 & \sqrt3/2\end{pmatrix}\)이고, 두 열 \((\frac{\sqrt3}{2}, \frac12)\), \((-\frac12, \frac{\sqrt3}{2})\)은 서로 수직인 단위 벡터다. 이 성질 덕분에 회전한 물체의 법선은 같은 회전 행렬로 바꿔도 된다(법선 벡터의 변환).

확인 문제

C1 열이 독립인 \(A\)에 대해 \(C(A)\)로의 사영 행렬 공식과 그 두 성질을 쓰라.

답: \(P = A(A^\top A)^{-1}A^\top\). \(P^2 = P\), \(P^\top = P\).

C2 \(\mathbf{b} = (2, 0)\)을 \(\mathbf{a} = (1, 1)\) 방향의 직선에 사영하고 오차를 구하라.

답: \(\hat{x} = \frac{\mathbf{a}\cdot\mathbf{b}}{\mathbf{a}\cdot\mathbf{a}} = \frac22 = 1\), \(\mathbf{p} = (1, 1)\), \(\mathbf{e} = (1, -1)\). \(\mathbf{a}\cdot\mathbf{e} = 0\).

C3 정규방정식 \(A^\top A\hat{\mathbf{x}} = A^\top\mathbf{b}\)는 어떤 조건을 식으로 쓴 것인가?

답: 오차 \(\mathbf{b} - A\hat{\mathbf{x}}\)가 \(A\)의 모든 열과 수직이라는 조건 \(A^\top(\mathbf{b} - A\hat{\mathbf{x}}) = \mathbf{0}\)이다.

C4 \(P^2 = P\)인데 가장 가까운 점을 주지 않는 행렬을 들라.

답: \(P = \begin{pmatrix}1 & 1\\ 0 & 0\end{pmatrix}\). \((0, 1) \mapsto (1, 0)\)이지만 \(x\)축에서 \((0, 1)\)에 가장 가까운 점은 \((0, 0)\)이다. \(P^\top \ne P\)라 수직 사영이 아니다.

C5 \(\begin{pmatrix}3/5 & -4/5\\ 4/5 & 3/5\end{pmatrix}\)가 직교 행렬임을 보이고, \((1, 2)\)를 곱한 결과의 길이를 계산 없이 말하라. 근거는?

답: 두 열 \((\frac35, \frac45)\), \((-\frac45, \frac35)\)의 길이가 1이고 내적이 0이라 \(A^\top A = I\)다. 직교 행렬은 길이를 지키므로 \(\vert (1, 2)\vert = \sqrt5\) 그대로다. 근거는 \(\vert A\mathbf x\vert ^2 = \mathbf x^\top A^\top A\mathbf x\)에서 \(A^\top A = I\)를 쓰는 것이다3.

  1. 16_orthogonal-projection_plot.py로 그렸고, \(\hat{x} = \frac59\), \(\mathbf{e} = (\frac49, -\frac19, -\frac19)\)와 \(\mathbf{a}\cdot\mathbf{e} = 0\), 비스듬한 사영의 \(P^2 = P\)와 거리 \(\sqrt2\)를 같은 코드로 확인했다. ↩ ↩2

  2. Strang, Introduction to Linear Algebra 5판, 4.1절 “Orthogonality of the Four Subspaces”(직교 여공간), 4.2절 “Projections”(직선·부분공간으로의 사영, \(P^2 = P\), \(P^\top = P\), 예 \(\mathbf{b} = (6, 0, 0)\)). ↩ ↩2

  3. 16_orthogonal-projection_verify.py로 확인했다. ↩