HRNNコールドスタートのレシピ(レガシー) - Amazon Personalize

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

HRNNコールドスタートのレシピ(レガシー)

注記

従来の HRNN レシピよりも aws-user-personalizaton(ユーザーパーソナライゼーション)レシピを使用することをお勧めします。ユーザーパーソナライゼーションは、HRNN レシピで提供される機能を改善し、統合します。詳細については、「ユーザー・パーソナライゼーションレシピ」を参照してください。

HRNN-Coldstart レシピを使用して、ユーザーがやり取りするアイテムを予測するのは、新しいアイテムとインタラクションを頻繁に追加し、それらのアイテムのレコメンデーションをすぐに取得する必要がある場合です。HRNN-Coldstart レシピは HRNN-Metadata レシピに似ていますが、新しいアイテムのレコメンデーションを取得できます。

さらに、最近の人気傾向のためや、インタラクションが非常にまれでトレーニングのノイズである可能性があるために、インタラクションのリストが長くなっているアイテムをトレーニングアイテムから除外する場合にも、HRNN-Coldstart レシピを使用できます。HRNN-Coldstart を使用すると、関連性の低いアイテムを除外して、トレーニング用のサブセットを作成できます。このようなアイテムのサブセットはコールドアイテムと呼ばれ、関連するインタラクションイベントがインタラクションデータセットに含まれています。以下の条件に該当する場合、そのアイテムはコールドアイテムとみなされます。

  • 指定された最大インタラクション数よりインタラクションが少ない。この値は、レシピの cold_start_max_interactions ハイパーパラメータで指定します。

  • 最大期間よりも短い相対期間。この値は、レシピの cold_start_max_duration ハイパーパラメータで指定します。

コールドアイテムの数を減らすには、[cold_start_max_interactions] または [cold_start_max_duration] に低い値を設定します。コールドアイテムの数を増やすには、[cold_start_max_interactions] または [cold_start_max_duration] に大きな値を設定します。

HRNN-Coldstart には以下のコールドアイテムの制限があります。

  • Maximum cold start items: 80,000

  • Minimum cold start items: 100

コールドアイテムの数がこの範囲外の場合、ソリューション作成の試みは失敗します。

HRNN-Coldstart レシピには以下のプロパティがあります。

  • 名前aws-hrnn-coldstart

  • レシピ Amazon リソースネーム (ARN)arn:aws:personalize:::recipe/aws-hrnn-coldstart

  • アルゴリズム ARNarn:aws:personalize:::algorithm/aws-hrnn-coldstart

  • 機能変換 ARNarn:aws:personalize:::feature-transformation/featurize_coldstart

  • レシピタイプUSER_PERSONALIZATION

詳細については、「ステップ 1: レシピの選択」を参照してください。

次の表では、HRNN-Coldstart レシピのハイパーパラメータについて説明します。ハイパーパラメータは、モデルパフォーマンスを向上させるために調整できるアルゴリズムパラメータです。アルゴリズムのハイパーパラメータは、モデルの実行方法を制御します。特徴化のハイパーパラメータは、トレーニングで使用するデータのフィルタリング方法を制御します。ハイパーパラメータに最適な値を選択するプロセスは、ハイパーパラメータの最適化 (HPO) と呼ばれます。詳細については、「ハイパーパラメータおよび HPO」を参照してください。

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。

  • 範囲: [下限、上限]

  • 値の型: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)

  • 調整可能な HPO: パラメータが HPO に参加できますか?

名前 説明
アルゴリズムのハイパーパラメータ
hidden_dimension

モデルで使用される非表示変数の数。非表示の変数は、ユーザーの購入履歴と商品統計を再作成して、ランキングスコアを生成します。インタラクションデータセットにより複雑なパターンが含まれている場合は、より多くの非表示ディメンションを指定します。使用する非表示のディメンションが多くなると、データセットが大きくなり、処理時間が長くなります。最適な値を決定するには、HPO を使用します。HPO を使用するには、CreateSolution オペレーション CreateSolutionVersion とオペレーションを呼び出すときに performHPOtrue に設定します。

