Collaborative Filtering
나(activate user)와 취향이 비슷한 사람들(collaborate)들이 공통적으로 좋아할 만한 아이템을 추천한다.
Data 표현 : Rating Matrix
Rating matrix를 이용하여 데이터를 표현할 수 있다.
row : user, column : item으로 하여 user가 item을 좋아하는 점수를 표현한다.
구매 이력이 없는 경우 rating을 할 수 없기 때문에 empty(missing rate)로 남긴다.
알고리즘
- Neighbor 찾기 : active user c와 취향이 비슷한 user group(neighbor)을 찾는다.
- $r_{c, s}$ 추정 : 이웃들의 점수에 기반해서 내가 그 아이템에 점수를 어떻게 줄 것인지 추정한다.
- 추천 : 가장 높은 몇개의 estimated rated item을 추천한다.
CF Methods
Heuristic based
Similarity를 이용하여 neighbors을 찾는다.
다양한 similarity를 이용할 수 있다.
- PCC(Pearson correlation coefficient)
- Cosine similarity : 공통으로 존재하는 item의 차원에서 방향을 고려하여 similairty를 계산한다.
- Aggregation
- 취향이 비슷한 neighbor들의 통계를 이용한다.
- 평균(a), weighted sum(b), 평균과의 차이의 합(c) 등을 이용할 수 있다.
Machine Learning based Method
- matrix(tensor) factorization
- 나눈 후 다시 곱했을 때 원본과 유사해지도록 하는 factor($f$)를 골라 matrix를 쪼갠다.
- 나눠진 user feature과 item feature을 다시 곱하면 몰랐던 정보를 알 수 있다.
- social network analysis : user와 item을 node로 표현해서 user가 item을 사면 edge로 연결한다.
- deep learning
'Computer Science > Data Science' 카테고리의 다른 글
추천 시스템 (Recommendation System) (0) | 2022.06.13 |
---|---|
[Social Network] PageRank (0) | 2022.06.13 |
[Social Network] HITS (0) | 2022.06.13 |
[Social Network] Social Network Mining (Link Mining) (0) | 2022.06.13 |
[Social Network] Social Network Generation (0) | 2022.06.13 |
댓글