Orthogonal Matrix and QR decomposition
(프로그래머스 인공지능과정 week2 day3 내용 (수식 사진은 강의내용을 활용하였습니다.))
벡터의 내적(inner product)
(당연하지만, 실공간에서만 고려한다. 복소공간에서는 내적의 정의가 바뀐다)
대수적으로, 내적은
와 같이 정의된다.
실공간에서, u와 v의 내적은
로 정의됨을 상기시켜 보자. (여기서 theta는 두 벡터가 이루는 각의 크기)
다시 말해, 내적이 0이면 두 벡터는 직교하게 된다. (cos 90º = 0)
거꾸로, 실수공간에서 두 벡터가 주어지면 두 벡터가 이루는 각도도 자연스럽게 구할 수 있다.
투영 (projection)
한 벡터를 다른 벡터에 투영, (즉 수선의 발을 내리는 상황)을 고려해보자.
즉, 그림과 같은 상황이 될 것이다. u라는 벡터를 a 위에 투영시킨 것이다. 이를 proj_a u로 표기한다.
이 벡터를 구하기 위해서는 벡터의 길이와 방향이 필요하다. 길이의 유도는 사진 우측과 같이 하며,
방향의 경우는 수선의 발을 내리면 a의 방향과 동일하므로, a의 길이로만 나눠 (방향만 줘야므로 길이는 1이어야 한다) 방향을 제시한다. 이를 최종적으로 계산하면 다음과 같다.
이 때, w2벡터는 투영된 w1벡터에 수직인 벡터로, 보완벡터(complement vector)라고도 부르기도 한다.
Remark.
이를 활용하여, N차원 벡터공간의 기저가 하나 주어졌을 때, 그 기저를 적당히 변경하여 새로운 기저를 정의하여, 새 기저의 각 원소들이 서로 직교하게 만들어 줄 수 있다.
이를 Gram-Schmidt process라고 한다.
직교행렬(Orthogonal Matrix)
Definition> Orthogonal Matrix
주어진 행렬의 모든 열벡터가 서로 직교한다면, 이 행렬을 직교행렬이라 한다.
Definition> Orthonormal Matrix
주어진 행렬이 직교행렬이고, 모든 열벡터의 크기가 1이라면 이 행렬을 정규직교행렬이라 한다.
예시)
Remarks. (살짝 수학과 버전??)
책에 따라서는, Orthonormal Matrix를 다르게 정의하기도 한다.
정사각행렬 A에 대해,이를 만족할 경우 Orthonormal Matrix라고 한다.
(사실 책에 따라서는 이를 Orthogonal Matrix라고 정의하기도 하나, 여기서는 강의의 기준을 따르기로 한다.)
위의 식을 통해 자명한 것은, Orthonormal Matrix는 무조건 역행렬이 존재한다는 것이다!
선형변환을 행렬로 해석하는 관점에서 보면, orthonormal operator는 선형변환을 해도 크기가 변하지 않게 된다는 의미이다.더 가고 싶지만 뇌절
QR Decomposition
열벡터들은 직교성이 없는 거를, 직교성을 부여한 행렬 * 나머지로 만들자.
A = Q * R로 쪼개되, Q : 정규직교행렬, R : 상삼각행렬로 만드는 것이 QR Decomposition이다.
(사실, QR 또한 그람-슈미트 과정을 통해서 얻어낼 수 있다.!)
'Archive > 수학 & 통계학 관련' 카테고리의 다른 글
[Prob] 베이즈 정리 (0) | 2021.04.28 |
---|---|
[Linalg] 최소제곱법과 응용 (0) | 2021.04.27 |
[Linalg] Change of Basis (0) | 2021.04.26 |
[Linalg] LU Decomposition (0) | 2021.04.26 |
[Linalg] 선형시스템 및 가우스소거법 (Numpy Code 추가) (0) | 2021.04.26 |