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사이의 값을 넣어줌, 처음 랜덤으로 들어갔다가 학습하면서 발전해감