👥
協調フィルタリング
「あなたと趣味が似た人がこれを好んだ」
推薦システムの元祖だ。1990年代から使われ、今でも多くのサービスの基盤となっている。
User-based CF
似た評価パターンを持つユーザーを見つけ、そのユーザーが好んだアイテムを推薦する。直感的だが、ユーザー数が増えると計算コストが爆発する。
Item-based CF
アイテム間の類似度を事前計算しておく。「この映画を見た人はあの映画も見た」パターン。Amazonが初期にこれで大成功した。ユーザー数よりアイテム数の方が安定しているため、スケーリングに有利。
CFの根本的な限界はコールドスタートだ。新しいユーザーやアイテムには行動データがないため推薦できない。これを補うにはContent-basedやハイブリッド方式が必要だ。
動作原理
1
ユーザー-アイテム相互作用マトリクスを構築
2
ユーザー間またはアイテム間の類似度計算(コサイン、ピアソン)
3
類似ユーザー/アイテムの評価を加重平均で予測
4
予測スコア基準で上位N件を推薦
メリット
- ✓ ドメイン知識なしで動作する
- ✓ 実装がシンプルで直感的
デメリット
- ✗ コールドスタート問題(新規ユーザー/アイテム)
- ✗ スパースマトリクスで性能低下
ユースケース
初期Netflixの推薦エンジン
Amazon「この商品を買った人はこんな商品も買っています」