デフォルト値: 149

範囲: [32、256]

値の型: 整数

HPO 調整可能: はい

bptt

通し時間のバックプロパゲーションの手法を使用するかどうかを決定します。通し時間のバックプロパゲーションは、再帰的なニューラルネットワークベースのアルゴリズムの重みを更新する手法です。遅延報酬を早期イベントに接続するには、長期クレジットに bptt を使用します。たとえば、遅延報酬には、数回のクリック後に行われる購入を指定できます。早期イベントは、最初のクリックにすることができます。クリックなどの同じイベントタイプ内であっても、長期的な効果を考慮し、合計報酬を最大化することをお勧めします。長期的な効果を考慮するには、より大きい bptt 値を使用します。大きな bptt 値を使用するには、より大きいデータセットと長い処理時間が必要です。

デフォルト値: 32

範囲: [2、32]

値の型: 整数

HPO 調整可能: はい

recency_mask

モデルがインタラクションデータセットの最新の人気傾向を考慮する必要があるかどうかを決定します。最新の人気トレンドには、インタラクションイベントの基盤となるパターンの突然の変化が含まれる可能性があります。最近のイベントにより多くの重みを置くモデルをトレーニングするには、recency_masktrue に設定します。過去のすべてのインタラクションを均等に重み付けするモデルをトレーニングするには、recency_maskfalse に設定します。同じ重みを使用して適切なレコメンデーションを取得するには、より大きなトレーニングデータセットが必要になる場合があります。

デフォルト値: True

範囲: True または False

値の型: ブール値

HPO 調整可能: はい

特徴化のハイパーパラメータ
cold_start_max_interactions

アイテムをコールドアイテムとみなすことができるユーザーアイテムインタラクションの最大数。

デフォルト値: 15

範囲: 正の整数

値の型: 整数

HPO いいえ

cold_start_max_duration

コールドスタートアイテムとみなされるユーザーアイテムインタラクションの開始点からの最大日数。ユーザーアイテムインタラクションの開始点を設定するには、[cold_start_relative_from] ハイパーパラメータを設定します。

デフォルト値: 5.0

範囲: 正の浮動小数点

値の型: 浮動小数点

HPO いいえ

cold_start_relative_from

HRNN-Coldstart レシピによる cold_start_max_duration の計算開始点を決定します。現在の時刻から計算するには、currentTime を選択します。

インタラクションデータセットの最新のアイテムのタイムスタンプから cold_start_max_duration を計算するには、latestItem を選択します。この設定は、新しいアイテムを頻繁に追加する場合に便利です。

デフォルト値: latestItem

範囲: currentTimelatestItem

値の型: 文字列

HPO いいえ

min_user_history_length_percentile

モデルのトレーニングに含めるユーザー履歴の長さの最小パーセンタイル。履歴の長さ は、ユーザーに関するデータの合計量です。履歴の長さが短いある割合のユーザーを除外するには、min_user_history_length_percentile を使用します。履歴が短いユーザーは、多くの場合、ユーザーの個人的なニーズや希望ではなく、アイテムの人気に基づくパターンを表示します。それらを削除すると、データの基盤となるパターンに重点を置いてモデルをトレーニングできます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。

たとえば、min__user_history_length_percentile to 0.05max_user_history_length_percentile to 0.95 を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。

デフォルト値: 0.0

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO いいえ

max_user_history_length_percentile

モデルのトレーニングに含めるユーザー履歴の長さの最大パーセンタイル。履歴の長さ は、ユーザーに関するデータの合計量です。max_user_history_length_percentile を使用して、ある割合の履歴の長さが長いユーザーを除外します。これらのユーザーのデータにはノイズが含まれる傾向があるためです。たとえば、ロボットに自動化されたインタラクションの長いリストがあるとします。これらのユーザーを削除することで、トレーニングのノイズが制限されます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。

たとえば、min__user_history_length_percentile to 0.05max_user_history_length_percentile to 0.95 を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。

デフォルト値: 0.99

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO いいえ