SVD는 정말 유용하게 쓰이는 matrix decomposition 기법 중 하나이다.
특히나 over-determined system의 해를 구할 때 많이 사용된다.
SVD란, 어떤 square matrix $A$ 행렬이 주어졌을 때 $A$를 $UDV^T$로 factorization하는 과정을 의미한다.
(이 때 $U, V$는 orthogonal matrix 이며, $D$는 non-negative entry를 갖는 diagonal matrix이다.)
또한 D의 대각 성분들은 descending order를 따른다.
(descending order가 아닌 방법으로 factorization 하는 방법도 있지만 여기서는 항상 descending order를 따른다고 가정한다.)
SVD는 non-square matrix 에도 적용될 수 있다. (특히 row > col의 경우)
$A$가 non-square matrix이고, $m \times n$ 의 크기를 가진다고 하자. ($m \geq n$)
$A$에 SVD를 적용하게 되면, 동일하게 $UDV^T$ 꼴로 분해가 된다.
이 때, $U$는 $m \times n$, $D$는 $n \times n$, 그리고 $V$는 $n \times n$의 크기를 각각 갖는다.
$D$는 여전히 diagonal matrix이고, $V$ 또한 여전히 orthogonal matrix 이지만, $U$는 square matrix가 아니기 때문에 더 이상 orthogonal matrix가 아니고, orthogonal column을 갖는 matrix 라고 부른다.
여기서 orthogonal column을 갖는다는 말은 $U^TU = I_(n \times n)$이다.
하지만 $UU^T$는 identity가 아니다. ($m = n$ 인 경우가 아니면)
추가적으로 $U$는 norm preserving property를 갖는다.
(모든 벡터 $x$에 대해서 $||Ux|| = ||x||$)
당연히 col > row 인 non-square matrix에도 SVD를 적용할 수는 있다.
하지만 자주 사용될 일이 없기 때문에 넘어간다.
'Subjects > Linear algebra' 카테고리의 다른 글
[선형대수학] Keywords (0) | 2022.04.23 |
---|---|
[선형대수학] Eigen Vector / Value (0) | 2020.11.04 |