Amazon Personalize
開発者ガイド

SIMS レシピ

アイテム間の類似性 (SIMS) レシピは、共同フィルタリングの概念に基づきます。SIMS モデルでは、ユーザー項目のやり取りのデータを利用して、特定の項目に類似する項目を推奨します。十分なユーザー動作データがない場合、このレシピでは一般的な項目が推奨されます。

この事前定義済みレシピには以下のプロパティがあります。

  • 名前aws-sims

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

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

  • 特徴変換 ARNarn:aws:personalize:::feature-transformation/sims

  • レシピタイプRELATED_ITEMS

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

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

  • 範囲: [下限、上限]

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

  • HPO 調整可能: パラメータがハイパーパラメータ最適化 (HPO) に参加できますか?

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

類似度を計算するときに、人気度と相互関係のバランスに影響します。特定のアイテムとの類似度を計算する場合、値が 0 であれば、最も人気の高いアイテムは相互関係に関係なくレコメンデーションとして表示されます。値が 1 の場合、特定のアイテムとの同時インタラクション (共有インタラクション) を持つほとんどのインタラクションは、その人気にかかわらずレコメンデーションとして表示されます。いずれかの極端な値を使用すると、レコメンデーションのリストが長くなりすぎる可能性があります。ほとんどの場合、0.5 付近の値で最も良い結果が得られます。

デフォルト値: 0.5

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO 調整可能: はい

min_cointeraction_count

アイテムのペア間の類似度を計算するために必要な同時インタラクションの最小数。たとえば、値が 3 の場合、アルゴリズムで類似度を計算するためには、両方のアイテムを操作する 3 人以上のユーザーが必要であることを意味します。

デフォルト値: 3

範囲: [0, 10]

値の型: 整数

HPO 調整可能: はい

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

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

デフォルト値: 0.005

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO 調整可能: いいえ

max_user_history_length_percentile

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

たとえば、min_hist_length_percentile = 0.05max_hist_length_percentile = 0.95 には、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。

デフォルト値: 0.995

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO 調整可能: いいえ

min_item_interaction_count_percentile

モデルのトレーニングに含めるアイテムのやり取りの最小パーセンタイル数。インタラクション履歴が短いアイテムの割合を除外するには、min_item_interaction_count_percentile を使用します。履歴が短いアイテムは、多くの場合、新しいアイテムです。それらを削除すると、既知の履歴を持つアイテムに重点を置いてモデルをトレーニングできます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のアイテムを保持し、エッジケースを削除する値を設定することをお勧めします。

デフォルト値: 0.01

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO 調整可能: いいえ

max_item_interaction_count_percentile

モデルのトレーニングに含めるアイテムのやり取りの最大パーセンタイル数。インタラクション履歴が長いアイテムの割合を除外するには、max_item_interaction_count_percentile を使用します。履歴が長いアイテムは古い傾向があり、最新のものではなくなっている可能性があります。たとえば、絶版になっている映画のリリースがあります。これらのアイテムを削除すると、より関連性の高いアイテムに重点を置くことができます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のアイテムを保持し、エッジケースを削除する値を設定することをお勧めします。

たとえば、min_item_interaction_count_percentile = 0.05max_item_interaction_count_percentile = 0.95 には、インタラクションカウントが下位または上位 5% であるアイテムを除くすべてのアイテムが含まれます。

デフォルト値: 0.9

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO 調整可能: いいえ