レコメンダーシステムで 幅広く深いモデルを構築する
この記事では、サンプル ノートブックを使用して、ワイドで詳細なモデルを使用したレコメンダー システムの構築について説明します。 幅広く詳細なレコメンダー システムの機械学習パイプラインを構築するには、次の図に示す段階が含まれます。
このリファレンスソリューションは、青色で示されている段階をカバーしています。
モデルのトレーニングと評価
モデルのエクスポートとバージョン管理
バッチ モデルの推論
オンラインモデルサービング
対象外の ステップ の情報については、「 対象外のプロジェクトステージ」を参照してください。
ワイドアンドディープモデルとは何ですか?
レコメンダーシステムの効果的な選択肢であるワイド&ディープモデルは、線形モデルとディープラーニングモデルの機能を組み合わせたものです。 線形モデルは、顧客の選択に関連するヒストリカルデータを分析しますが、ディープラーニング機能は一般化して、関連する推奨事項の選択肢を拡張します。
詳細については、学術論文「レコメンダー システムのためのワイド & ディープラーニング」を参照してください。
ユーザー データセット を記述するノートブック
このノートブックで使用されるデータセットは、次の Delta テーブルで構成されています。
user_profile
:user_id
値とその静的プロファイルが含まれます。item_profile
:item_id
値とその静的プロファイルが含まれます。user_item_interaction
: ユーザーがアイテムを操作するイベントが含まれます。 このテーブルは、モデルを構築および評価するためにランダムに分割されtrain
、validation
、test
の 3 つの Delta テーブルです。
このデータ形式は、レコメンデーションの問題で一般的です。 いくつかの例は次のとおりです。
広告レコメンダーの場合、アイテムは広告であり、ユーザーとアイテムのインタラクションはユーザーが広告をクリックしたレコードです。
オンラインショッピングのレコメンダーの場合、アイテムは製品であり、ユーザーとアイテムのインタラクションは、ユーザーがレビューまたは注文履歴を記録します。
このノートブックをデータセットに適合させる場合は、Delta テーブルにデータを保存し、テーブルの名前と場所を指定するだけで済みます。 データをロードするためのコードは、ほとんどの場合再利用できます。
詳細については、データセット生成ノートブックを参照してください。
ノートブックの例: ワイド&ディープモデル
ワイドでディープなモデルは、ワイドな線形モデルとディープニューラルネットワークを組み合わせて、適切なレコメンデーションに必要な暗記と一般化を処理します。
このモデルは、レコメンダー問題または一般的な機械学習パイプラインに関する多くのディープラーニング モデルのほんの一例です。 ここでの焦点は、ワークフローの構築方法を示すことです。 独自のユースケースに合わせてさまざまなモデルをスワップし、より良い評価のためにモデルを調整できます メトリクス。
カバー されていないプロジェクトの段階
ノートブックでレコメンダー システムの実装方法を示すことに集中できるように、次の段階については説明しません。 これらのステージは、ワークフロー図では灰色のブロックとして表示されます。
データ収集と探索的データ分析。 「 Databricks で最初の ETL ワークロードを実行する」を参照してください。
特徴エンジニアリング。 特徴エンジニアリングはレコメンダー システムの重要な部分であり、このトピックに関する多くの情報を利用できます。 このノートブックでは、ユーザーと項目の相互作用を含むキュレーションされたデータセットがあることを前提としています。 このノートブックで使用されるデータセットの詳細については、「 ユーザー データセットを記述するノートブック」を参照してください。 特徴エンジニアリングの詳細については、次のリソースを参照してください。
Databricks ソリューション アクセラレータ ノートブック「レコメン デーションを使用した顧客エクスペリエンスのパーソナライズ」 では、レコメンダー システムでの特徴エンジニアリングの例を示します。
機械学習とディープラーニングのデータを前処理 して、 Scikit-Learn、MLlib、転移学習を使用した特徴エンジニアリングの例を紹介します。
モデルのチューニング。 モデルのチューニングには、モデルのパフォーマンスを向上させるために、特徴エンジニアリング、モデル構造、モデルのハイパーパラメーター、さらにはデータ収集ステージの更新など、既存のパイプラインのコードを修正することが含まれます。 Databricks でのモデル チューニングのツールの詳細については、「 ハイパーパラメーターの調整」を参照してください。