Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

CollaborativeFiltering

From ZeroWiki

협업 (상호협동) 필터링, Recommender System이라고도 불림. ProjectPrometheus에서 사용한다.

Approaches to Collaborative Filtering

problem space가 2차원 matrix 의 형태를 생각해본다. 행에 대해서는 item을, 열에 대해서는 user를 두고, 그에 따른 rating 을 값으로 둔다. 이 matrix 를 이용, CollaborativeFiltering 은 특정 사용자(user) i 에 대해서 rating 을 예측하고, item 들을 추천한다.

보통 다음의 과정을 가진다.

  1. user인 i 와 비슷한 흥미나 선호도를 가지는 사용자 집합(user set)을 선택한다.
  2. 1 에서 선택된 user set 으로부터 user i 에게 적합한 추천 item 을 예측해낸다.
   ex) 이 user set 에서 item j 에 대해서 높은 점수 (rating)을 주었을 경우, user i 에게 item j 를 추천한다.

Algorithms

  1. 현재 이용중인 user 와 비슷한 취향의 사용자 집합을 선택 - calculate user correlation
  2. 1에서 선택된 사용자 집합중 예측을 위한 부분집합 선택 - neighbourhood selection
  3. 선택된 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

Generate a prediction

Metrics

CollaborativeFiltering 의 유용성을 평가하는 기준.

  • Coverage - 시스템이 추어진 item으로부터 추천 item 을 제공해주는 능력. (아마도 추천item품목수/전체item품목수 에 대한 퍼센트이려나. 수정 필요)
  • Accuracy - 시스템이 추천한 item 에 대한 정확성 (추천 item에 대한 사용자의 점수)

관련 자료들

개론

Link 모음

구현 시스템 예/논문