추천시스템 _4

ilysm96·2023년 5월 18일
0

Latent Factor Model (모델 기반, 즉 학습을 함, 사용자와 아이템의 잠재적 벡터)

  • 사용자/ 아이템 특성을 벡터로 요약하는 모델링
  • 사용자/ 아이템 특성 간 복잡한 관계를 학습
  • 사용자/ 아이템 행렬에서 사용자와 아이템을 factor로 나타내는 방법
  • 사용자와 아이템이 같은 vector 공간에 표현 # 사용자 아이템의 잠재적인 벡터가 나옴, 사용자와 아이템이 둘 다 10이라고 하면 같은 공간안에 표시해서 볼 수가 있음
  • 사용자와 아이템을 모르는 차원에 표현하고, 몇 개의 차원인지 모른다
  • 같은 벡터 공간에서 사용자와 아이템이 가까우면 유사, 멀리 떨어져있으면 유사하지 않음

벡터를 기반으로 같은 공간안에 표현, 거리가 가까운 벡터끼리 비교 가능

Singular Value Decomposition

  • SVD로 행렬을 뽑을 수 있고 영화와 사용자의 잠재적인 벡터를 뽑을 수 있다.
  • mxm 행렬을 작은 차원의 행렬로 분해할 수 있기에 차원축소 기법이라고 함.
  • latent vector - 잠재적인 벡터를 뽑는 것이 목표, 이를 달성하기 위해 SVD 실시 중 나누어지는 것에 잠재 벡터 U가 나옴

Truncated SVD

시그마의 일부만 사용

Matrix Factorization

행렬을 두개로 나눔
1. 유저 latent vertor가 담긴 행렬 = P
2. 무비 latent vertor가 담긴 행렬 = Q

SVD 행렬 2개로 나누기

  • 원래 행렬 mxn 행렬
  • 행렬 U와 시그마를 곱해주면 3개말고, 2개로 나눌 수 있음

Matrix Factorization - Objective Function

Matrix Factorization - Optimization

Factorization Machine

y에 평점을 넣음


DFM

임베딩 - sparse한 데이터에 dense하게 0~1사이의 값을 넣어줌, 처음 랜덤으로 들어갔다가 학습하면서 발전해감

profile
안녕하세요 반갑습니다!

0개의 댓글