Collaborative Filtering

2024. 1. 31. 15:44NAVER AI Tech/Movie Recommendation

CF(Collaborative Filtering) : matrix completion task.

- 단, sparse matrix를 다루기 위한 추가적인 방법이 필요하긴 함.

CF란? 행렬 빈칸 채우기!

Memory-based CF : 사용자 또는 아이템간 유사도를 바탕으로 rating prediction 또는 top-K ranking에 활용.

- 유사도 지표로는 Jaccard, Cosine, Pearson 등이 있다.

- item to item CF / user to user CF 등 상품끼리 혹은 유저끼리 유사도를 비교.

**아마존에서 발표한 Two Decades of Recommender Systems at Amazon.com, Simth and Linden,2017 논문을 살펴보자. 현재까지도 Memory-based CF 모델을 사용하여 상품추천한다.

 

Model-based CF(=Latent Factor Models) : 사용자 또는 아이템은 Latent Factor로 잘 표현하기 위해 학습을 진행.

- Latent Factor는 이미지에서 Feature 추출, 자연어 처리에서 Topic Modeling에도 쓰이는 개념.

- 행렬 분해를 통해 예측을 수행 and 정답과 비교(=loss 생성)

 

 

 

User-free Model-based Approaches

- 말 그대로 user feature를 사용하지 않음. 제거해버림.

- 사용자의 아이템 사용 이력과 Weight의 곱으로 f(u,i)를 표현. (memory-based와 유사하지만 유사도 지표를 metric이 아니라 weight로 표현했다는 점에서 '학습'이 가능함)

 

장점

1. 새로운 사용자에 대해 재학습 없이 inference가 가능함

2. 또는 이력이 거의 없는 사용자에 대해서도 대응이 가능함.

3. Sequence 문제에 대응 가능함.

 

대표적인 모델

1. SLIM : Sparse Linear Methods for Top-N Recommender Systems(Ning and Karypis, 2011)

2. FISM : Factored Item Similarity Model(Kabbur et al., 2013)

    - 사용자가 사용했던 다른 아이템으로부터 aggregation한 값을 사용자 feature로 대체한다.

    - 데이터셋이 sparse할 수록 성능 향상 폭이 큼.

 

 

CF와 무관한 user-free 모델

1. AutoRec(Sedhain et al., 2015)

2. Item2vec(Barkan and Koenigstein, 2016)

3. Sequential Recommendation Models