Approaches to Collaborative Filtering ¶
problem space가 2차원 matrix 의 형태를 생각해본다. 행에 대해서는 item을, 열에 대해서는 user를 두고, 그에 따른 rating 을 값으로 둔다. 이 matrix 를 이용,
CollaborativeFiltering 은 특정 사용자(user) i 에 대해서 rating 을 예측하고, item 들을 추천한다.
보통 다음의 과정을 가진다.
- user인 i 와 비슷한 흥미나 선호도를 가지는 사용자 집합(user set)을 선택한다.
- 1 에서 선택된 user set 으로부터 user i 에게 적합한 추천 item 을 예측해낸다.
ex) 이 user set 에서 item j 에 대해서 높은 점수 (rating)을 주었을 경우, user i 에게 item j 를 추천한다.
Algorithms ¶
- 현재 이용중인 user 와 비슷한 취향의 사용자 집합을 선택 - calculate user correlation
- 1에서 선택된 사용자 집합중 예측을 위한 부분집합 선택 - neighbourhood selection
- 선택된 neighbours 들과 자료를 근거로 예측 - generate a prediction
Calculate user correlation ¶
- Pearson correlation
- Constrained Pearson correlation
- The Spearman rank correlation
- The Vector similarity
- Emtropy-based uncertainty measure
- Mean-square difference algorithm
Neighbourhood Selection ¶
- Correlation thresholding
- Best-n correlations
Metrics ¶
CollaborativeFiltering 의 유용성을 평가하는 기준.
- Coverage - 시스템이 추어진 item으로부터 추천 item 을 제공해주는 능력. (아마도 추천item품목수/전체item품목수 에 대한 퍼센트이려나. 수정 필요)
- Accuracy - 시스템이 추천한 item 에 대한 정확성 (추천 item에 대한 사용자의 점수)