Processing math: 30%

[Linear Algebra] 14. Eigen Decomposition & SVD

2023. 12. 3. 19:47Mathematics/Linear Algebra

이번 글에서는 고윳값 분해(eigen decomposition)와 SVD(singular value decomposition)에 대해 알아볼 것이다.

 

1. 고윳값 분해

2-D to 2-D linear transformation A에 independent한 eigenvector v1v2와 eigenvalue λ1, λ2가 있다고 가정할 때, 다음과 같이 식을 전개할 수 있다.

참고로, v1v2는 서로 independent한 eigenvector이기 때문에 eigenbasis로 볼 수 있다.

 

V=[v1v2];Λ=[λ100λ2]

Av1=λ1v1,Av2=λ1v2

A[v1v2]=[λ1v1λ2v2]

A[v1v2]=[v1v2][λ100λ2]

AV=VΛA=VΛV1

 

A=VΛV1을 고윳값 분해라고 한다.

이때, 고윳값 분해가 되는 모든 행렬을 "diagonalizable"한 행렬이라고 한다. 

참고로, "행렬 A에 eigenbasis가 존재한다"와 "행렬 A는 diagonalizable하다"는 동치이다.


1.1. 고윳값 분해의 속성?

1. Ak=VΛKV1

2. A1=(VΛV1)1=VΛV1

3. det

4. det(A)=0 0인 eigenvalue가 하나 이상 존재한다.


5. A가 orthogonal matrix이면, 모든 λi=±1이다.

Avi=λivi(Avi)Avi=viAAvi=vi2=λi2vi2λi=±1

 

6. Diagonalizable matrix A의 non-zero eigenvalue의 수는 rank(A)와 같다.

 

- 6번째 명제에 대한 직관적인 설명 -

A가 diagonalizable하다는 것은 "서로 independent한 eigenvector가 n개 있다 eigenbasis가 있다"는 의미다.

rank(A)n이고, 모든 eigenvector는 A의 column space에 속해있기 때문에,

A의 column space를 eigenvector 기준으로 분해할 수 있다.

결론, A의 column space를 N개의 rank-1 space로 쪼갠 후, 해당 space의 eigenvalue가 0인 경우, squeeze된다.

그렇기 때문에, Azero eigenvalue의 수 만큼 column space가 squeeze된다.

 


1.2. 대칭행렬(=symmetric matrix)은 diagonalizable하며, A=QΛQ이 된다.

이때, Q는 orthogonal matrix다.

 

A=AA=QΛQ1,A=QΛQQ1=QQ is orthogonal matrix

So if A=A,then A=QΛQ(Q is orthogonal matrix)

 

2. SVD

고윳값 분해는 특정 행렬(square and sysmmatrix matrix)에만 적용이 가능했다. 

그에 반해, SVD는 모든 행렬에 적용이 가능하다. 즉, 임의의 n×m 행렬 A를 다음과 같이 분해할 수 있다.

 

A=UΣV

(Un×n and Vm×m are both orthogonal matrix, Σn×m is diagonal matrix)

 

 

2.1. A의 non-zero singular value의 수는 rank(A)와 같다.

 

- 직관적인 설명 -

A=UΣVAv1=λ1u1, Av2=λ2u2,  이기 때문에,

모든 uiA의 column space에 속해있다.

그러므로, A의 column space를 ui기준으로 분해할 수 있다.

결론, A의 column space를 N개의 rank-1 matrix ui로 쪼갠 후, 해당 matrix의 λi가 0인 경우, squeeze된다.

그렇기 때문에, A zero singluar value의 수 만큼 column space가 squeeze된다.