열렬히.뛰기

11. 특이값 분해

수학 & 통계 > 최적화이론 > 수업 : 통수 & 선계 > 특이값 분해

특이값 분해(SVD)

  • Singular Value Decomposition = SVD
  • 정사각행렬이 아닌 행렬을 분해하는 방법
A = U\Sigma V^{T}
\begin{align*} A &= m \times n\; \text{행렬}\\\\ U &= m \times m\; \text{직교행렬}\\ \Sigma &= m \times n\; \text{대각행렬}\\ V &= n \times n\; \text{정방행렬}\\ \end{align*}

계산방법

  1. 행렬 A가 주어지면, 대칭행렬 A^TAAA^T를 만든다.
  2. AA^T에서 고유값과 고유벡터를 구한다. 고유벡터를 정규화한 뒤 모아 행렬 U를 만든다.
  3. A^TA에서 고유값과 고유벡터를 구한다. 고유벡터를 정규화한 뒤 모아 행렬 V^T를 만든다.
  4. AA^T의 고유값의 제곱근을 대각원소로 하는 행렬 \Sigma를 만든다.
  5. 각 행렬들을 모은다.

예시

A = \begin{bmatrix} 3 & 1 & 1 \\ -1 & 3 & 1 \\ \end{bmatrix}
A^TA = \begin{bmatrix} 3 & 1 \\ -1 & 3 \\ 1 & 1 \\ \end{bmatrix} \begin{bmatrix} 3 & 1 & 1 \\ -1 & 3 & 1 \\ \end{bmatrix} = \begin{bmatrix} 11 & 1 \\ 1 & 11 \\ \end{bmatrix} \\[20pt] AA^T = \begin{bmatrix} 3 & 1 & 1 \\ -1 & 3 & 1 \\ \end{bmatrix} \begin{bmatrix} 3 & 1 \\ -1 & 3 \\ 1 & 1 \\ \end{bmatrix} = \begin{bmatrix} 10 & 0 & 2 \\ 0 & 10 & 4 \\ 2 & 4 & 2 \\ \end{bmatrix}

AA^T의 고유값, 고유벡터, 행렬 U

\begin{vmatrix} 11-\lambda & 1 \\ 1 & 11 -\lambda \end{vmatrix}

A^TA의 고유값 고유벡터, 행렬 V^T

  1. 정리하면 다음과 같다.

기하학적 의미

특이값 분해를 기하학적으로 표현하면 다음과 같다.

양정치행렬

  • 행렬의 부호를 판단하는 방법
  • 행렬의 앞 뒤로 x들을 넣어준다 = 이차형식으로 만들어주기.
  • 행렬을 풀어 이차방정식으로 만든 뒤, 근의 공식으로 양정치행렬인지 판단한다.

유사역행렬 구하기

  • 무어-펜로즈 역행렬이라고도 한다.
  • 특이값 분해를 통해