이 글은 부스트캠프 AI Tech 3기 강의를 듣고 정리한 글입니다.
앞서 배운 Neighborhood-based CF(UBCD, IBCF, KNN-CF) 는 두가지 큰 문제점이 있다.
Sparsity(희소성)문제
데이터가 불충분 하다면 추천 성능이 떨어진다 (유사도 계산이 부정확해지기 때문에)
신규유저,아이템 처럼 데이터가 부족하거나 없는 경우 추천이 불가능(Cold Start Problem)
Scalability(확장성)문제
그동안 배운 Memory-based CF는 (유저간 or 아이템간) 유사성을 단순 비교하는 하였다.
이와 다르게 Model-based CF는 데이터에 내재된 패턴을 이용하여 추천하는 CF기법이다.
내재된 패턴을 학습하기 때문에 ML 이 가능해지며 큰 발전이 이뤄지고 있다.
Model Based CF는 Parametric Machine Learning 사용하여 주어진 데이터를 모델학습시킨다.
그 결과 데이터는 파라미터 형태로 모델에 압축되게 되고 이 파라미터는 데이터의 패턴을 나타내게된다. 이후 최적화를 통해 지속적으로 모델과 파라미터(데이터의 패턴)을 업데이트 시킨다.
Model Based CF의 특징
Model Based CF의 장점
모델 학습/서빙 용이
Sparsity / Scalability 문제 개선
Overfitting 방지
Limited Coverage 극복
Explicit feedback
Implicit feedback
Latent Factor Model 이란 유저와 아이템의 관계를 잠재적 요인(Latent Factor)으로 표현할 수 있을 것이라는 아이디어에서 출발한 모델이다.
이 모델들은 User-item Matrix 를 저차원의 행렬로 분해하는 방식으로 작동한다. 행렬의 차원축소이기 때문에 각 Latent Factor가 무엇을 의미하는지 표면적으로 explicit하게 알 수 없다.
같은 벡터공간에서 유저와 아이템의 벡터 유사도를 확일 할 수 있고, 이를 통해 추천이 진행된다.
Latent Factor Model의 대표적인 기법들