コラボレーション フィルタリング

コンテンツ ベースのフィルタリングの制限に対処するため、 コラボレーション フィルタリングでは、ユーザーと、 推奨案を提示します。これにより、 偶発的な提言に対するすなわち協調フィルタリング モデルは、ユーザーの興味、関心に基づいてユーザー A に商品をおすすめできます。 ユーザー B が抽出されます。さらにエンべディングは 自動化されています。

おすすめの映画の例

トレーニング データが次の要素で構成される映画のレコメンデーション システムについて考えてみましょう。 フィードバック マトリクスの正誤問題:

  • 各行はユーザーを表します。
  • 各列はアイテム(映画)を表します。

映画に関するフィードバックは、次の 2 つのカテゴリのいずれかに分類されます。

  • 明示的 - 特定の映画をどの程度高く評価したかを指定します。 数値で評価します
  • 暗黙的 - ユーザーが映画を視聴した場合、システムは 表示されます。

簡略化のために、フィードバック行列はバイナリであると仮定します。つまり 1 は映画に関心があることを示します。

ユーザーがホームページにアクセスすると、システムは映画をおすすめする 次の両方に基づく:

  • ユーザーが過去に高く評価した映画との類似性
  • 類似のユーザーが高く評価した映画

説明のため、映画のいくつかの特徴をハンドエンジニアリングしてみましょう。 次の表の説明をご覧ください。

映画 評価 説明
ダークナイト ライジング PG-13 核戦争からゴッサムシティを救うために取り組むバットマン この動画の続編では The Dark Knight DC を舞台に コミックの世界。
「ハリー・ポッターと賢者の石」 PG 孤児の少年は自分が魔法使いであることに気づき、 ホグワーツ学校 魔法と魔法使い、初の戦いに挑む 魔法のヴォルデモート王です。
シュレック PG 愛らしい鬼とロバの相棒がミッションに挑む フィオナ王女を救出することにした。 ドラゴンに城の中に閉じこめられていたのです。
ベルヴィルの 3 組組曲 PG-13 プロのサイクラー チャンピオンが誘拐された。 ツール・ド・フランス 彼の祖母と太りすぎの犬が彼を救うために海外に旅立ちました。 3 人の年配のジャズシンガーの助けを借りることになりました。
メメント R 健全な女の子は妻の殺人事件を解決しようと熱心に奮闘する 体に手がかりを入れてタトゥーを入れました。

1D エンベディング

各映画に、 \([-1, 1]\) でそのスカラーを表すスカラーを 映画の対象が子ども(負の値)か大人(正の値)かを指定します。 また、説明を表すスカラーを \([-1, 1]\) の各ユーザーに割り当てたとします。 子ども向けの映画(-1 に近い値)または大人に対するユーザーの興味や関心 (+1 に近い)が表示されます。映画の埋め込みとユーザーの積 ユーザーが期待する映画のエンべディングは高く(1 に近い)必要があります。 できます。

1 次元のエンベディング空間に沿って配置された複数の映画とユーザーを示す画像。この軸に沿った各映画の位置は、子ども向け映画(左)と成人向け映画(右)のどちらであるかを示します。ユーザーの位置は、子ども向け映画または成人向け映画への関心を示しています。

下の図では、各チェックマークは、特定の映画が視聴された ユーザーが視聴した動画の数。3 人目と 4 人目のユーザーの好みは 3 人目のユーザーは子ども向けの映画を好む 4 人目のユーザーは成人向けの映画を 好みますただし、1 つ目と 2 つ目の ユーザー設定が、この 1 つの機能では十分に説明されていないからです。

フィードバック マトリックスの画像。行はユーザー、列は映画に対応しています。各ユーザーと各映画は 1 次元のエンベディングにマッピングされます(前の図を参照)。2 つのエンベディングの積がフィードバック マトリックスのグラウンド トゥルース値を近似します。

2D 埋め込み

1 つの機能だけでは、すべてのユーザーの好みを説明するには不十分でした。克服するため この問題です。では、2 つ目の特徴量を 大ヒット映画でもアート系映画でも2 つ目の特徴は、単語のシーケンスを 各映画を次の 2 次元の埋め込みで表します。

2 次元のエンベディング空間に配置された複数の映画とユーザーを示す画像。横軸に沿った各映画の位置は、それが子ども向けの映画(左)か成人向け映画(右)かを示します。縦軸の位置は大ヒット映画(上)かアートハウス映画(下)かを示します。ユーザーの掲載順位は、各カテゴリにおけるユーザーの興味 / 関心を反映したものになります。

ここでも、わかりやすく説明するために、ユーザーを同じエンベディング空間に配置します。 フィードバック マトリックスを使用します。つまり、(ユーザーとアイテム)のペアごとに、 ユーザー エンベディングとアイテム エンベディングのドット積が近接する ユーザーが映画を視聴した場合は 1、それ以外の場合は 0 に設定されます。

同じフィードバック マトリックスの画像。今回は、各ユーザーと各映画が 2 次元のエンベディングにマッピングされます(前の図を参照)。これにより、2 つのエンベディングのドット積がフィードバック マトリックスのグラウンド トゥルース値を近似します。

この例では、エンベディングを手作業でエンジニアリングしました。実際にはエンべディングは 協調フィルタリングの能力である自動的に学習できる 構築できます次の 2 つのセクションでは、学習すべきさまざまなモデルについて説明します。 そのトレーニング方法を説明します

このアプローチの協調的な性質は、モデルが新しい特徴量を 支援します。映画のエンベディング ベクトルが固定されているとします。次に、 このモデルは、ユーザーが最も適切に説明するためのエンベディング ベクトルを学習できます。 できます。その結果、好みが似ているユーザーのエンべディングは 近い値になります。同様に、ユーザーのエンベディングが固定されている場合、 フィードバック マトリックスを最もよく説明する映画のエンべディングを学習します。 その結果、類似ユーザーが高く評価した映画のエンベディングが 学習します。

理解度をチェックする

モデルがユーザーにショッピング アプリをおすすめしたのは、最近のことが理由です。 ユーザーが同様のアプリをインストールしました。これはどのようなフィルタリングの例ですか。
コンテンツ ベースのフィルタリング
よくできました!コンテンツ ベースのフィルタリングでは、他のユーザーは参照されません。
コラボレーション フィルタリング
コラボレーション フィルタリングでは他のユーザーも考慮されます。 1 人のユーザーのみを考慮します