모델 기반 협업 필터링 (Model Based Collaborative Filtering, MBCF) : 단순히 항목간의 유사성만을 비교하는 것이 아닌 데이터에 내재한 패턴을 이용해 추천하는 CF 기법
-> 데이터에 숨겨져 있는 유저-아이템 관계의 잠재적 패턴을 찾아 이를 파라미터에 반영하는 것
Latent Factor Model : 유저와 아이템 관계를 잠재적 요인으로 표현할 수 있다고 보는 모델
2. Singular Value Decomposition (SVD)
Singular Value Decomposition (SVD) : 2차원 (user, matrix) 행렬을 latent벡터를 표현할 수 있는 행렬로 분해하는 기법
분해해야 하는 User item matrix의 knowledge가 불완전할 때 작동하지 않는다.
-> 결측된 원소를 0 혹은 유저/아이템의 평균으로 채우게 된다. 그러나 이 과정에서 데이터 양이 증가되므로 비효율적
3. Matrix Factorization (MF)
Matrix Factorization(MF) : 유저-아이템 행렬을 저차원의 유저 행렬과 latent 행렬의 곱으로 분해
-SVD와 유사하지만 MF는 채워져 있지 않은 선호도를 강제로 imputation 하지 않고, 오로지 관측된 선호도를 활용하여 관측되지 않은 선호도를 예측
기본 MF 모델
R≈P×QT=RP→∣U∣×kQ→∣I∣×k
-> R과 최대한 유사한 R hat이 생성되도록 user matrix와 item matrix를 학습
확률적 경사하강법 (SGD) 로 파라미터를 업데이트한다.
Adding
Biases : 유저 혹은 아이템에 발생할 수 있는 편향을 추가하여 예측 성능을 높일 수 있다.
Confidence : 모든 데이터가 동일한 신뢰도를 갖지 않기 때문에 때로는 신뢰도가 높은 데이터를 더 많이 학습하게 한다.
Temporal Dynamics : 시간의 흐름에 따라 유저와 아이템의 특성을 다르게 반영한다.
4. Implicit Feedback
Alternative Least Square (ALS) : 유저 매트릭스와 아이템 매트릭스를 번갈아 가며 한 쪽을 상수 취급해서 업데이트, SGD보다 빠르고 채워져 있지 않은 데이터를 더 잘 학습
Implicit Feedback을 고려한 MF 모델
기존의 아이템은 rating만 고려한 반면에 implicit feedback은 rating을 Preference, Confidence 두 가지로 나눈다.
Preference : 유저가 아이템을 선호하면 0, 선호하지 않으면 1로 binary 표현
Confidence : 유저가 아이템을 얼마나 선호하는지 나타내는 증가함수
목적 함수
-유저와 아이템의 내적값은 Preference값(0,1) 을 예측하게 된다.
-Rating이 높을 경우에는 Confidence가 높기 때문에 해당 데이터에 대해 예측이 좀 더 정확해지도록 학습