機械学習用語集: レコメンデーション システム

このページでは、レコメンデーション システムの用語集の用語について説明します。すべての用語集の用語については、こちらをクリックしてください。

C

候補の生成

#recsystems

レコメンデーション システムによって選択された最初の推奨事項のセット。たとえば、100,000 冊の書籍を販売している書店について考えてみましょう。候補生成フェーズでは、特定のユーザーにおすすめの書籍(500 件など)がリストされます。500 冊以上の本でも、ユーザーにおすすめするには多すぎます。その後、レコメンデーション システムのフェーズ(スコア付け再ランキングなど)により、500 ははるかに小さく有用な推奨事項セットにまとめられます。

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

#recsystems

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

I

商品マトリックス

#recsystems

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

アイテム マトリックスの列数は、因子分解されるターゲット 行列と同じです。たとえば、10,000 本の映画タイトルを評価する映画レコメンデーション システムでは、アイテム マトリックスは 10,000 列になります。

items

#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 はブラックパンサーのように、

レコメンデーション システムのアプローチの一つは、行列分解を使用して次の 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 のように考えますか。最初の行と 3 番目の列に対応するドット積を計算すると、4.3 という予測評価が得られます。

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

行列分解によってユーザー マトリックスとアイテム マトリックスが生成されるため、ターゲット マトリックスより大幅にコンパクトになります。

(右)

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

#recsystems

大規模なコーパスから、アイテムを比較的少数だけ選択するシステム。たとえば、動画レコメンデーション システムでは、100,000 本の動画から 2 つの動画を推奨し、1 人のユーザーには「カサブランカ」と「フィラデルフィア ストーリー」を選択し、もう 1 人のユーザーには「ワンダーウーマン」と「ブラックパンサー」を選択したとします。動画レコメンデーション システムは、次のような要因に基づいておすすめを提案します。

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

再ランキング

#recsystems

レコメンデーション システムの最終ステージ。この段階で、スコアが付けられたアイテムを他の(通常は ML 以外の)アルゴリズムに従って再評価します。再ランキングは、スコア付けフェーズで生成された項目のリストを評価し、次のような処理を行います。

  • ユーザーが購入済みのアイテムを排除する。
  • 鮮度の高い商品のスコアを上げる。

S

スコアリング

#recsystems

候補生成フェーズで生成された各アイテムの価値またはランキングを提供するレコメンデーション システムの一部。

U

ユーザー マトリックス

#recsystems

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

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

W

加重交互最小二乗(WALS)

#recsystems

レコメンデーション システム行列分解で目的関数を最小化するアルゴリズム。この手法を使用すると、欠損サンプルの重みを小さくできます。WALS は、行分解と列分解の両方を交互に繰り返すことで、元の行列と再構築の重み付けされた二乗誤差を最小限に抑えます。これらの最適化のそれぞれは、二乗最適化によって解くことができます。詳細については、レコメンデーション システム コースをご覧ください。