Eigenvalue Decomposition은 정사각행렬에만 정의되고 diagonalizable하지 않은 행렬에는 바로 적용할 수 없다. Singular Value Decomposition은 모든 실수 또는 복소수 행렬에 존재한다.
에 대해
로 분해할 수 있다.
- : Orthogonal Matrix
- : Orthogonal Matrix
- : diagonal-like matrix
복소수 행렬에서는 대신 를 사용한다.
AᵀA와 Singular Value
는 항상 Symmetric Positive Semidefinite이다.
따라서 Eigenvalue는 모두 0 이상이다.
라고 하면 Singular Value는
로 정의한다.
Singular Value는 큰 순서로 정렬한다.
여기서 이다.
Right와 Left Singular Vector
의 Orthonormal Eigenvector 를 Right Singular Vector라고 한다.
일 때
로 정의하면
이다. 를 Left Singular Vector라고 한다.
또한
이므로 Left Singular Vector는 의 Eigenvector이다.
U의 column들이 Orthonormal한 이유
에 대해
이고 이면 norm이 1이다. 따라서 nonzero singular value에 대응하는 들은 Orthonormal하다.
SVD의 기하학적 의미
는 세 단계의 변환이다.
- : 입력 공간을 rotation 또는 reflection한다.
- : 서로 orthogonal한 축을 각각 배 한다.
- : 출력 공간을 rotation 또는 reflection한다.
단위구는 에 의해 주축 길이가 인 ellipsoid로 변한다. 가장 큰 Singular Value 는 최대 stretching factor이다.
이다.
예제
이다.
의 Eigenvalue는 이다. 따라서 Singular Value는
이다.
Right Singular Vector를
로 선택한다.
이다.
따라서
이고 는 위의 Right Singular Vector들을 column으로 가진다.
Reduced SVD
Rank가 이면 nonzero Singular Value에 해당하는 부분만 사용하여
로 쓸 수 있다.
이다. 저장 공간과 계산량을 줄일 수 있다.
Fundamental Subspace
SVD는 네 Fundamental Subspace를 직접 보여 준다.
Rank-1 Decomposition
SVD를 column별로 전개하면
이다. 각 항은 Rank 1 Matrix이다.
앞의 개 항만 남기면
이다. Eckart-Young Theorem에 따라 는 의 가장 좋은 Rank approximation이다.
이다. 이미지 압축, noise reduction, PCA와 연결된다.
Moore-Penrose Pseudoinverse
정사각행렬이 아니거나 singular한 행렬에는 일반 inverse가 없다. SVD를 이용해 Pseudoinverse를 정의한다.
는 0이 아닌 Singular Value를 역수로 바꾸고 matrix shape을 transpose한 것이다.
Pseudoinverse는 다음 Moore-Penrose conditions를 만족한다.
는 에 대한 Orthogonal Projection이고, 는 에 대한 Orthogonal Projection이다.
정리
- 모든 행렬은 SVD를 가진다.
- Singular Value는 Eigenvalue의 square root이다.
- 이다.
- SVD는 rotation/reflection, axis scaling, rotation/reflection으로 해석된다.
- 이다.
- Pseudoinverse는 이다.
확인 문제
의 Singular Value와 Rank를 구한다.
풀이
의 Eigenvalue는 이다. 따라서 Singular Value는 이고 Rank는 nonzero Singular Value의 수인 이다.