Post

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$ 단계만이 도형의 크기를 변화시킨다.

SVD 기하학적 의미 — 단위원이 타원으로 변환되는 과정


단위원이 타원으로 변하는 과정

핵심 정리

$n$차원 단위구(unit sphere)를 $A$로 변환하면, 결과는 다음을 반축으로 갖는 타원이다:

  • 반축의 방향: 좌특이벡터 $\vec{u}_1, \vec{u}_2, \ldots$
  • 반축의 길이: 특이값 $\sigma_1, \sigma_2, \ldots$
\[\{A\vec{x} : \|\vec{x}\| = 1\} = \text{반축이 } \sigma_i \text{이고 방향이 } \vec{u}_i \text{인 타원}\]

2차원 예시

\[A = \begin{pmatrix} 3 & 1 \\ 0 & 2 \end{pmatrix}\]

이 행렬의 SVD를 통해 특이값을 구하면 $\sigma_1$과 $\sigma_2$가 나온다. 단위원의 각 점 $\vec{x} = (\cos\theta, \sin\theta)$를 $A$로 변환하면, 결과는 타원 위의 점이 된다.

단계별로:

  1. $V^T$: 단위원을 회전 (여전히 원)
  2. $\Sigma$: x축 방향 $\sigma_1$배, y축 방향 $\sigma_2$배 → 타원
  3. $U$: 타원을 회전 (타원의 반축 방향이 $\vec{u}_1, \vec{u}_2$로 정렬)

직관: 모든 선형변환 = 회전-스트레치-회전

왜 이것이 강력한가?

어떤 선형변환이든 세 가지 단순한 동작으로 환원된다는 사실은 놀랍다. 이는 다음을 의미한다:

  1. “가장 중요한 방향”이 존재한다: 가장 큰 특이값 $\sigma_1$에 대응하는 $\vec{v}_1$ 방향이 변환의 최대 효과 방향이다.

    \[\max_{\|\vec{x}\|=1} \|A\vec{x}\| = \sigma_1, \quad \text{최대점은 } \vec{x} = \vec{v}_1\]
  2. “가장 덜 중요한 방향”도 있다: 가장 작은 특이값 $\sigma_r$에 대응하는 방향이 변환의 최소 효과 방향이다.

  3. 차원 축소가 자연스럽다: $\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가 실제로 어떻게 활용되는지 구체적인 예시와 함께 알아본다.

This post is licensed under CC BY 4.0 by the author.