協調フィルタリング(Collaborative Filtering)は、ユーザーの行動履歴や評価データから「似ているユーザー/アイテム」を見つけて推薦を行う手法
基本の考え方自体はシンプルで
「あなたと似た行動をしている人が好きなものは、あなたも好きな可能性が高い」
「あなたが好きなアイテムに似たアイテムは、他にも好きになる可能性が高い」
というもの。
アルゴリズムはメモリベースとモデルベースに大別される
メモリベース法(memory-based method, instance-based method)
ユーザーベース:ユーザの類似性に注目する
アイテムベース:アイテムの類似性に注目する
モデルベース法(model-based method):ユーザの嗜好をモデル化して推薦
メモリベース法¶
推薦の都度リアルタイムに類似度を計算する方法は メモリベース法(memory-based method) あるいは 事例ベース法(instance-based method) と呼ばれる。
ユーザーベース協調フィルタリング¶
ユーザーと似たユーザーがアイテムに与えた評価に基づいて、ユーザーがまだ評価していないアイテムに与えるレイティング(またはscore)を予測する
:アイテム を評価したユーザでユーザ に類似するユーザの集合
:ユーザの評価に対する重み
はユーザの他のアイテムへの平均レイティング
ユーザ に類似するユーザの集合を定義する方法は、最も単純なのはピアソンの相関係数を使って近傍の人を選択するもの
アイテムベース協調フィルタリング¶
ユーザーへのアイテムの推薦に使うスコアの推薦について、
あるアイテムに似ているアイテムたちへのユーザーの過去の応答をもとにを推定する
モデルベース法¶
観測データの規則性を学習したモデルを事前に用意しておく方法を モデルベース法(model-based method) という。
モデルには
クラスタリング
回帰・分類・ランキング問題として評価値を予測するモデル
トピックモデル
LDA(Latent Dirichlet Allocation)などで評価値行列を次元削減し、嗜好を表現する情報を獲得する
行列分解(Matrix Factorization)
評価値行列をユーザー行列とアイテム行列に分解し、ユーザーベクトルとアイテムベクトルの類似度で予測評価値を計算する
など様々なモデルが使われる。
データ数¶
田村幸之介, & 松原仁. (2008). 協調フィルタリングにおけるデータの必要数の分析 (Doctoral dissertation, Future University Hakodate).
ユーザーベースの手法であるGroupLensを使った。
データ数を減らしながら精度の変化を見たところ、最低でも8万レコードほしいという結果に