Chapter 31. 특이값 분해(SVD)의 수학적 원리 및 행렬 근사
1. 개요
**특이값 분해(Singular Value Decomposition, SVD)**는 임의의 m \times n 행렬을 세 행렬의 곱으로 분해하는 정리이다. 고유값 분해가 정방 행렬에 한정되고 대각화 가능 조건을 요구하는 것과 달리, SVD는 모든 행렬(정방이 아닌 직사각 행렬 포함, 계수 부족 행렬 포함)에 대하여 존재한다. 이러한 보편성으로 인하여 SVD는 선형대수학에서 가장 범용적인 행렬 분해로 자리잡고 있다.
SVD는 행렬을 직교 변환, 스케일링, 직교 변환의 순차적 합성으로 해석하며, 행렬이 수행하는 선형 변환의 기하학적 구조를 완전하게 드러낸다. 구체적으로, 임의의 선형 변환은 입력 공간의 회전(또는 반사), 각 축 방향의 독립적 스케일링, 출력 공간의 회전(또는 반사)으로 분해된다.
2. SVD의 정리
정리 (특이값 분해). 임의의 m \times n 실수 행렬 A (\operatorname{rank}(A) = r)에 대하여, 직교 행렬 U \in M_{m \times m}(\mathbb{R}) (U^T U = I_m), V \in M_{n \times n}(\mathbb{R}) (V^T V = I_n), 그리고 대각형 행렬 \Sigma \in M_{m \times n}(\mathbb{R})이 존재하여
A = U \Sigma V^T
가 성립한다. 여기서 \Sigma의 대각 성분 \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0 = \sigma_{r+1} = \cdots = \sigma_{\min(m,n)}을 A의 **특이값(singular values)**이라 하고, U의 열벡터 u_1, \ldots, u_m을 좌특이벡터(left singular vectors), V의 열벡터 v_1, \ldots, v_n을 **우특이벡터(right singular vectors)**라 한다.
3. SVD와 고유값 분해의 관계
SVD는 대칭 행렬 A^T A와 AA^T의 고유값 분해와 밀접하게 연결된다.
A = U \Sigma V^T이면:
A^T A = V \Sigma^T \Sigma V^T = V \operatorname{diag}(\sigma_1^2, \ldots, \sigma_n^2) V^T
AA^T = U \Sigma \Sigma^T U^T = U \operatorname{diag}(\sigma_1^2, \ldots, \sigma_m^2) U^T
따라서 V의 열벡터는 A^T A의 고유벡터, U의 열벡터는 AA^T의 고유벡터이며, 특이값 \sigma_i는 A^T A (또는 AA^T)의 고유값의 양의 제곱근이다:
\sigma_i = \sqrt{\lambda_i(A^T A)}
이 관계는 SVD의 존재 증명과 계산의 기초가 된다. A^T A와 AA^T는 대칭 양의 반정부호이므로 고유값이 음이 아닌 실수임이 보장되고, 특이값의 실수성과 비음수성이 도출된다.
4. 기하학적 해석
A = U \Sigma V^T에 의한 선형 변환 x \mapsto Ax는 세 단계로 분해된다:
단계 1: V^T에 의한 입력 공간의 회전. y = V^T x는 입력 벡터 x를 우특이벡터 기저로 좌표 변환한다. V가 직교 행렬이므로 길이와 각도가 보존된다.
단계 2: \Sigma에 의한 축별 스케일링. 각 좌표를 특이값 \sigma_i로 독립적으로 스케일링한다. 입력 공간과 출력 공간의 차원이 다를 경우 차원의 확장 또는 축소가 수반된다.
단계 3: U에 의한 출력 공간의 회전. 스케일링된 벡터를 출력 공간의 좌특이벡터 기저로 회전한다.
따라서 단위 구(unit sphere) \{x : \lVert x \rVert = 1\} \subset \mathbb{R}^n은 A에 의하여 \mathbb{R}^m 내의 초타원체(hyperellipsoid)로 변환된다. 이 타원체의 주축 방향은 u_1, \ldots, u_r이고, 주축 길이는 \sigma_1, \ldots, \sigma_r이다.
5. 행렬의 4대 기본 부분 공간과 SVD
SVD는 행렬의 4대 기본 부분 공간(four fundamental subspaces)을 명시적으로 결정한다:
- 열 공간(column space) \operatorname{col}(A) = \operatorname{span}\{u_1, \ldots, u_r\}
- 좌 영 공간(left null space) \operatorname{col}(A)^\perp = \operatorname{span}\{u_{r+1}, \ldots, u_m\}
- 행 공간(row space) \operatorname{row}(A) = \operatorname{span}\{v_1, \ldots, v_r\}
- 영 공간(null space) \ker(A) = \operatorname{span}\{v_{r+1}, \ldots, v_n\}
6. 행렬 노름과 특이값
스펙트럼 노름(spectral norm, 2-노름): \lVert A \rVert_2 = \sigma_1
프로베니우스 노름(Frobenius norm): \lVert A \rVert_F = \sqrt{\sum_{i=1}^{r} \sigma_i^2}
핵 노름(nuclear norm, trace norm): \lVert A \rVert_* = \sum_{i=1}^{r} \sigma_i
조건수(condition number): \kappa(A) = \sigma_1 / \sigma_r (가역 행렬의 경우)
7. 최적 저계수 근사: Eckart-Young-Mirsky 정리
정리 (Eckart-Young-Mirsky, 1936). A = U \Sigma V^T의 SVD에서 최적의 계수 k 근사는
A_k = \sum_{i=1}^{k} \sigma_i u_i v_i^T = U_k \Sigma_k V_k^T
이며, 다음의 최적성을 갖는다:
\min_{\operatorname{rank}(B) \leq k} \lVert A - B \rVert_2 = \sigma_{k+1}
\min_{\operatorname{rank}(B) \leq k} \lVert A - B \rVert_F = \sqrt{\sum_{i=k+1}^{r} \sigma_i^2}
이 정리는 SVD에 의한 저계수 근사가 스펙트럼 노름과 프로베니우스 노름 모두에서 최적임을 보장한다. 이는 데이터 압축, 차원 축소, 잡음 제거의 수학적 기초이다.
8. SVD의 응용 영역
SVD는 다음의 핵심 문제에 적용된다:
- 의사 역행렬(pseudoinverse): 무어-펜로즈 의사 역행렬은 A^+ = V \Sigma^+ U^T로 계산된다.
- 최소제곱 문제: 과결정 및 부족결정 연립방정식의 최소 노름 해를 제공한다.
- 주성분 분석: 데이터 행렬의 SVD에 의하여 주성분을 직접 계산한다.
- 잠재 의미 분석(LSA): 텍스트 데이터의 용어-문서 행렬을 SVD로 분해하여 잠재 의미 구조를 추출한다.
- 이미지 압축: 이미지 행렬의 저계수 SVD 근사에 의한 데이터 압축.
- 추천 시스템: 사용자-아이템 평점 행렬의 저계수 근사에 기반한 협업 필터링.
- 행렬 완성(matrix completion): 부분 관측된 행렬의 저계수 구조를 활용한 결측값 추정.
이 장에서는 SVD의 수학적 기초를 엄밀하게 전개하고, 행렬 근사에서의 최적성을 증명하며, 계산 방법과 응용을 체계적으로 기술한다.