8.2 SVD의 기하학적 의미 - 직관적으로 이해하기
도입
복잡한 기계도 결국 단순한 부품들의 조합이다. 엔진은 폭발, 피스톤 운동, 회전 운동으로 분해되고, 레버는 힘의 방향 전환과 크기 변화로 분해된다. 선형변환도 마찬가지다. 아무리 복잡한 선형변환이라도, SVD는 그것을 세 가지 단순한 기하학적 동작의 연속으로 분해한다.
$A = U\Sigma V^T$에서 $\vec{x}$에 $A$를 적용하는 과정:
\[A\vec{x} = U\Sigma V^T \vec{x}\]오른쪽에서 왼쪽으로 읽으면: 먼저 $V^T$를 적용(회전), 그 다음 $\Sigma$를 적용(늘리기), 마지막으로 $U$를 적용(회전). 이 세 단계가 모든 선형변환의 본질이다. 이번 글에서는 이 기하학적 분해를 단계별로, 그리고 단위원이 어떻게 타원으로 변하는지를 통해 직관적으로 이해해 보자.
세 단계의 기하학적 해석
전체 구조
\[A\vec{x} = \underbrace{U}_{\text{3. 회전}} \underbrace{\Sigma}_{\text{2. 늘리기}} \underbrace{V^T}_{\text{1. 회전}} \vec{x}\]1단계: $V^T$ — 입력 공간에서의 회전
$V^T$는 직교행렬이므로 길이와 각도를 보존하는 등거리 변환이다. 구체적으로 $V^T$는 입력 벡터들을 $V$의 열벡터($\vec{v}_1, \vec{v}_2, \ldots$)가 표준 축 방향을 향하도록 좌표계를 회전시킨다.
\[\vec{x} \xrightarrow{V^T} V^T\vec{x}\]이 단계 후, 좌표계의 축들이 우특이벡터 $\vec{v}_i$ 방향으로 정렬된다.
2단계: $\Sigma$ — 각 축 방향으로 늘리기(스케일링)
$\Sigma$는 대각행렬로, 각 축 방향으로 독립적으로 스케일링한다. $i$번째 축은 $\sigma_i$배로 변한다:
\[V^T\vec{x} \xrightarrow{\Sigma} \Sigma V^T\vec{x}\] \[\text{i번째 성분} \rightarrow \sigma_i \times \text{i번째 성분}\]- $\sigma_1 \geq \sigma_2 \geq \cdots$이므로 첫 번째 방향이 가장 크게 늘어난다
- $\sigma_i = 0$이면 해당 방향이 영(零)으로 붕괴 — 차원 감소
- 이 단계에서 도형의 모양이 변한다 (길이 변화 발생)
3단계: $U$ — 출력 공간에서의 회전
마지막으로 $U$가 출력 벡터들을 좌특이벡터 $\vec{u}_i$ 방향으로 다시 회전시킨다:
\[\Sigma V^T\vec{x} \xrightarrow{U} U\Sigma V^T\vec{x} = A\vec{x}\]이 단계도 길이와 각도를 보존한다. 오직 $\Sigma$ 단계만이 도형의 크기를 변화시킨다.
단위원이 타원으로 변하는 과정
핵심 정리
$n$차원 단위구(unit sphere)를 $A$로 변환하면, 결과는 다음을 반축으로 갖는 타원이다:
- 반축의 방향: 좌특이벡터 $\vec{u}_1, \vec{u}_2, \ldots$
- 반축의 길이: 특이값 $\sigma_1, \sigma_2, \ldots$
2차원 예시
\[A = \begin{pmatrix} 3 & 1 \\ 0 & 2 \end{pmatrix}\]이 행렬의 SVD를 통해 특이값을 구하면 $\sigma_1$과 $\sigma_2$가 나온다. 단위원의 각 점 $\vec{x} = (\cos\theta, \sin\theta)$를 $A$로 변환하면, 결과는 타원 위의 점이 된다.
단계별로:
- $V^T$: 단위원을 회전 (여전히 원)
- $\Sigma$: x축 방향 $\sigma_1$배, y축 방향 $\sigma_2$배 → 타원
- $U$: 타원을 회전 (타원의 반축 방향이 $\vec{u}_1, \vec{u}_2$로 정렬)
직관: 모든 선형변환 = 회전-스트레치-회전
왜 이것이 강력한가?
어떤 선형변환이든 세 가지 단순한 동작으로 환원된다는 사실은 놀랍다. 이는 다음을 의미한다:
“가장 중요한 방향”이 존재한다: 가장 큰 특이값 $\sigma_1$에 대응하는 $\vec{v}_1$ 방향이 변환의 최대 효과 방향이다.
\[\max_{\|\vec{x}\|=1} \|A\vec{x}\| = \sigma_1, \quad \text{최대점은 } \vec{x} = \vec{v}_1\]“가장 덜 중요한 방향”도 있다: 가장 작은 특이값 $\sigma_r$에 대응하는 방향이 변환의 최소 효과 방향이다.
차원 축소가 자연스럽다: $\sigma_i \approx 0$인 방향들은 변환 후 거의 사라지므로, 큰 특이값에 대응하는 방향들이 “본질적인 방향”이다.
직교변환의 기하학적 효과 비교
| 변환 | 기하학적 효과 |
|---|---|
| $V^T$ (직교, $\det=1$) | 회전 |
| $V^T$ (직교, $\det=-1$) | 반사 포함 회전 |
| $\Sigma$ (대각) | 각 축 방향 스케일링 |
| $U$ (직교) | 회전 (또는 반사 포함) |
| $A = U\Sigma V^T$ | 위 세 가지 합성 |
행렬의 최대 신장률과 최소 신장률
스펙트럴 노름 (Spectral Norm)
행렬의 스펙트럴 노름(operator 2-norm)은 가장 큰 특이값이다:
\[\|A\|_2 = \sigma_1 = \max_{\vec{x} \neq 0} \frac{\|A\vec{x}\|}{\|\vec{x}\|}\]이는 단위벡터 중 $A$가 가장 크게 늘리는 벡터($\vec{v}_1$)에서의 늘림 비율이다.
프로베니우스 노름과 SVD
\[\|A\|_F = \sqrt{\sum_{i,j} a_{ij}^2} = \sqrt{\sigma_1^2 + \sigma_2^2 + \cdots + \sigma_r^2}\]SVD를 통해 행렬의 다양한 노름을 특이값으로 표현할 수 있다.
핵심 포인트 정리
| 개념 | 설명/공식 |
|---|---|
| SVD의 3단계 | $V^T$(회전) → $\Sigma$(스케일) → $U$(회전) |
| 단위구의 변환 | 반축 길이 $\sigma_i$, 방향 $\vec{u}_i$인 타원 |
| 최대 신장 방향 | $\vec{v}_1$ (첫 번째 우특이벡터) |
| 최대 신장 비율 | $\sigma_1$ (첫 번째 특이값) |
| 스펙트럴 노름 | $|A|_2 = \sigma_1$ |
| 프로베니우스 노름 | $|A|_F = \sqrt{\sum \sigma_i^2}$ |
| 핵심 직관 | 모든 선형변환 = 회전-스트레치-회전 |
| 차원 감소 | $\sigma_i \approx 0$인 방향은 “비중요” |
다음 글에서는 SVD의 응용을 살펴보며, 저랭크 근사, 이미지 압축, PCA 연결, 의사역행렬 등 SVD가 실제로 어떻게 활용되는지 구체적인 예시와 함께 알아본다.
