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.