선형대수학의 최종 목적지 중 하나인 SVD(Singular Value Decompotion)을 배우기 전에 그의 기초가 되는 EVD에 대하여 간단하게 정리해보고자 한다.
여기서 decomposition은 "분해"라고 해석이 되는 것처럼 특정 행렬을 다른 형식의 행렬로 바꾸려는 시도라고 보면 된다. 그렇다면 eigenvalue로 decomposition할 수 있다라고 이해하고 접근해보자.
우선 eigenvalue와 eigenvactor를 이전 게시글에 정리를 한 것과 같이 각각 \(A v_i = \lambda_i v_i\)를 만족하는 A, \(v_i\)를 의미한다. 이를 n x n 차원으로 확장해보자. \(V = [v_1, v_2, .... , v_n] \in \mathbb{R}^{n \times n}\)이고, \(\Lambda = \begin{pmatrix} \lambda_1 & 0 & 0 & \cdots & 0 \\ 0 & \lambda_2 & 0 & \cdots & 0 \\ 0 & 0 & \lambda_3 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & \lambda_n \end{pmatrix} \in \mathbb{R}^{n \times n}\)라고 하면 \(AV = V\Lambda\)과 같고, 이는 \(A = V\Lambda V^{-1}\)와 같이 decomposition 가능하다. 풀어서 설명하면 해석하기 어려운 A 행렬을 Orthogonal 행렬 V와 그의 V의 역행렬, 그리고 digonal element가 eigenvalue인 행렬로 쉽게 접근 가능하다는 것이다.
이는 Symmetric Matrix에서 대표적으로 사용되는데, 우선 symmetric이기에 \(A = A^T\)를 만족하여 아래의 과정을 만족한다.
\( A = V\Lambda V^{-1} = A^T = (V\Lambda V^{-1})^T = (V^{-1})^T\Lambda^TV^T \) 이므로, \( V^T = V^{-1} \Rightarrow VV^{-1} = I \).
따라서 symmetric matrix의 EVD는 \( A = V\Lambda V^{-1} = V\Lambda V^T \)가 되는데 일반적으로 EVD는 이러한 상황(A가 symmetric, n X n matrix인 경우)를 의미하며 \( A = Q\Lambda Q^T \)로 쓰인다. 그리고 "A의 직교대각화"라고도 한다.
하지만 행렬의 대부분은 square matrix가 아니고 symmetric는 특수한 경우이다. EVG를 시작으로 Hessengerg decomposition, Schur decomposition 등 많은 이론들이 나왔지만 그 중 대부분이 모든 행렬에 접목시키가는 것이 불가능하다는 한계를 가지고 있다.
이러한 한계들을 해결하며, 현재 ML/DL 모델들의 기본이 되는 것이 SGD라고 할 수 있다.
'Mathematics' 카테고리의 다른 글
| RSVD(Reduced Singular Value Decomposition) (0) | 2024.08.18 |
|---|---|
| SVD(Singular Value Decomposition) (0) | 2024.08.18 |
| Eigenvalue / Eigenvector / Characteristic Equation (0) | 2024.07.11 |