협업 (상호협동) 필터링, 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 모음
구현 시스템 예/논문
Retrieved from http://wiki.zeropage.org/wiki.php/CollaborativeFiltering
last modified 2021-02-07 05:22:57