Link Search Menu Expand Document

특잇값 분해

Chapter 4 : Eigendecomposition and Diagonalization

Edited by / 나경훈 (rudgnsdl06) rudgnsdl06



특잇값 분해

특잇값 분해(Singular Value Decomposition)는 행렬의 크기에 상관없이 모든 행렬에 적용할 수 있는 근본적인 행렬 분해 방법이다.

특잇값 분해 이론에 의한 행렬 $A$의 특잇값 분해는 아래와 같이 정의된다.

\[A = U\sum V^T\] \[A \in \R^{m\times n} \\ U = \left[\begin{array}{lll} \mid & & \mid \\ \bold{u_1} & \ldots & \bold{u_m} \\ \mid & & \mid \end{array}\right] \in \R^{m\times m} \\ V = \left[\begin{array}{lll} \mid & & \mid \\ \bold{v_1} & \ldots & \bold{v_n} \\ \mid & & \mid \end{array}\right] \in \R^{n\times n} \\ \sum = \left[\begin{array}{lll} \sigma_1 & & 0 \\ & \ddots & \\ 0 & & \sigma_s \\ 0 & \ldots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \ldots & 0 \end{array}\right] or \left[\begin{array}{lll} \sigma_1 & & 0 & 0 & \ldots & 0\\ & \ddots & & \vdots & \ddots & \vdots \\ 0 & & \sigma_s & 0 & \ldots & 0\\ \end{array}\right]\]

이 때 행렬 $\sum$의 대각성분 $\sigma_i$를 행렬 $A$의 특잇값, 행렬 $U$와 $V$의 열벡터 $\bold{u_i}$, 를 각각 좌특이벡터(left singular vectors)와 우특이벡터(right singular vectors)라고 한다.

구하는 법

  1. 항상 대각화 가능한 행렬 $A^TA$, $AA^T$를 대각화한다.
