31.1 특이값 분해(Singular Value Decomposition)의 정의와 연구 동기
1. 특이값 분해의 형식적 정의
정의 (특이값 분해, SVD). 임의의 m \times n 실수 행렬 A \in M_{m \times n}(\mathbb{R})에 대하여, 직교 행렬 U \in M_{m \times m}(\mathbb{R}), V \in M_{n \times n}(\mathbb{R}), 그리고 대각형 행렬 \Sigma \in M_{m \times n}(\mathbb{R})이 존재하여
A = U \Sigma V^T
가 성립한다. 여기서:
- U = (u_1 \mid u_2 \mid \cdots \mid u_m)은 m \times m 직교 행렬이다. U^T U = U U^T = I_m.
- V = (v_1 \mid v_2 \mid \cdots \mid v_n)은 n \times n 직교 행렬이다. V^T V = V V^T = I_n.
- \Sigma는 m \times n 행렬로서, 대각 성분 \sigma_1, \sigma_2, \ldots, \sigma_p (p = \min(m, n))만 비영이고 나머지 성분은 모두 0이다. 대각 성분은 \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_p \geq 0으로 내림차순 정렬된다.
\sigma_i를 A의 **특이값(singular value)**이라 하고, u_i를 A의 좌특이벡터(left singular vector), v_i를 **우특이벡터(right singular vector)**라 한다.
2. 특이값의 비영 개수와 행렬의 계수
A의 계수가 r = \operatorname{rank}(A)이면, 정확히 r개의 양의 특이값이 존재한다:
\sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0 = \sigma_{r+1} = \cdots = \sigma_p
따라서 행렬의 계수는 양의 특이값의 개수와 같다. 이는 SVD에 의한 계수 결정의 기초이다.
3. 축소 형태의 SVD
전체 SVD 외에 **축소 SVD(reduced SVD, compact SVD, thin SVD)**가 실용적으로 사용된다:
A = U_r \Sigma_r V_r^T
여기서 U_r \in M_{m \times r}은 U의 처음 r개 열, V_r \in M_{n \times r}은 V의 처음 r개 열, \Sigma_r = \operatorname{diag}(\sigma_1, \ldots, \sigma_r) \in M_{r \times r}이다. 축소 SVD는 영 특이값에 대응하는 성분을 제거한 것으로, A를 정확히 표현하면서 저장 공간을 절약한다.
4. 고유값 분해와의 비교: SVD의 필요성
고유값 분해(eigendecomposition) A = P \Lambda P^{-1}은 다음의 제약을 갖는다:
정방 행렬에 한정. A가 n \times n 정방 행렬이어야 한다. m \neq n인 직사각 행렬에는 적용할 수 없다.
대각화 가능 조건. A가 대각화 가능하여야 한다. 결함 행렬(defective matrix)에는 적용할 수 없다.
직교 기저 미보장. 일반 행렬의 고유벡터는 직교하지 않으므로 P가 직교 행렬이 아니며, P^{-1}의 계산이 필요하다.
SVD는 이 모든 제약을 해소한다:
| 성질 | 고유값 분해 | SVD |
|---|---|---|
| 적용 범위 | 정방 행렬 | 모든 m \times n 행렬 |
| 대각화 가능 조건 | 필요 | 불필요 |
| 존재성 | 조건부 | 항상 존재 |
| 직교성 | A = A^T일 때만 | 항상 직교 (U, V 모두) |
| 분해 인수의 실수성 | 복소수 가능 | 항상 실수 |
5. SVD 존재성의 직관적 이해
SVD의 존재는 다음의 기하학적 관찰에서 직관적으로 이해된다: 임의의 선형 변환 T: \mathbb{R}^n \to \mathbb{R}^m은 단위 구를 타원체(또는 퇴화된 타원체)로 변환한다. 이 타원체의 주축 방향과 주축 길이가 각각 좌특이벡터와 특이값을 결정하고, 단위 구 위에서 타원체의 주축에 대응하는 방향이 우특이벡터를 결정한다.
구체적으로, A에 의하여 단위 구 S^{n-1} = \{x \in \mathbb{R}^n : \lVert x \rVert = 1\}이 타원체 \{Ax : x \in S^{n-1}\}로 변환될 때:
- \sigma_1 = \max_{\lVert x \rVert = 1} \lVert Ax \rVert이고, 이를 달성하는 x가 v_1이며, Av_1 / \lVert Av_1 \rVert = u_1이다.
- \sigma_2 = \max_{\lVert x \rVert = 1, x \perp v_1} \lVert Ax \rVert이고, 이를 달성하는 x가 v_2이다.
- 이 과정을 반복하면 모든 특이값과 특이벡터가 결정된다.
6. 연구 동기: 행렬 근사 문제
SVD의 핵심적 연구 동기 가운데 하나는 최적 저계수 근사(optimal low-rank approximation) 문제이다. 주어진 행렬 A를 계수 k의 행렬 B로 근사할 때 오차를 최소화하는 문제
\min_{\operatorname{rank}(B) \leq k} \lVert A - B \rVert
의 해가 SVD에 의하여 즉시 구해진다. 이는 Eckart-Young-Mirsky 정리에 의하여 보장되며, 데이터 과학과 기계 학습에서 SVD의 실용적 가치의 근원이다.
7. 연구 동기: 의사 역행렬과 최소제곱 문제
비정방 행렬이나 특이 행렬에 대한 연립방정식 Ax = b의 “최적 해“를 정의하는 문제에서 SVD는 핵심적 역할을 한다. 무어-펜로즈 의사 역행렬(Moore-Penrose pseudoinverse) A^+는 SVD를 이용하여
A^+ = V \Sigma^+ U^T
로 정의된다. 여기서 \Sigma^+는 \Sigma의 양의 대각 성분을 역수로 대체한 행렬이다. A^+ b는 \lVert Ax - b \rVert를 최소화하는 해 중 노름이 최소인 벡터이다.
8. 연구 동기: 행렬의 구조적 분석
SVD는 행렬의 근본적 구조를 드러내는 도구이다:
계수(rank). 양의 특이값의 개수가 행렬의 계수이다. 수치적으로, 기계 정밀도 이하의 특이값을 0으로 간주하여 **수치적 계수(numerical rank)**를 결정한다.
노름. 스펙트럼 노름, 프로베니우스 노름, 핵 노름 등 주요 행렬 노름이 특이값으로 표현된다.
조건수. \kappa(A) = \sigma_1 / \sigma_r은 연립방정식의 수치적 안정성 지표이다.
4대 기본 부분 공간. 행 공간, 열 공간, 영 공간, 좌 영 공간이 SVD에 의하여 명시적으로 결정된다.
9. 역사적 배경
특이값 분해의 이론적 기초는 19세기 후반 Beltrami (1873)와 Jordan (1874)에 의하여 독립적으로 확립되었다. Autonne (1915)이 복소 행렬에 대한 결과를 확장하였고, Eckart와 Young (1936)이 저계수 근사의 최적성을 증명하였다. Golub과 Kahan (1965)이 효율적인 수치 알고리즘을 개발하면서 SVD는 계산 가능한 실용 도구로 자리잡았다.
현대에 SVD는 추천 시스템(Netflix Prize), 자연어 처리(잠재 의미 분석), 이미지 처리(압축 및 잡음 제거), 통계학(주성분 분석), 제어 이론(시스템 축소) 등 광범위한 분야에서 핵심 알고리즘으로 활용된다.