推薦システムに関する私のシリーズのパート2です。 前回はRecSysの紹介でした。 今日は、3つのタイプのCollaborative Filteringについて、より詳しく説明します。
始めましょう。
私たちが友人のスタンレーに映画を薦めたいとします。 同じような人は同じような趣味を持っていると考えることができます。 私とスタンレーは同じ映画を見たことがあり、どれもほとんど同じように評価したとします。 しかし、スタンレーは「ゴッドファーザー」を見ていない。 しかし、スタンレーは『ゴッドファーザーPart II』を観ておらず、私は観たとします。 私がその映画を好きなら、彼も好きだと考えるのは論理的におかしい。 UB-CF では、このロジックを利用して、アクティブなユーザー(映画を薦めようとしているユーザー)に類似したユーザーを見つけることで、アイテムを薦めるようにしています。 この具体的な応用として、ユーザーベースの Nearest Neighbor アルゴリズムがあります。 このアルゴリズムは2つのタスクを必要とする:
1.Find the K-nearest neighbors (KNN) to the user a, using a similarity function w to measure the distance between each pair of users:
2.Use: KNN (K-nearest Neighbor).k人の隣人が消費したが、a人が消費していないすべてのアイテムに対して、ユーザーaが与える評価を予測する。
言い換えれば、我々はユーザー-アイテムマトリックスを作成し、他の類似したユーザーに基づいて、アクティブなユーザーが見ていないアイテムの評価を予測しているのである。 この手法はメモリベースです。
PROS:
- Easy to implement.
- コンテキストに依存しない。
- コンテンツベースなどの他の手法と比較して、より正確。
CONS:
- Sparsity: アイテムを評価する人の割合が本当に少ない。
- Scalability: ある閾値の下で)より多くの K 近隣を考慮すればするほど、私の分類はより良くなるはずです。 とはいえ、システム内のユーザーが多ければ多いほど、最も近い K 近隣を見つけるコストは大きくなります。
- Cold-start。 新しいユーザーは、他のユーザーと比較するための情報を全く持っていない、あるいはほとんど持っていない。
- 新しいアイテム:最後のポイントと同様に、新しいアイテムは、強固なランキングを作成するための評価が不足しています(これについては「アイテムの並べ替えとランク付けの方法」で詳しく説明します)
Item-Based Collaborative Filtering (IB-CF)
Back to Stanley.Of.Pirates (IB-CF):スタンレーに戻ります。 彼の友人に焦点を当てる代わりに、すべての選択肢の中から、彼が楽しんでいることがわかっているものに近いアイテムに焦点を当てることができます。 この新しい焦点は、アイテム ベース協調フィルタリング (IB-CF) として知られています。
私たちは、IB-CF を 2 つのサブタスクに分けることができます。項目間の類似度を計算する:
- コサインベースの類似度
- 相関ベースの類似度
- 調整コサイン類似度
- 1ジャカード距離
2.項目間の類似度:
2.予測値の算出:
- Weighted Sum
- Regression
UB-CFと異なる点は、この場合、K近傍探索を省略して直接共評アイテム間の類似度を事前算出する点である。
Slope One
Slope One は、アイテム ベースの協調フィルタリングの一部で、2005 年に Daniel Lemire と Anna Maclachlan が Slope One Predictors for Online Rating-Based Collaborative Filtering という論文で紹介したもので、
このモデルの主な考え方は次のとおりです。 また、アイテムIとアイテムJがあります。ユーザーAはアイテムIに星1つ、アイテムJに1.5つの評価をつけました。 ユーザーBがアイテムIを2点と評価した場合、両者の差はユーザーAと同じになると仮定できます。このように考えると、ユーザーBはアイテムJをこう評価することになります。 2+ (1,5-1) = 2,5
The authors focus on 5 objectives:
1. 実装とメンテナンスが簡単であること。
2.オンラインで更新可能であること: 新しい評価が素早く予測を変えること。
3.相談時の効率が良いこと: 保管が主なコストであること。
4.少ないユーザーフィードバックで動作すること。
5. 妥当な精度で、精度のわずかな向上がシンプルさとスケーラビリティの大きな犠牲を意味しない特定の範囲内である。 前者は、ユーザとアイテムの行列を埋めて、アクティブなユーザに近いユーザに基づいて推薦することに重点を置いている。 一方、IB-CF はアイテム-アイテム行列を埋め、類似したアイテムに基づいて推薦します。
これらのテーマを簡潔に説明するのは難しいですが、これらを理解することが RecSys に深く入るための最初のステップとなります。