특이값 분해(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*}
계산방법
- 행렬 A가 주어지면, 대칭행렬 A^TA와 AA^T를 만든다.
- AA^T에서 고유값과 고유벡터를 구한다. 고유벡터를 정규화한 뒤 모아 행렬 U를 만든다.
- A^TA에서 고유값과 고유벡터를 구한다. 고유벡터를 정규화한 뒤 모아 행렬 V^T를 만든다.
- AA^T의 고유값의 제곱근을 대각원소로 하는 행렬 \Sigma를 만든다.
- 각 행렬들을 모은다.
예시
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
- 정리하면 다음과 같다.
기하학적 의미
특이값 분해를 기하학적으로 표현하면 다음과 같다.
양정치행렬
- 행렬의 부호를 판단하는 방법
- 행렬의 앞 뒤로 x들을 넣어준다 = 이차형식으로 만들어주기.
- 행렬을 풀어 이차방정식으로 만든 뒤, 근의 공식으로 양정치행렬인지 판단한다.
유사역행렬 구하기
- 무어-펜로즈 역행렬이라고도 한다.
- 특이값 분해를 통해