66 min to read
1-2. Matrix Decomposition
Advanced Mathematics for AI
본 글은 K-MOOC의 인공지능 수학 고급(Advanced Mathematics for AI) 강의를 듣고 요약한 글입니다.
Eigenvalues, Eigenvectors
정사각행렬 AN×N 의 Eigenvalue는 다음 방정식의 해들이다. (I는 항등 행렬이다.)
∣A−λI∣=0
λ를 A의 eigenvalue일때, 다음을 만족하는 벡터 x가 존재한다면
Ax=λx
x는 λ에 대한 A의 Eigenvector이다.
Eigenvalue, Eigenvector의 특성
이때 다음 명제들은 동치이다.
- λ 는 A의 eigenvalue이다.
- λ 는 특성방정식 det(A−λI)=0 의 해이다.
- 선형방정식 (A−λI)x=0 은 nontrivial한 해가 존재한다.
Eigen Decomposition
A가 대각화가능 행렬일 때, A는 다음 식처럼 분해할 수 있다.
A=PDP−1
여기서 D는 각 주대각선 위의 성분이 A의 eigenvalue인 대각행렬이다.
이때, P는 각 λ1,⋯λN에 대한 eigenvector들의 행렬이다.
QR Decomposition
정사각행렬 AN×N은 다음과 같이 분해가능하다. (Q는 직교행렬이며 R은 상삼각행렬이다.)
A=QR
우리는 이를 통해서 min∥Ax−b∥ 를 쉽게 구할 수 있다.
min∣∣Ax−b∣∣⇔ATAx=ATb(RTQT)QRx=(RTQT)b⇔(RTQT)QRx=(RTQT)bRTRx=RTQTb⇔RTRx=RTQTbRx=QTb⇔Rx=QTbx=R−1QTb⇔x=R−1QTb
QR분해 예시
다음 행렬을 QR분해 해보자.
A=⎣⎡110101011⎦⎤→a1=⎣⎡110⎦⎤,a2=⎣⎡101⎦⎤,a3=⎣⎡011⎦⎤
Gram-Schmidt 과정을 통해 직교기저들을 만들자.
u1=a1=⎣⎡110⎦⎤u2=a2−proju1a2=⎣⎡101⎦⎤−(u1⋅u1u1⋅a2)u1.,,.,.,.,.,.,...,.,.,.,.,.,.,=⎣⎡101⎦⎤−21⎣⎡110⎦⎤=⎣⎡1/2−1/21⎦⎤u3=a3−proju1a3−proju2a3=⎣⎡011⎦⎤−(u1⋅u1u1⋅a3)u1−(u2⋅u2u2⋅a3)u2.,.,.,.,..,....................................=⎣⎡011⎦⎤−21⎣⎡110⎦⎤−31⎣⎡1/2−1/21⎦⎤=⎣⎡−2/32/32/3⎦⎤
각 벡터들을 정규화하면 Q는 다음과 같다.
Q=⎣⎡1/21/201/6−1/62/6−1/31/31/3⎦⎤
그리고 R도 직교행렬의 성질을 통해 바로 구해줄 수 있다.
R=QTA=⎣⎡2/2001/23/601/21/62/3⎦⎤
따라서 결과는 다음과 갔다.
A=QR=⎣⎡1/21/201/6−1/62/6−1/31/31/3⎦⎤⎣⎡2/2001/23/601/21/62/3⎦⎤
Singular Value Decomposition
일반적으로는 복소수 공간에서 SVD를 정의하지만, 여기서는 실수 공간에 대해서만 언급합니다.
AM×N이 M×N 실수 행렬일 때, 다음을 만족하는 직교행렬 UM×M, VN×N,ΣM×N 이 존재한다.
A=UΣVT
여기서 Σ의 대각성분은 양수이며 단조감소한다. (Σ00부터 시작한다.)
다음 강의에서 SVD의 활용에 대해 좀 더 자세히 다루고, 간단한 SVD 예시 하나만 남긴다.
SVD 예시
다음 행렬을 SVD 해보자.
A=⎣⎡1−22−12−2⎦⎤
이때 Σ의 대각성분은 ATA의 eigenvalue들의 양의 제곱근들이다.
ATA=[9−9−91]λ1=18⇒v1=[1/2−1/2],σ1=18λ2=0⇒v2=[1/21/2],σ2=0⇒V=[v1v2]=[1/2−1/21/21/2],Σ=⎣⎡1800000⎦⎤
이제 주어진 데이터들로 U의 처음 몇 열을 알 수 있다.
Av1=⎣⎡2/2−4/24/2⎦⎤⇒u1=Av1/σ1=⎣⎡1/3−2/32/3⎦⎤
나머지는 아무 두 직교하는 벡터만 넣으면 되므로 u1Tx=0을 만족하는 두 벡터를 잡자.
w1=⎣⎡210⎦⎤,w2=⎣⎡−201⎦⎤
이후 Gram-Schmidt 과정을 통해 서로 직교하도록 만들면 U의 나머지 열을 만들 수 있다.
u2=⎣⎡2/51/50⎦⎤,u3=⎣⎡−2/454/455/45⎦⎤
최종적으로 다음 분해가 완성된다.
A=UΣVT=⎣⎡1/3−2/32/32/51/50−2/454/455/45⎦⎤⎣⎡1800000⎦⎤[1/21/2−1/21/2]
Comments