13 Matrix Factorization
13.1 Matrix vs. Linear Transformation
다음은 를 의 새로운 공간으로 보내는 mapping 예시다.

이러한 변환 행렬은 정사각형을 사다리꼴로 변형시키는 것을 볼 수 있다. 이외에도 Linear tranform은 회전 변환이나 stretching도 가능하다.
- rotation
- stretching

13.2 Eigenvalues, Eigenvectors
다음은 여러 벡터에 linear transform를 적용한 전과 후를 비교한 그림이다.
| 변환 전 | 변환 후 |
|---|---|
![]() |
![]() |
초록색과 빨간색 벡터는 변환 후 방향이 변하지 않았다. 이러한 벡터를 eigenvector라고 한다. 이때 바뀐 길이를 eigenvalue라고 한다.
eigenvector는 모두 수직으로 만난다.
개의 eigenvalues가 있고, 대응하는
개의 (normalized) eigenvectors가 있다고 하자.
-
: eigenvalues
-
eigenvectors
임의의 행렬(linear transform)에 대해 eigenvector, eigenvalue를 구할 것이다.
변환 후 벡터의 방향은 동일하고 길이만 바뀐다면, 수식은 다음과 같다.
이러한 일차 연립방정식이 무한히 많은 해를 가지려면, determinant는 0이어야 한다.
eigenvector는 방향을 의미하기 때문에 과 같이 표기한다. (편의상 길이=1인 unit vector로 표현)
다음은 eigenvalue, eigenvector의 주요 성질이다.
-
Eigenvector는 서로 직교한다.
-
가 행렬이면, 개의 eigenvalue와 eigenvector를 가진다. (이때 eigenvalue가 0일 수 있다.)
-
가 대칭행렬(symmetric matrix)이면, 모든 eigenvalue는 non-negative이다.
13.3 Singular Value Decomposition (SVD)
다음은 개의 eigenvectors를 column으로 모은 행렬이다.
-
(normalized) eigenvector 길이가 1이므로, 각 column의 길이는 모두 1이다.
-
eigenvector는 서로 직교하므로, 모든 column은 서로 수직 관계이다.
따라서 벡터는 orthogonal matrix(직교 행렬)이다. ( )
이어서, 행렬 에 벡터를 곱해보자.
이처럼 대각선으로만 eigenvalue 가 존재하는 행렬로 decomposition된다. ( )
Notes: 이처럼 square matrix(정방 행렬)은 세 개의 행렬로 decomposition할 수 있다.
- : invertible
13.3.1 SVD for Non-square Matrix
수학적 증명은 다소 복잡하기 때문에 직관적인 설명으로 살펴보자.
- 가 정방 행렬이 아니더라도, 와 는 정방 행렬이다. (즉, decomposition 가능)
- 라고 하자. ( where )
이에 대해 를 계산하면 다음과 같다.
- 값은 와 동일하다. (자세한 증명은 생략)
정리하자면, 정방 행렬이 아닌 도 형태로 분해할 수 있다.
행렬의 대각선 element를 singular value(특이값)라고 지칭한다.

