공부하는 단계에서 정리한 내용입니다.
잘못된 내용이 있다면 말씀해주시면 감사하겠습니다.
https://mml-book.github.io/book/mml-book.pdf
3.8.2 Projection onto General Subspaces
이번에는 벡터 $x$의 $\mathbb R ^{m}$($m \geqslant 1$)로의 orthogonal projection $x - \pi_{U}(x)$를 구해볼 것이다. 아래 그림과 같은 상황이다.
3.8.1에서 했던 것처럼 3단계에 걸쳐서 구하면 된다.
1. $\lambda$ 구하기
$\pi_{U}(x) = \sum_{i=1}^m \lambda_{i} b_{i} = B \lambda$이고, $B = \begin{bmatrix} b_{1}, ..., b_{m} \end{bmatrix} \in \mathbb R^{n \times m}$, $\lambda = \begin{bmatrix} \lambda_{1}, ..., \lambda_{m} \end{bmatrix}^{\top} \in \mathbb R^{m}$ 라고 하자.
한 차원에서 $x$와 $\pi_{U}(x)$가 가장 가까우려면, 이 둘의 차이가 $U$의 basis 벡터들과 직교해야 한다. 즉,
$$\langle b_{1}, x - \pi{U}(x) \rangle = 0$$
$$.$$
$$.$$
$$\langle b_{m}, x - \pi{U}(x) \rangle = 0$$
이어야 한다.
정리하면,
$${b_{1}}^{\top}(x - \pi{U}(x)) = 0$$
$$.$$
$$.$$
$${b_{m}}^{\top}(x - \pi{U}(x)) = 0$$
이어야 한다.
근데 $\pi{U}(x) = B \lambda$ 이기 때문에
$${b_{1}}^{\top}(x - B \lambda) = 0$$
$$.$$
$$.$$
$${b_{m}}^{\top}(x - B \lambda) = 0$$
와 같이 쓸 수 있다.
이걸 또 아래와 같이 쓸 수 있다.
마지막 식을 normal equation이라고 한다.
그리고 $B$가 선형독립이기 때문에 역행렬이 존재하므로 마지막 식을 아래와 같이 바꿀 수 있다.
$x$ 앞에 있는 식$(B^{\top} B)^{-1}B^{\top}$을 $B$의 pseudo-inverse 라고 한다.
2. $\pi_{U}(x)$ 구하기
앞에서 $\pi_{U}(x) = B \lambda$이고 $\lambda = (B^{\top} B)^{-1}B^{\top}x$이므로, $\pi_{U}(x) = B(B^{\top} B)^{-1}B^{\top}x$ 이다.
3. $P_{\pi}$ 구하기
$P_{\pi}x = \pi_{U}(x)$이므로, $P_{\pi} = B(B^{\top} B)^{-1}B^{\top}$ 이다.
Remark. 부분공간 $U$가 1차원일 때는 special case가 된다.
부분공간 $U$가 1차원일 때는 $B^{\top}B$가 스칼라 값이므로 $P_{\pi} = \frac{B B^{\top}}{B^{\top}B}$ 이다.
Ex 3.11 (Projection onto a Two-dimensional Subspace)
위에서 나온 결과들을 검토하려면,
(a) $\pi_{U}(x) - x$가 $U$의 모든 기저벡터들과 orthogonal한지 체크
(b) $P_{\pi} = P_{\pi}^{2}$
인지 체크하면 된다.
Remark. $\pi_{U}(x)$는 여전히 m차원 공간에 있지만 구할 때는 n개만 있으면 됨
$\pi_{U}(x)$는 m차원 공간에 있지만 여전히 $\mathbb R^{n}$의 벡터이다.
하지만 벡터를 구할 때는 n개 아니라 m개의 $\lambda$와 $b$만 있으면 된다!
Remark. 각도나 거리 구할 때 어떤 내적인지 잘 봐라
각도하고 거리를 구할 때는 어떤 내적이 정의되어 있는지 잘 봐야 한다. 내적에 따라서 각도와 거리가 달라지기 때문이다!
(+ Projection을 활용하면 linear system $Ax = b$의 해가 존재하지 않을 때 approximate solution을 구할 수 있다. $b$를 부분공간 $U$에 projection 시키면 된다. 이때 least-squares solution을 활용하게 되고, Section 9.4에서 reconstruction error를 활용해서 더 자세히 배울 것이다.)
Remark. Basis가 ONB라면?
만약 basis가 ONB이면 $\lambda = B^{\top}x$이기 때문에, $\pi_{U}(x) = B(B^{\top} B)^{-1}B^{\top}$을 아래와 같이 단순화 할 수 있다.
$$\pi_{U}(x) = B B^{\top} x$$
이때 역행렬을 구하지 않아도 되므로 시간이 단축되게 된다.