The Beautiful Future

SVD ( Singular Value Decomposition ) 본문

수학

SVD ( Singular Value Decomposition )

Small Octopus 2014. 7. 24. 13:36

- 매트릭스 이해

Ax = b 라는 식을 보면 x가 A라는 변환을 거쳐 b가 된다. 모든 실수벡터 x에 대해 A라는 변환이 수행되어 형성 된 모든 b의 집합은  어떤 공간을 이룬다. 그럼으로 이 공간은 A라는 매트릭스가 정의 되면서 A이 자체에 종속적인 공간이 된다. 이 공간의 기저를 구하려면 A의 아이겐 밸류를 구하고 이에 대응하는 아이겐 벡터를 구하면 된다. A의 특성은 곧, 아이겐 벡터와 아이겐 밸류이기 때문에 A를 아이겐 벡터와 아이겐 밸류로 나타내는 것이 직관적이고 여러 연산에 사용하기도 편하다. A를 A의 아이겐 벡터와 아이겐 밸류로 나타내는 과정은 EVD( Eigen Value Decomposition)이다. 


- EVD 와 SVD 연관성(wikipedia)

EVD는 m x m 정방매트릭에만 적용되는 한계가 있다. m x n 매트릭스에 적용 될 수 있는일반화된 EVD가 SVD이다. EVD와 SVD는 계산 방법부터 아예 다르지만 서로 연관성이 있어서 EVD를 계산을 통해 SVD를 계산 할 수 있다. 이 연관성은 아래의 수식이 성립한다는 것이다.

1. 의 columns은 의 right-singular vector이면서 의 eigen vector이다.

2. 의 columns은 의 left-singular vector이면서 의 eigen vector이다.

3. 의  singular values()의 제곱은 또는  의 영을 제외한 eigen values와 같다.


이 normal matrix (,)인 경우는 좀 특별하다. M이 D (diagoanl matrix)와 U (unitary matrix,)로 아래 수식처럼 분해되고, 이때 M이 positive semi-definite이면 EVD와 SVD는 같다. singular values와 eigen values의 절대값이 같기 때문에 positive semi-definite 일때만 EVD와 SVD가 일치한다.

이 경우를 제외한 모든 경우의 M에 대하여 EVD와 SVD는 다르다. EVD에서 U는 unitary일 필요가 없고 D는 positive semi-definite일 필요가 없지만 SVD는 U와 V가 unitary여야 하고 D는 positive semi-definite여야 하기 때문이다.


- Visualization( wikipedia )

아래의 그림은 shearing matrix를 SVD한 후 SVD의 각 요소가 어떤 변환을 가져다 주는지 보여준다. 


U와 V는 unitary matrix이기 때문에 곱해도 크기가 안변한다.

이차원에서는 회전이고 이차원 이상에서는 방향만 바꿔준다. U와 V의 회전 크기는 다르다. EVD에서는 U와 inverse U로 이뤄져있기때문에  회전크기가 같으나 U가 unitary matrix일 필요는 없다.


는 diagonal matrix이기때문에 스케일링만한다.












'수학' 카테고리의 다른 글

Incremental Least Square Method  (0) 2016.01.11
Positive Definite Matrix  (0) 2016.01.08
PCA sine curve example using OpenCV  (0) 2015.12.29
기하 변환 (Geometric Transformation)  (0) 2015.12.08
조건부 확률(Conditional Probability)  (0) 2015.07.14
Comments