수학/인공지능을 위한 선형대수

14. Gram - Schmidt Orthogonalization

공부중인학생 2021. 11. 18. 23:36

이번 강의에서는 임의의 행렬을 직교 기저(Orthogonal basis)를 가지는 행렬로 변환하는 그람 - 슈미트 직교화에 대해 배워보겠습니다. feature를 수직으로 바꿔주는 방법입니다.

 

Gram - Schmidt Orthogonalization

 

 

$ \left [ \begin{matrix} 3 \\ 6 \\ 0 \end{matrix} \right]  \left [ \begin{matrix} 1 \\ 2 \\ 2 \end{matrix} \right] $ 두 벡터가 존재하는데 이 벡터의 내적은 $ 3 + 12 + 0 = 15$ 내적이 0이 아니니 두 벡터는 수직이 아닌 상태입니다. 

 

그럼 그람 - 슈미트 직교화를 통해서 두 벡터를 수직으로 바꿔주겠습니다.

 

다음과 같이 두 벡터는 서로 수직하지 안습니다.

 

우선 두 벡터를 길이가 1인 벡터로 만듭니다.

- v_1 = $ \left [ \begin{matrix} 3 \\ 6 \\ 0 \end{matrix} \right]$

 

- v_2 = $ \left [ \begin{matrix} 1 \\ 2 \\ 2 \end{matrix} \right]$

 

- u_1 = $ \left [ \begin{matrix} \frac 3 {\sqrt 45} \\ \frac 6 {\sqrt 45} \\ 0 \end{matrix} \right]$ 이건 $v_1$에 방향을 가지며 길이가 1인 벡터

 
이제 수직이 되게 하는 성분만 남기면 됩니다.
 
 
$u_1$에 orthogonal projection을 합니다. $v_2$를 $u_1$에 projection한 성분을 $v_2$에서 빼게 된다면
 

 

다음과 같이 초록색 성분만 남게 됩니다. 이렇게 빼야되는 Orthogonal prjection 벡터를 찾으려면 우선 길이가 1인 벡터 $u_1$과 내적 해주면 됩니다. 내적을 하면 $\frac 15 {\sqrt {45}}$가 나오게 됩니다. 그다음 방향성을 추가해주기 위해서 길이와 $u_1$ 벡터를 곱하면 됩니다.

 

 

$ \left [ \begin{matrix} 1 \\ 1 \\ 2 \end{matrix} \right] - \frac {15} {\sqrt {45}} \cdot \left [ \begin{matrix} \frac 3 {\sqrt {45}} \\ 6 \\ 0 \end{matrix} \right]$

 

다음과 같이 그 값이 projection vector가 되고 이 둘을 빼면 됩니다.

 

- 내적은 orthogonal projection 하여 길이를 구하고 거기다 방향성을 곱한 다음 그 값을 빼주면 해당 성분을 잃고 수직이 됩니다.

 

$1 - \frac {45} {45}$

$2 - \frac {90} {45}$

 

그러면 $[0, 0, 2]^T$이 됩니다. 마지막으로 이 벡터의 길이를 1이 되게 만들어주면

 

 

다음과 같이 이전 벡터 (v_1, v_2)와 span은 같지만 길이가 1인 벡터가 만들어지게 됩니다. 이 벡터는 orthonormal 합니다. 3번째 벡터가 온다면 $u_1$, $u_2$ projection 해서 똑같이 나온 벡터들을 3번째 벡터에 빼주면 이전에 있던 벡터들의 차원에 속하지 않는 수직 된 성분이 나오게 됩니다.

 

 

다음은 이렇게 orthonormal해진 벡터를 다시 original 벡터로 바꿔보는 것입니다. orthonormal 해진 벡터를 증강 행렬 처럼 만들어주고 진행을 합니다.

 

 

첫 번째 벡터를 찾을 때 첫 번째 벡터에 $\sqrt{45}$ 곱할 경우 원래 벡터를 다 찾게 됩니다. 두 번째 벡터는 쓸 필요가 없으니 0으로 둡니다.

 

 

그리고 두 번째 벡터를 찾기 위해서 첫 번째 벡터에 $\frac {15} {\sqrt{45}}$를 곱해주고 마지막 성분이 2이기 때문에 2를 곱해줘서 구합니다.

 

여기까지 서로 수직이 아닌 벡터들끼리 그람 - 슈미트 직교화를 통해서 수직인 벡터로 만들어주는 과정을 가졌습니다. 이전 강의에서 말했듯이 서로 연관될수록 작은 노이즈에도 민감하게 반응하기 때문에 다음과 같이 만들어서 사용합니다.

'수학 > 인공지능을 위한 선형대수' 카테고리의 다른 글

16. 영공간과 직교여공간  (0) 2021.11.26
15. 고유벡터와 고유값  (0) 2021.11.21
13. Orthogonal Projection 2  (1) 2021.11.17
12. Orthogonal Projection 1  (0) 2021.11.13
11. 정규 방정식(Normal equation)  (0) 2021.11.10