
10.3
MovieLens
データセット
219
難しいのだ。ユーザの挙動と嗜好を大量に集めて分析し、それに基づいて予測するほうがはるかに簡
単だ。このため、協調フィルタリングのほうがはるかに広く用いられている。本書でも協調フィルタリ
ングを用いた推薦システムを用いる。
協調フィルタリングは、対象となるアイテム自体に関する知識を必要としない。協調フィルタリング
は、過去においてあることに合意した
2
人のユーザが未来においても合意することと、ユーザの嗜好が
時間が経っても変わらないことを仮定する。あるユーザと別のユーザの類似度をモデル化することで、
強力な推薦を行うことができる。また、協調フィルタリングは明示的データ(例えばユーザの映画に対
する評価など)に依存しない。協調フィルタリングは、あるページを訪れた頻度や特定のアイテムに対
するクリックの数などの非明示的データを使うことができる。例えば
Netflix
は、かつてはユーザに映
画に評価付けすることを求めていたが、現在では、ユーザの非明示的な挙動に基づいて、ユーザの嗜
好を推定している。
しかし協調フィルタリングには固有の難しい点がある。まず、良い推薦を行うには大量のデータが必
要となる。次に、計算量が非常に多い。さらに、ユーザはすべてのアイテムの中のごく一部に対してし
か嗜好を示さないので、データセットは一般に非常にスパースになる。しかし、十分なデータさえあれ
ば、スパースなデータでも効率的に問題を解く方法がある。本章ではその方法を紹介する。
10.2.2