Recomendation System

Latent Factor model

판교데싸 2023. 3. 7. 17:31

Latent Factor Model

  • 사용자/아이템 특성을 벡터로 간략화(요약) 하는 모델링
  • 사용자/아이템 특성 간 복잡한 관계를 학습 하고 factor로 나타내는 방법
  • 사용자와 아이템이 같은 vector 공간에 표현되고, 같은 벡터 공간에 사용자와 아이템이 가까우면 유사, 멀리 떨어져 있으면 유사 하지않은 것으로 판단

 

Singular Value Decomposition (SVD)

  • 쉽게 말해서 우리가 가진 행렬을 분해 -> 유저 / 아이템의 rating matrix를 분해하겠다는 뜻
  • 분해를 함으로서 얻을 수 있는 vector 값이 있는데 이것을 -> latent vector로 이해
  • 행렬 U는 user와 latent factor간의 관계 , 행렬 V는 item과 latent factor간의 관계
  • Latent factor는 user와 item이 공통으로 갖는 특징
  • 시그마 -> 대각행렬로, latent factor의 중요도

Matrix Factorization

  • Latent Factor Model을 구현하는 방법
  • Rating Matrix를 분해하는 과정
  •  

Matrix Completion 

  • SVD ( SVD++, thin SVD, compact SVD, truncated SVD, etc.. )

Loss Function

  • Latent factor(feature)를 학습한다

Optimization (loss function 최적화)

  • (Stochastic) Gradient Descent, Alternating Least Squares

 

정리하자면 matrix factorization은 matrix completion 문제이고 matrix completion을 풀기 위해서는 결론적으로 유저와 아이템 행렬을 분해해서 유저와 아이템을 K라는 latent factor로 표현하고 표현된 K 라는 latent factor들이 user와 item의 관계를 설명하므로 K라는 latent factor를 얼마나 잘 만드냐에 따라서 최종적으로 원래 가지고 있던 origin rating과 예측 rating의 차이가 줄어듦, 해당 loss 값을 줄이는 과정이 latent factor를 학습하는 과정이고 해당 학습을 최적화 하기위해서 Optimization을 사용함

 

반응형

'Recomendation System' 카테고리의 다른 글

Matrix Factorization 적용 - SGD , ALS  (0) 2023.03.07
Association Rules + FP Growth  (0) 2023.03.07
추천 시스템 설계 구성안 (Tmall)  (0) 2022.09.22
Collaborative Filtering  (0) 2021.06.17
반응형