Singular value Decomposition (SVD)

2021. 5. 25. 16:43추천 시스템

- SVD란 행렬 분해라고 생각하면 됨.

- M은 아이템과 사용자를 둘 다 나타내는 행렬

- 행렬 분해를 통해 U는 아이템과 latent factor간의 관계를 나타내주는 행렬 (Singular vector)

- V*는 사용자와 latent factor간의 관계를 나타내주는 행렬 (Singular vector)

- 행렬 U와 V*의 모든 열벡터의 특이벡터는 서로 직교한다.

- 시그마는 잠재적 특징으로 (latent factor), U와 V*의 관계를 나타내줌

- 시그마는 대각행렬로, latent factor의 중요도 (얼만큼 관계를 잘 나타내는가)

- 시그마의 경우가 PCA (Pringcipal Component Analysis)에서 사용되는 차원축소 이기도 함 

- 시그마(latent factor)를 잘 형성해야 나중에 복원할 때 최대한 살릴 수 있음 **

- latent factor는 차원축소를 하기 때문에 추천에 대한 구체적인 설명은 어렵다.

 

 

- Other SVD

 1. SVD++

 2. thin SVD

 3. compact SVD

 4. truncated SVD, etc.....