벡터 투영과 최소제곱법
Review
지난 포스팅에서 살펴보았던 내용들을 간략히 식으로만 복습해보자.
- Orthogonality of vectors
$\rightarrow$ $X^Ty$ = $y^TX$ = 0
- Othogonality of subspace
$\rightarrow$ for any X $\in$ V and for any y $\in$ W
$\rightarrow$ $X^Ty$ = $y^TX$ = 0
- Basis (vectors) to span the vector space
- Projection onto line (원점을 지나는 직선)
$$
\begin{aligned}
p\ &=\ (b- \hat x \cdot a) \perp a
&\rightarrow a^T(b- \hat x \cdot a)\ =\ 0
&a^Ta \hat x\ =\ a^b \Rightarrow \hat x\ =\ \frac {a^Tb} {a^ta}\ ,
&p\ =\ \hat x a\ =\ \frac {aa^Tb} {a^Ta}\ =\ \frac {aa^T} {a^Ta} b\ =\ \mathbb{P}b
\end{aligned} $$
Projection and Least Squares
임의의 행렬식이 주어졌을 때, 여태 우리는 임의의 행렬의 행의 갯수와 열의 갯수를 통해 해를 구하는 방식을 다르게 접근하였다. \(\begin{aligned} A_{m \times n} X_{n \times l}\ =\ \mathbb{b}_{m \times l} \end{aligned}\)
- m = n : Gaussian Elimination (U, LU decomposition)
- m < n : G.E. (by reduced form)
- m > n : # of unkwons < # of equations
그런데 만약 3번 처럼 변수의 갯수 보다 방정식의 갯수가 많다면 어떻게 될까? 모든 직선이 한점을 우연히 지나지 않는 이상, 해는 존재하지 않는다.
그래서 Ax=b를 구할 수는 없으니, Ax-b의 거리가 최대한 가깝도록 해보자. 그것이 바로 3번의 해를 구하는 방법인 Least Square이다.
여기서 Ax는 linear combination of column vectors이다. 즉, Ax $\in$ C(A)이다.
Column Vector Space 위에 있는 $A \hat x$ 와 그 위에 있지 않은 점 b와의 관계를 생각해보자. 두 벡터 모두 원점을 지난다. 그럼 벡터 $A \hat x$와 벡터 b의 최소거리를 도출해보자. \(\begin{aligned} &b - A \hat x \perp a_i\ (a_i\ is\ column\ vectors\ in\ A)\\ &a_i^T \cdot (b - A \hat x)\ =\ 0\\ &\rightarrow A^Tb\ =\ A^TA \hat x\\ &\hat x\ =\ (A^TA)^{-1}A^Tb\\ &P\ =\ A(A^TA)^{-1}A^Tb\ (if\ P\ is\ A \hat x,) \end{aligned}\) 여기서 도출되는 P를 projection matrix라고 한다. 이를 통해 가장 가까운 벡터 좌표 (b)를 구할 수 있다.
Some properties,
- If b $\in$ C(A), $P_b$ = $b$
- $P^2 = P$ (profjection을 2번 하면 원상 복구된다.)
그럼 이제 x-y 평면에 적용해보자. 다음과 같다.
보다시피 projection vector는 다음과 같이 나온다. 과연 진짜 이렇게 나오는지 행렬로써 증명해보자. 그럼 A를 표현하는 것이 중요한데, x,y 평면 벡터 공간에서 column space로 표현할 수 있으면 뭐든지 괜찮다. 증명과정은 다음과 같다.
Least Square for line fitting
x-y 평면 위에 두점이 주어졌을 때, 두 점을 지나는 직선의 방정식을 구하는 것은 so easy이다. 하지만 점이 하나만 더 추가되도 세 점을 지나는 직선을 구하기는 우연의 일치가 아닌 이상 불가능 하다. 그래서 선형대수에서는 세 점 과 최소거리가 되는 직선을 구한다. 그것이 바로 위에서 잠깐 설명한 Least Suare이다.
세 점이 아니라 점의 개수가 n개 라면 행렬식으로 다음과 같이 나타낼 수 있다.
결국 연립방정식으로 나타내면 미지수보다 방정식의 갯수가 많다.
그리하여 이를 최소거리를 사용해서 구해야 한다.