ノート

勉強したことのまとめ

協調フィルタリングと内容フィルタリングについてのメモ

協調フィルタリング

wikipediaから

協調フィルタリング(きょうちょうフィルタリング、Collaborative Filtering、CF)は、多くのユーザの嗜好情報を蓄積し、あるユーザと嗜好の類似した他のユーザの情報を用いて自動的に推論を行う方法論である。趣味の似た人からの意見を参考にするという口コミの原理に例えられることが多い。

協調フィルタリング - Wikipedia

協調フィルタリングの種類

メモリベースの協調フィルタリング

各ユーザのデータベースを直接利用して,推薦を行う.

ユーザ $a,u$ の類似度はピアソン相関係数を用いて以下のように表すことができる

\begin{equation} Sim(a, u) = \frac{\sum_{i \in I(a) \cap I(u)}(r_{a, i}-\overline{r}_a)(r_{u, i}-\overline{r}_u)}{\sqrt{\sum_{i \in I(a) \cap I(u)}(r_{a, i}-\overline{r}_a)^2}\sqrt{\sum_{i \in I(a) \cap I(u)}(r_{u, i}-\overline{r}_u)^2}} \end{equation}

$I$ はアイテムの集合.
$r_{u, i}$ ユーザ $u$ のアイテム $i$ に対する評価.
$\overline{r}_u$ ユーザ $u$ の全体アイテムの平均評価.

モデルベースの協調フィルタリング

各ユーザのデータから何らかのモデル(確率モデル等)
を生成して,モデルに基づいて推薦する

内容ベースアルゴリズム

ユーザの購入履歴から,ユーザのプロファイルを作成し,それを元に比較する.

最もシンプルな方法は,
購入履歴を元にTFIDF等を用いて,ベクトル化する.
そのベクトルをコサイン類似度などを用いて比較する

gihyo.jp