Collaborative Filtering(CF, 협업 필터링)
- 유저들로부터 얻은 기호 정보를 이용해 유저의 관심사를 예측하는 방법
- 목적: 유저 u가 아이템 i에 부여할 평점을 예측하는 것
- User-Item matrix를 생성하고 유사도 기준을 정해 유사도 구하거나 평점을 예측
분류
- Neighborhood-based CF(Memory-based CF)
- User-based
- Item-based - Model-based CF
- Non-parametric(KNN, SVD)
- Matrix Factorization
- Deep Learning - Hybrid CF
- Content-based Recommendation과 결합
Neighborhood-based CF(NBCF)
구현이 간단하고 이해가 쉬움
한계점
- scalability & sparsity 문제가 존재
- 아이템에 대한 평점 예측을 위해서는 그 아이템을 평가한 모든 유저와의 유사도를 구해야 하는데 유저가 많아질 경우 연산 횟수가 늘어나고 오히려 성능이 떨어지기도 함
User-based CF(UBCF)
두 유저가 얼마나 유사한 아이템을 선호하는 지
Item-based CF(IBCF)
두 아이템이 유저들로부터 얼마나 유사한 평점을 받았는지 아이템간 유사도 구하고 타겟 아이템과 유사도 높은 아이템 중 선호도 큰 아이템 추천
K-Nearest Neighbors CF(KNN CF)
- 아이템에 대한 평점 예측시, 아이템을 평가한 모든 유저 데이터를 사용하지 않고 타겟 유저와 가장 유사한 K명의 유저만 이용해 평점 예측
- 유사도 측정 : Mean squared difference similarity, Cosine similarity, Pearson Similarity, Jaccard Similarity
Rating Prediction
- Average vs Weighted Average
- Absolute rating vs Relative Rating(use deviation)
Model Based Collaborative Filtering
- 항목 간 유사성을 단순 비교하는 것에서 벗어나 데이터에 내재한 패턴을 이용해 추천하는 기법
- Parametric Machine learning
- 장점
1) 모델 학습/빠른 서빙 속도
2) sparsity / scalability 개선
3) Overfitting 방지
4) Limited Coverage 극복
SVD(singular Vector Decomposition)
Rating Matrix를 user latent matrix, latent diagonal matrix, item latent matrix로 분해하는 기법
한계점
- 분해하려는 행렬이 불완전할 경우 정의되지 않음.
- 결측치를 채우는 과정이 필요하고
- 따라서 결측치가 많을 경우에는 데이터를 왜곡시키고 예측 성능을 떨어뜨림
MF(Matrix Factorization)
- User-Item rating matrix를 user latent matrix와 item latent matrix로 분해하는 방법
- SVD와의 차이점 : SVD는 모든 데이터를 모델링에 활용했으나 MF는 관측된 선호도(평점)만 모델링에 활용
ALS(Alternative Least Square)
- Implicit feedback을 다룰 수 있는 MF
- 기본 컨셉 : 유저/아이템 행렬 중 하나를 상수로 놓고 나머지 매트릭스를 업데이트
'네이버 부스트캠프 AI Tech > Recommendation System' 카테고리의 다른 글
[부스트캠프 AI Tech] Recommendation System with DL (0) | 2022.03.11 |
---|---|
[부스트캠프 AI Tech] Item2Vec and ANN (0) | 2022.03.11 |
[부스트캠프 AI Tech] 추천시스템 Basics (0) | 2022.03.11 |
댓글