본문 바로가기

mathematics/linear algebra

투영 projection

러너게인 블로그의 선형대수학을 공부하고 정리하기 위한 개인적인 글이다.
공부한 내용을 자꾸 잊어버린다.. 다시 블로그에 출력하면서 정리해보자. 
자세하고 친절한 설명은 러너게인 블로그 본문을 참고바란다.

투영이란 어떤 벡터를 다른 공간(벡터)으로 투영하는 것으로 그림자가 바닥에 생기는 상황을 생각하면 된다. 해의 개수보다 방정식의 수가 많은 경우, 즉 Overdetermined case인 선형방적식에서 정확한 해를 구할 수 없는경우 근사해를 구하는 것이다. 

투영행렬은 $P^2 = P, P^T = P$의 성질을 갖고 있다.

투영행렬의 식은 다음과 같다.
$P = A(A^TA)^{-1}A^T$이다. 

위 식을 유도하는 과정을 통해 투영행렬의 성질을 이해해보자.

우선 Overdetermined case는 $Ax= b$에서 Ax는 A의 column space에 존재한다. Overdetermined case의 경우는 실제 해를 구할 수 없기 때문에 b를 실제와 가장 가까운 벡터로 변경하는 것이고 이 벡터를 투영벡터라 한다. 아래 그림을 보면 b와 유사한 벡터를 칼럼 공간 A에서 찾으는 경우에 벡터 b를 공간 A의 수직으로 내린 지점에 대한 벡터 p가 A 공간에서 b와 가장 유사한 벡터이다. b에서 p로 수직으로 내린 길이 e는 오차이다.

 

https://twlab.tistory.com/34 블로그, [Linear Algebra] Lecture 15-(2) 투영행렬(Projection matrix)과 부분 공간(subspaces) 발췌

오차 e와 A 컬럼스페이스의 관계로부터 투영행렬의 힌트를 얻을 수 있다. a1, a2는 열공간을 나타내는 행렬 A의 basis이고 이를 선형결합하여 투영 벡터 p를 구할 수 있다. Fig. 3처럼 이를 행렬로 표기하면 $p = A\hat{x}$가 된다.  다시 문제의 처음으로 돌아가면 우리는 overdetermined case의 해를 구할 수 없어 이와 가장 근사한 해를 구하는 것이고 이는 $\hat{x}$을 의미한다.

$b - p$ 즉, $b - A\hat{x}$(오차)는 열공간과 수직인 점을 이용하자. 위 그림에서 열공간 A는 a1, a2로 이루어져 있는데, e가 벡터 a1, a2와 각각 수직이다. 이를 식으로 정리하면 $a_1^T(b-A\hat{x})=0$, $a_2^T(b-A\hat{x})=0$로 나눠쓸 수 있고 두 벡터의 곱에 0인 내적(dot product)의 꼴을 하고 있다. 이 두 식을 다시 행렬로 정리하면 $A^T(b-A\hat{x})=0$이고 이를 풀어쓰면 $A^TA\hat{x}=A^Tb$이다. 

이 식을 $\hat{x}$에 대해 정리하면 $\hat{x} = (A^TA)^{-1}A^Tb$으로 표현할 수 있다.
p에 대해 다시 정리하면 $p = Ax = A(A^TA)^{-1}A^Tb$인데, 처음 벡터 b에 특정 행렬을 곱하면 벡터 p가 된다고 해석할 수 있다. 위의 식에서 p를 b로 만드는(투영하는) 행렬은 $A(A^TA)^{-1}A^T$이고 이 식이 투영행렬 P이다.

행렬 A가 overdetermined case가 아닌 정방행렬로 역행렬이 존재한다면 P=I가 되므로 유의한다. 투영시켜도 아무일도 일어나지 않는다.

 

 

Reference
https://twlab.tistory.com/35
https://twlab.tistory.com/34