個人化執行配方 - Amazon Personalize

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

個人化執行配方

重要

我們建議您使用 Personalized-Ranking-v2 配方。它可以考慮最多 500 萬個訓練速度更快的項目,並產生更準確的排名和更低的延遲。

個人化排名配方會產生個人化項目排名。個人化排名 是建議項目的清單,而這些建議項目會針對特定使用者重新排名。如果您有一系列的排序項目,例如搜尋結果、促銷或精選清單,而且您想要為每個使用者提供個人化的重新排名,這很有用。例如,使用 Personalized-Ranking,Amazon Personalize 可以重新排序您使用 產生的搜尋結果OpenSearch

為了訓練模型,個人化排名配方會使用項目互動資料集中的資料,如果您建立這些資料集,則會使用資料集群組中的項目資料集和使用者資料集 (這些資料集是選用的)。使用 Personalized-Ranking,您的項目資料集可以包含 非結構化文本元數據,而您的項目互動資料集可以包含 內容中繼資料。若要取得個人化排名,請使用 GetPersonalizedRanking API。

建立解決方案版本後,請確定您的解決方案版本和資料保持最新狀態。使用 Personalized-Ranking,您必須手動為 Amazon Personalize 建立新的解決方案版本 (重新訓練模型),以考慮新的建議項目,並使用使用者的最新行為更新模型。然後,您必須使用解決方案版本更新任何行銷活動。如需詳細資訊,請參閱維持建議相關性

注意

如果您提供項目沒有用於排名的互動資料,Amazon Personalize 會在回應中 GetPersonalizedRanking API傳回這些項目,而沒有建議分數。

此配方具有下列屬性:

  • 名稱aws-personalized-ranking

  • 配方 Amazon Resource Name (ARN)arn:aws:personalize:::recipe/aws-personalized-ranking

  • 演算法 ARNarn:aws:personalize:::algorithm/aws-personalized-ranking

  • 功能轉換 ARNarn:aws:personalize:::feature-transformation/JSON-percentile-filtering

  • 配方類型PERSONALIZED_RANKING

超參數

下表說明個人化排名配方的超參數。超參數 是一種演算法參數,您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。特徵化超參數可控制如何篩選要在訓練中使用的資料。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊,請參閱超參數和 HPO

該表格也提供每個超參數的下列資訊:

  • 範圍:[下限、上限]

  • 值類型:整數、連續 (浮點數)、分類 (布林值、清單、字串)

  • HPO 可調校: 參數是否可以參與超參數最佳化 (HPO)?

名稱 描述
演算法超參數
hidden_dimension

模型中使用的隱藏變數數量。隱藏變數 會重新建立使用者的購買歷史記錄和項目統計資料,以產生排名分數。當您的項目互動資料集包含更複雜的模式時,請指定更多隱藏維度。使用更多隱藏維度需要更大的資料集和更多時間處理。若要決定最佳值,請使用 HPO。若要使用 HPO,請在呼叫 CreateSolutionCreateSolutionVersion操作true時將 performHPO設定為 。

預設值:149

範圍:[32, 256]

值類型:整數

HPO 可調校:是

bptt

決定是否透過時間技術使用反向傳播。透過時間的反向傳播 是一種遞歸神經網路演算法中權重的技術。使用 bptt 做為長期信用來連接早期事件的延遲獎勵。例如,延遲獎勵可以是按幾下滑鼠後的購買。早期事件可以是初始的按一下。即使在相同的事件類型中 (例如按一下),最好還是考慮長期效果,並將總獎勵最大化。若要考慮長期效果,請使用較大的 bptt 值。使用更大的 bptt 值需要更大的資料集和更多時間來處理。

預設值:32

範圍:[2, 32]

值類型:整數

HPO 可調校:是

recency_mask

決定模型是否應考慮項目互動資料集的最新熱門趨勢。最新的熱門趨勢可能包括互動事件基礎模式的突然變化。若要訓練模型更多加權最近的事件,請將 recency_mask 設定為 true。若要訓練模型將過去的互動加權同等,請將 recency_mask 設定為 false。若要使用同等權重來獲得良好的建議,您可能需要較大的訓練資料集。

預設值:True

範圍:TrueFalse

值類型:布林值

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 可調校:否

個人化執行範例筆記本

如需示範如何使用個人化排名配方的範例 Jupyter 筆記本,請參閱個人化排名範例