ML 用語集: レコメンデーション システム

このページには、おすすめシステムの用語集の用語が記載されています。用語集のすべての用語については、こちらをクリックしてください。

C

候補の生成

#recsystems

レコメンデーション システムによって選択された最初の一連の最適化案。たとえば、10 万タイトルを提供する書店について考えてみましょう。候補生成フェーズでは、特定のユーザーに適した書籍のリストが、はるかに小さい数(500 冊など)で作成されます。しかし、500 冊でもユーザーにおすすめするには多すぎます。その後の、より費用のかかるおすすめシステムのフェーズ(スコアリング再ランク付けなど)では、この 500 件を、より小さく有用なおすすめのセットに絞り込みます。

詳細については、レコメンデーション システム コースの候補生成の概要をご覧ください。

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

#recsystems

他の多くのユーザーの関心に基づいて、1 人のユーザーの関心について予測を行う。コラボレーション フィルタリングは、レコメンデーション システムでよく使用されます。

詳細については、レコメンデーション システム コースの協調フィルタリングをご覧ください。

I

アイテム マトリックス

#recsystems

レコメンデーション システムでは、アイテムに関する潜在シグナルを保持する行列分解によって生成されたエンベディング ベクトルの行列。アイテム マトリックスの各行には、すべてのアイテムの単一の潜在特徴の値が格納されます。たとえば、映画のレコメンデーション システムについて考えてみましょう。アイテム マトリックスの各列は 1 つの映画を表します。潜在シグナルは、ジャンルを表す場合もあれば、ジャンル、スター、映画の年齢などの要素間の複雑な相互作用を含む、解釈が難しいシグナルの場合もあります。

アイテム マトリックスの列数は、分解されるターゲット マトリックスの列数と同じです。たとえば、10,000 本の映画タイトルを評価する映画おすすめシステムの場合、アイテム マトリックスには 10,000 個の列があります。

アイテム

#recsystems

レコメンデーション システムでは、システムが推奨するエンティティ。たとえば、動画はビデオストアがおすすめするアイテムであり、書籍は書店がおすすめするアイテムです。

M

行列分解

#recsystems

数学では、ドット積がターゲット マトリックスに近似するマトリックスを見つけるメカニズム。

レコメンデーション システムでは、ターゲット行列に多くの場合、アイテムに対するユーザーの評価が格納されます。たとえば、映画のレコメンデーション システムのターゲット マトリックスは次のようになります。正の整数はユーザー評価で、0 はユーザーが映画を評価していないことを意味します。

  カサブランカ フィラデルフィア物語 Black Panther(「ブラック パンサー」) ワンダーウーマン パルプフィクション
ユーザー 1 5.0 3.0 0.0 2.0 0.0
ユーザー 2 4.0 0.0 0.0 1.0 5.0
ユーザー 3 3.0 1.0 4.0 5.0 0.0

映画のレコメンデーション システムは、評価されていない映画のユーザー評価を予測することを目的としています。たとえば、ユーザー 1 は Black Panther を気に入るでしょうか?

レコメンデーション システムのアプローチの 1 つは、行列分解を使用して次の 2 つの行列を生成することです。

たとえば、3 人のユーザーと 5 つのアイテムに対して行列分解を使用すると、次のユーザー行列とアイテム行列が得られます。

User Matrix                 Item Matrix

1.1   2.3           0.9   0.2   1.4    2.0   1.2
0.6   2.0           1.7   1.2   1.2   -0.1   2.1
2.5   0.5

ユーザー行列とアイテム行列の点積は、元のユーザー評価だけでなく、各ユーザーが視聴していない映画の予測も含むおすすめ情報行列を生成します。たとえば、ユーザー 1 が Casablanca につけた評価は 5.0 でした。推奨事項マトリックスのそのセルに対応するドット積は 5.0 程度になるはずです。実際には次のようになります。

(1.1 * 0.9) + (2.3 * 1.7) = 4.9

さらに重要なのは、ユーザー 1 は Black Panther を気に入るかどうかです。1 行目と 3 列目に相当する内積を取ると、予測評価 4.3 が得られます。

(1.1 * 1.4) + (2.3 * 1.2) = 4.3

行列分解では通常、ユーザー マトリックスとアイテム マトリックスが生成されますが、これらを合わせるとターゲット マトリックスよりも大幅にコンパクトになります。

R

レコメンデーション システム

#recsystems

大規模なコーパスから、ユーザーごとに比較的小さなセットの望ましいアイテムを選択するシステム。たとえば、動画レコメンデーション システムは、10 万本の動画のコーパスから 2 本の動画をおすすめします。あるユーザーには カサブランカフィラデルフィア物語を、別のユーザーには ワンダーウーマンブラックパンサーをおすすめします。動画のおすすめシステムは、次のような要素に基づいておすすめを表示します。

  • 類似のユーザーが評価または視聴した映画。
  • ジャンル、監督、俳優、ターゲット層など

再ランキング

#recsystems

レコメンデーション システムの最後のステージ。スコアが付けられたアイテムは、他の(通常は ML 以外の)アルゴリズムに基づいて再評価される場合があります。再ランク付けでは、スコアリングフェーズで生成されたアイテムのリストを評価し、次のようなアクションを実行します。

  • ユーザーがすでに購入したアイテムを除外する。
  • 新しいアイテムのスコアを高める。

S

得点

#recsystems

おすすめシステムの一部で、候補の生成フェーズで生成された各アイテムの値またはランキングを提供します。

U

ユーザー マトリックス

#recsystems

レコメンデーション システムでは、行列分解によって生成されたエンベディング ベクトルで、ユーザーの好みに関する潜在的なシグナルを保持します。ユーザー マトリックスの各行には、1 人のユーザーのさまざまな潜在シグナルの相対的な強度に関する情報が保持されます。たとえば、映画のレコメンデーション システムについて考えてみましょう。このシステムでは、ユーザー マトリックスの潜在シグナルは、特定のジャンルに対する各ユーザーの関心を表す場合もあれば、複数の要素にわたる複雑な相互作用を含む、解釈が難しいシグナルである場合もあります。

ユーザー マトリックスには、潜在的な特徴ごとに列があり、ユーザーごとに行があります。つまり、ユーザー マトリックスの行数は、分解されるターゲット マトリックスの行数と同じです。たとえば、1,000,000 人のユーザー向けの映画レコメンデーション システムの場合、ユーザー マトリックスには 1,000,000 行があります。

W

加重交互最小二乗(WALS)

#recsystems

レコメンデーション システム行列分解中に目標関数を最小化するアルゴリズム。これにより、不足している例を軽視できます。WALS は、行分解と列分解を交互に固定することで、元の行列と再構成の間の重み付き二乗誤差を最小化します。これらの最適化は、最小二乗凸最適化によって解決できます。詳細については、Recommendation Systems コースをご覧ください。