\[A^TA = PDP^T \\ AA^T = PDP^T\] \[A = \begin{bmatrix} 1 & 0 & 1\\ -2 & 1 & 0 \end{bmatrix}\] \[A^TA = \begin{bmatrix} 1 & -2\\ 0 & 1\\ 1 & 0 \end{bmatrix} \begin{bmatrix} 1 & 0 & 1\\ -2 & 1 & 0 \end{bmatrix} = \begin{bmatrix} 5 & -2 & 1\\ -2 & 1 & 0\\ 1 & 0 & 1 \end{bmatrix}\] \[AA^T = \begin{bmatrix} 1 & 0 & 1\\ -2 & 1 & 0 \end{bmatrix} \begin{bmatrix} 1 & -2\\ 0 & 1\\ 1 & 0 \end{bmatrix} = \begin{bmatrix} 2 & -2 \\ -2 & 5 \end{bmatrix}\] \[A^TA = PDP^T = \begin{bmatrix} \frac{5}{\sqrt{30}} & 0 & \frac{-1}{\sqrt{6}}\\ \frac{-2}{\sqrt{30}} & \frac{1}{\sqrt{5}} & \frac{-2}{\sqrt{6}}\\ \frac{1}{\sqrt{30}}& \frac{2}{\sqrt{5}} & \frac{1}{\sqrt{6}} \end{bmatrix} \begin{bmatrix} 6 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 0 \end{bmatrix} \begin{bmatrix} \frac{5}{\sqrt{30}} & \frac{-2}{\sqrt{30}} & \frac{1}{\sqrt{30}}\\ 0 & \frac{1}{\sqrt{5}} & \frac{2}{\sqrt{5}}\\ \frac{-1}{\sqrt{6}}& \frac{-2}{\sqrt{6}} & \frac{1}{\sqrt{6}} \end{bmatrix}\] \[AA^T = P'D'P'^T = \begin{bmatrix} \frac{1}{\sqrt{5}} & \frac{2}{\sqrt{5}}\\ \frac{-2}{\sqrt{5}} & \frac{1}{\sqrt{5}}\end{bmatrix} \begin{bmatrix} 6 & 0\\ 0 & 1 \end{bmatrix} \begin{bmatrix} \frac{1}{\sqrt{5}} & \frac{-2}{\sqrt{5}}\\ \frac{2}{\sqrt{5}} & \frac{1}{\sqrt{5}}\end{bmatrix}\]
  1. 두 경우에서 각각 $A=U\sum V^T$를 대입하여 $V$, $U$를 구한다.
\[A^TA = (U\sum V^T)^T(U\sum V^T)=V{\sum}^T\sum V^T = PDP^T \\ AA^T = (U\sum V^T)(U\sum V^T)^T=U\sum\sum^T U^T = P'D'P'^T\] \[V = P = \begin{bmatrix} \frac{5}{\sqrt{30}} & 0 & \frac{-1}{\sqrt{6}}\\ \frac{-2}{\sqrt{30}} & \frac{1}{\sqrt{5}} & \frac{-2}{\sqrt{6}}\\ \frac{1}{\sqrt{30}}& \frac{2}{\sqrt{5}} & \frac{1}{\sqrt{6}} \end{bmatrix} \\ U = P' = \begin{bmatrix} \frac{1}{\sqrt{5}} & \frac{2}{\sqrt{5}}\\ \frac{-2}{\sqrt{5}} & \frac{1}{\sqrt{5}}\end{bmatrix}\]
  1. 고유값행렬 $D$에 제곱근을 취하여 특잇값행렬 $\sum$을 구한다.
\[{\sum}^T \sum = D\] \[\sum = \begin{bmatrix} \sqrt{6} & 0 & 0\\ 0 & 1 & 0 \end{bmatrix}\]
  1. 행렬 $A$의 특잇값 분해를 완성한다.
\[A = U\sum V^T = \begin{bmatrix} \frac{1}{\sqrt{5}} & \frac{2}{\sqrt{5}}\\ \frac{-2}{\sqrt{5}} & \frac{1}{\sqrt{5}}\end{bmatrix} \begin{bmatrix} \sqrt{6} & 0 & 0\\ 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} \frac{5}{\sqrt{30}} & \frac{-2}{\sqrt{30}} & \frac{1}{\sqrt{30}}\\ 0 & \frac{1}{\sqrt{5}} & \frac{2}{\sqrt{5}}\\ \frac{-1}{\sqrt{6}}& \frac{-2}{\sqrt{6}} & \frac{1}{\sqrt{6}} \end{bmatrix}\]

기하학적 해석

특잇값 분해는 행렬 $A$가 수행하는 선형변환 과정을 3단계로 나누어 적용한다고 해석할 수 있다.

\[A = U\sum V^T\]
  1. $V^T$ : 축 변환 처음 단계에서는 기존의 차원을 유지한 채 기저(basis) 변환만을 수행하여 바라보는 축을 달리한다.

  2. $\sum$ : 차원축 확장(축소), 형태 변환 다음으로 차원을 확장(축소)하고 특잇값에 크기에 따른 형태 변환(scaling)이 수행된다. 이 때 대각행렬의 특성상 확장(축소)된 차원축으로 방향의 전환은 일어나지 않는다.

  3. $U$ : 차원 변환 확장(축소)된 차원축을 활용하여 다시 기저 변환을 수행한다. 이 과정으로 차원의 실질적인 변화가 일어난다.

위와 같이 행렬 $A_{m \times n}$가 선형변환 $\R^n \rightarrow \R^m$을 수행할 때, 특잇값 분해는 $V^T$와 $U$를 통해 $\R^n$과 $\R^m$에서의 기저 변환을 모두 표현한다. 또한 특잇값 분해를 가장 특별하게 만들어 주는 점은 서로 다른 두 기저 변환이 특잇값 행렬 $\sum$에 의해 동시에 연결된다는 점이다.