👥

協調フィルタリング

「あなたと趣味が似た人がこれを好んだ」

推薦システムの元祖だ。1990年代から使われ、今でも多くのサービスの基盤となっている。

User-based CF

似た評価パターンを持つユーザーを見つけ、そのユーザーが好んだアイテムを推薦する。直感的だが、ユーザー数が増えると計算コストが爆発する。

Item-based CF

アイテム間の類似度を事前計算しておく。「この映画を見た人はあの映画も見た」パターン。Amazonが初期にこれで大成功した。ユーザー数よりアイテム数の方が安定しているため、スケーリングに有利。

CFの根本的な限界はコールドスタートだ。新しいユーザーやアイテムには行動データがないため推薦できない。これを補うにはContent-basedやハイブリッド方式が必要だ。

動作原理

1

ユーザー-アイテム相互作用マトリクスを構築

2

ユーザー間またはアイテム間の類似度計算(コサイン、ピアソン)

3

類似ユーザー/アイテムの評価を加重平均で予測

4

予測スコア基準で上位N件を推薦

メリット

  • ドメイン知識なしで動作する
  • 実装がシンプルで直感的

デメリット

  • コールドスタート問題(新規ユーザー/アイテム)
  • スパースマトリクスで性能低下

ユースケース

初期Netflixの推薦エンジン Amazon「この商品を買った人はこんな商品も買っています」