학습목표
이번에는 임의의 행렬을 직교기저(Orthogonal Basis)를 가지는 행렬로 변환하는 그람-슈미트 직교화에 대해 배워보겠습니다.
핵심 키워드
- 그람-슈미트 직교화(Gram-Schmidt Orthogonalization)
- QR분해(QR Factorization)
학습하기
이제 Orthnogonal projection의 마지막입니다. 마지막에 말씀드렸듯, Feature vector들이 직교하지 않으면, 정보가 중복되게 됩니다. 그럼 저희는, 이걸 어떤 후처리를 통해서 직교하도록 만들어주면 좋겠죠. 이를 직교화(Orthogonalization)이라고 합니다. x1=[3,6,0], x2=[1,2,2]라는 두 벡터를 생각해봅시다. 두 벡터를 내적해보면 15이니까, 이건 서로 직교하지 않습니다. 이를 어떻게 직교하도록 할 것인가. 간단합니다. 예를 들어, x2를 x1에 직교하도록 만들기 위해서는, x2의 정보 중에서, x1의 성분만을 제외하면, 되는겁니다. x2의 정보 중 x1의 성분을 그럼 어떻게 찾느냐. x2를 x1에 사영시키면, 그 값이 x2의 x1 성분입니다. 그래서 아래 수식과 같이 x2 - proj_x1(x2) 가 x1과 직교하는 벡터 v2가 되는 셈입니다. 실제로 x1과 v2를 내적해보면 0이니까, 수직이죠.
이런 과정을 거치게 되면, 저희는 기존의 Matrix A를 Orthonormal한 Matrix Q와, Upper triangular matrix R로 분해할 수 있게 됩니다. 왜 Upper triangular matrix가 되는가- 는 Gram-Schmidt orthogonalization의 과정을 보면, 첫번째 벡터부터 하나하나 직교화시킨다는 점을 잘 보시면, 이해되실 겁니다. 이러한 과정(A=QR)을 QR Factorization이라고 합니다. 이상입니다.
'머신러닝 > [인공지능을 위한 선형대수]' 카테고리의 다른 글
영공간과 직교여공간 (0) | 2020.05.23 |
---|---|
고유벡터와 고유값 (0) | 2020.05.22 |
Orthogonal Projection 2 (0) | 2020.05.20 |
Orthogonal Projection 1 (0) | 2020.05.19 |
정규방정식 (0) | 2020.05.18 |