유저 u가 아이템 i에 부여할 평점을 예측하는 것
유저 A와 비슷한 취향을 가진 유저들이 선호하는 아이템을 추천
-> 아이템이 가진 속성을 사용하지 않으면서도 높은 추천 성능을 보임
Neighborhood-based CF(Memory based CF)
Model based CF
Hybrid CF
NBCF 한계
- 아이템이나 유저가 계속 늘어날 경우 확장성이 떨어진다 (Scalability)
- 주어진 평점/선호도 데이터가 적을 경우, 성능이 저하된다 (Sparsity)
Cosine Similarity
Jacccard Similarity
항목 간 유사성을 단순 비교하는 것에서 벗어나 데이터에 내재한 패턴을 이용해 추천하는 CF 기법
- Parametric Machine Learning을 사용
- 주어진 데이터를 사용하여 모델을 학습
- 데이터 정보가 파라미터의 형태로 모델에 압축
- 모델의 파라미터는 데이터의 패턴을 나타내고, 최적화를 통해 업데이트
데이터에 숨겨진 유저 아이템 관계의 잠재적 특성/패턴을 찾음
현업에서는 Matrix Factorization 기법이 가장 많이 사용된다고 함 (+ DL)
장점
1. 모델 학습 서빙
유저와 아이템 관계를 잠재적 요인으로 표현할 수 있다고 보는 모델
유저 아이템 행렬을 저차원의 행렬로 분해하는 방식으로 작동
같은 벡터 공간에서 유저와 아이템 벡터가 놓ㅇ힐 경우 유저와 아이템의 유사한 정도를 확인할 수 있음
Rating Matrix R에 대해 유저와 아이템의 잠재 요인을 포함할 수 잇는 행렬로 분해
한계
1. Sparse한 데이터에 대해서 결측된 entry를 모두 채우는 inputation을 통해 dense matrix를 만들어주게 되는데 데이터의 양이 상당히 많아져 computation비용이 높아지고 부정확한 imputation은 데이터를 왜곡시켜 예측 정확도를 떨어뜨린다.
2. 행렬의 entry가 적을 때 SVD를 적용하면 과적합 되기 쉽다
SVD의 원리를 차용하되 다른 접근 방법 -> MF의 등장
User-Item 행렬을 저차원의 User와 Item의 latent factor 행렬의 곱으로 분해하는 방법
SVD의 개념과 유사하나, 관측된 선호도(평점)만 모델링에 활용하여, 관측되지 않은 선호도를 예측하는 일반적인 모델을 만드는 것이 목표
Rating Matrix를 P와 Q로 분해하여 R 과 최대한 유사하게 을 추론(최적화)
Objective Function
Regularization이란?
weight를 loss function에 넣어주면 weight가 너무 커지지 않도록 제한이 거렬 overfitting 방지
MF에서 이미지적으로 이해하기는 쉽지 않은 것 같다.
또 다양한 MF + 가 많아 각각에 맞는 Objective Function을 구현하는 것을 목표로 해야할 듯 하다.
참고
모든 자료는 부스트캠프 AI Tech교육 자료를 참고