투영(Projection)
- 투영은 주어진 벡터에 대해 가장 가까운 벡터를 찾는 것으로 볼 수 있다.
- 벡터공간 $V$와 $V = W_1 \oplus W_2$인 부분공간 $W_1, W_2$에 대하여 다음과 같이 정의한 함수 $T : V \to V$를 $W_2$에 대한 $W_1$위로의 $V$의 투영(projection)이라고 한다.
- $\oplus$는 직합(direct sum) 연산으로 $W_1 \cap W_2 = \{ \bold{0}\}$이고 $W_1 + W_2 = V$를 의미한다.
$$
\bold{x} = \bold{x}_1 + \bold{x}_2 \text{일 때, } T(\bold{x}) = \bold{x}_1 \ (\bold{x}_1 \in W_1, \bold{x}_2 \in W_2)
$$
- 벡터공간 $V$와 선형변환 $T$에 대해 $T = T^2$이기 위한 필요충분조건은 $T$가 $N(T)$에 대한 $W_1 = \{ \bold{y} : T(\bold{y}) = \bold{y} \}$로의 사영이다.
- 선형변환 $T^2$는 선형변환을 두 번 연속으로 적용한다는 의미이다. $T^2(\bold{x}) = T(T(\bold{x}))$
단일 벡터에 대한 투영
- 두 벡터 $\bold{a, b}$가 주어졌을 때, $\bold{a}$를 $\bold{b}$에 투영한 벡터 $\bold{b}'$는 다음의 절차를 따른다.
- 두 벡터 $\bold{a, b}$를 내적을 $\bold{b}$의 길이로 나누어 $\bold{b}'$의 크기를 구한다. ${\langle \bold{a, b} \rangle \over \|\bold{b}\|}$
- $\bold{b}$를 정규화하여 방향을 구한다. ${\bold{b} \over \|\bold{b}\|}$
- 정규화된 $\bold{b}$ (방향)와 $\bold{b}'$의 크기를 곱해 $\bold{b}'$를 구한다. ${\langle{\bold{a, b}}\rangle \over \|\bold{b}\|} \times {\bold{b} \over \|\bold{b}\|} = \bold{b}'$
- 이것은 일반적으로 $\bold{a}$의 그림자라고도 표현하기도 하는데, 이것은 $\bold{b}$에 존재하는 벡터 중 $\bold{a}$에 가장 가까운 벡터를 찾는 것이라고 볼 수 있다. $\bold{a}$와 가장 가까운 것은 다시 말해 수직인 벡터가 된다.
- 참고로 벡터를 자기 자신과 내적하면 노름의 제곱이 되므로, 벡터를 자기 자신에게 투영(projection)하면 자기 자신이 된다. 이는 자기 자신과 가장 가까운 벡터는 자기 자신이라는 의미가 된다.
$$
{\langle \bold{a}, \bold{a} \rangle \over \|\bold{a}\|^2} \bold{a} = {\|\bold{a}\|^2 \over \|\bold{a}\|^2} \bold{a} = \bold{a}
$$
벡터의 Span에 대한 투영
- 단일 벡터가 아닌 벡터의 span에 대해 투영은 다음 같이 정의할 수 있다.
- 투영이 가장 가까운 벡터를 찾는 것이므로 벡터를 다른 벡터 공간에 투영하는 것은 그 벡터 공간 내에서 주어진 벡터에 가장 가까운 벡터를 찾는다는 의미가 된다. 아래에서 보겠지만, 이것은 해를 구할 수 없을 때 가장 근사(approximate) 해를 찾는 방법이 된다.
- 벡터들의 집합 $\{ \bold{x}_1,...,\bold{x}_n\}$의 span을 $\text{span}(\{ \bold{x}_1,...,\bold{x}_n\})$이라 하고, 이 생성 집합에 대해 벡터 $\bold{y} \in \mathbb{R}^m$를 투영한 벡터를 $\bold{v}$라 하면 $\bold{v} \in \text{span}(\{\bold{x}_1,...,\bold{x}_n\})$이다. 이것을 $\text{Proj}(\bold{y}; \{\bold{x}_1,...,\bold{x}_n\})$으로 표기하고 다음처럼 정의할 수 있다.
$$
\text{Proj}(\bold{y};\{\bold{x}_1, ... , \bold{x}n\}) = \argmin{\bold{v} \in \text{span}(\{\bold{x}_1,...,\bold{x}_n\})}\|\bold{y} - \bold{v}\|_2
$$
-
$\bold{v}$는 $\bold{y}$에 가장 가까운 —수직인— 벡터가 되고, $\text{span}(\{ \bold{x}_1,...,\bold{x}_n\})$의 선형 조합에 의해 표현될 수 있다.
- $\{ \bold{x}_1,...,\bold{x}_n\}$ 중에 $\bold{y}$에 가장 가까운 벡터를 고르는게 아니다.
-
$m \geq n$인 (풀 랭크) 행렬 $\bold{A} \in \mathbb{R}^{m \times n}$이 주어졌을 때, $\bold{A}$의 range에 대한 벡터 $\bold{y} \in \mathbb{R}^m$의 projection은 다음처럼 정의할 수 있다.
$$
\text{Proj}(\bold{y};\bold{A}) = \argmin_{\bold{v} \in \mathcal{R}(A)}\|\bold{v} - \bold{y}\|_2 = \bold{A}(\bold{A}^\top\bold{A})^{-1}\bold{A}^\top\bold{y}
$$
- 위의 식에서 $\argmin$은 값을 가장 작게 만드는 것을 취한다는 의미가 되고, 이것은 $\bold{A}$의 range $\mathcal{R}(A)$에서 벡터 $\bold{y} \in \mathbb{R}^m$에 가장 가까운 —$\bold{y}$와 수직인— 벡터를 찾는다는 의미가 된다.
- 이것은 주어진 벡터 공간에서 해를 찾을 수 없을 때, 해에 가장 가까운 벡터를 찾는 의미가 된다. 이 벡터는 에러 벡터라고 하며 $\bold{e}$로 표기한다.
- 위의 식을 통해 해를 구하는 것을 최소자승법(least squares)라고 하고, 이때 $\bold{A}(\bold{A}^\top\bold{A})^{-1}\bold{A}^\top$는 $\bold{y}$에 대한 투영 행렬(projection matrix)라고 한다.
- 참고로 위의 투영행렬을 적절히 변형한 $\bold{A}^\top\bold{y} = \bold{A}^\top\bold{A}\hat{\bold{x}}$의 형식을 정규방정식(normal equation)이라고 한다.