

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

# 舊版 HRNN 配方
<a name="legacy-user-personalization-recipes"></a>

舊版 HRNN 配方不再可用。本文件僅供參考。

 我們建議您在舊版 HRNN 配方上使用 aws-user-personalizaton （使用者個人化） 配方。使用者個人化可改善並統一 HRNN 配方所提供的功能。如需詳細資訊，請參閱[使用者個人化配方](native-recipe-new-item-USER_PERSONALIZATION.md)。

Amazon Personalize 可根據其對輸入資料的分析，自動選擇最適合的階層遞歸神經網路 (HRNN) 配方。此選項稱為 AutoML。如需詳細資訊，請參閱[使用 AutoML 選擇 HRNN 配方 （僅限 API)](training-solution-auto-ml.md)。

**Topics**
+ [使用 AutoML 選擇 HRNN 配方 （僅限 API)](training-solution-auto-ml.md)
+ [HRNN 配方 （舊版）](native-recipe-hrnn.md)
+ [HRNN-Metadata 配方 （舊版）](native-recipe-hrnn-metadata.md)
+ [HRNN-Coldstart 配方 （舊版）](native-recipe-hrnn-coldstart.md)

# 使用 AutoML 選擇 HRNN 配方 （僅限 API)
<a name="training-solution-auto-ml"></a>

Amazon Personalize 可根據其對輸入資料的分析，自動選擇最適合的階層遞歸神經網路 (HRNN) 配方。此選項稱為 AutoML。若要執行 AutoML，請在呼叫 [CreateSolution](API_CreateSolution.md) API 時將 `performAutoML` 參數設定為 `true`。

您也可以指定 Amazon Personalize 檢查的配方清單，以根據您指定的指標來判斷最佳配方。在此情況下，您會呼叫 `CreateSolution`操作，`true`為 `performAutoML` 參數指定 ，省略 `recipeArn` 參數，並包含 `solutionConfig` 參數，指定 `metricName`和 `recipeList`做為 `autoMLConfig` 物件的一部分。

下表顯示配方的選擇方法。必須指定 `performAutoML` 或 `recipeArn`，但不能同時指定兩者。AutoML 執行時僅能使用 HRNN 配方。


| performAutoML | recipeArn | solutionConfig | 結果 | 
| --- | --- | --- | --- | 
| true | 省略 | 已省略 | Amazon Personalize 選擇配方 | 
| true | 省略 | autoMLConfig：指定 metricName 和 recipeList | Amazon Personalize 從清單選擇可最佳化指標的配方 | 
| 省略 | 已指定 | 已省略 | 您指定配方 | 
| 省略 | 已指定 | 已指定 | 您會指定配方並覆寫預設訓練屬性 | 

**注意**  
當 `performAutoML` 是 `true` 時，系統會忽略 `solutionConfig` 物件的所有參數，但 `autoMLConfig` 除外。

# HRNN 配方 （舊版）
<a name="native-recipe-hrnn"></a>

**注意**  
舊版 HRNN 配方不再可用。本文件僅供參考。  
 我們建議您在舊版 HRNN 配方上使用 aws-user-personalizaton （使用者個人化） 配方。使用者個人化可改善並統一 HRNN 配方所提供的功能。如需詳細資訊，請參閱[使用者個人化配方](native-recipe-new-item-USER_PERSONALIZATION.md)。

Amazon Personalize 階層式遞歸神經網路 (HRNN) 配方模型會變更使用者行為，以在工作階段期間提供建議。工作階段是一組在指定時間範圍內的使用者互動，目標是要尋找特定項目以滿足需求，例如。透過將使用者最近的互動權衡得更高，您可以在工作階段期間提供更相關的建議。

HRNN 滿足使用者意圖和興趣，這些意圖和興趣會隨著時間而改變。其會採用排序過的使用者歷史記錄，並自動加權以做出更好的推論。HRNN 會使用閘道機制來建立折扣加權的模型，做為項目和時間戳記的可學習函數。

Amazon Personalize 會從資料集衍生每個使用者的功能。如果您已經完成即時資料整合，則會根據使用者活動即時更新這些特性。若要取得建議，您只需提供 `USER_ID`。如果您也提供 `ITEM_ID`，Amazon Personalize 會忽略它。

HRNN 配方具有下列屬性：
+  **名稱** – `aws-hrnn`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-hrnn`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-hrnn`
+  **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/JSON-percentile-filtering`
+  **配方類型** – `USER_PERSONALIZATION`

下表說明 HRNN 配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。特徵化超參數可控制如何篩選要在訓練中使用的資料。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調整**：參數可以參與 HPO 嗎？


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| hidden\$1dimension |  模型中使用的隱藏變數數量。*隱藏變數* 會重新建立使用者的購買歷史記錄和項目統計資料，以產生排名分數。當您的項目互動資料集包含更複雜的模式時，請指定更多隱藏維度。使用更多隱藏維度需要更大的資料集和更多時間處理。若要決定最佳值，請使用 HPO。若要使用 HPO，請在呼叫 [CreateSolution](API_CreateSolution.md) 和 [CreateSolutionVersion](API_CreateSolutionVersion.md) 操作時將 `performHPO` 設定為 `true`。 預設值：43 範圍：[32, 256] 值類型：整數 HPO 可調整：是  | 
| bptt |  決定是否透過時間技術使用反向傳播。*透過時間的反向傳播* 是一種遞歸神經網路演算法中權重的技術。使用 `bptt` 做為長期信用來連接早期事件的延遲獎勵。例如，延遲獎勵可以是按幾下滑鼠後的購買。早期事件可以是初始的按一下。即使在相同的事件類型中 (例如按一下)，最好還是考慮長期效果，並將總獎勵最大化。若要考慮長期效果，請使用較大的 `bptt` 值。使用更大的 `bptt` 值需要更大的資料集和更多時間來處理。 預設值：32 範圍：[2, 32] 值類型：整數 HPO 可調整：是  | 
| recency\$1mask |  決定模型是否應考慮項目互動資料集的最新熱門趨勢。最新的熱門趨勢可能包括互動事件基礎模式的突然變化。若要訓練模型更多加權最近的事件，請將 `recency_mask` 設定為 `true`。若要訓練模型將過去的互動加權同等，請將 `recency_mask` 設定為 `false`。若要使用同等權重來獲得良好的建議，您可能需要較大的訓練資料集。 預設值：`True` 範圍：`True` 或 `False` 值類型：布林值 HPO 可調整：是  | 
| 特徵化超參數 | 
| min\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最小百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `min_user_history_length_percentile` 排除歷史記錄長度較短的使用者百分比。歷史記錄短的使用者通常根據項目熱門程度顯示模式，而不是使用者的個人需求或想要顯示模式。移除它們可以訓練模型更專注於資料中的基礎模式。檢閱使用者歷史記錄長度後，請使用長條圖或類似的工具，選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。  例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.0 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| max\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最大百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `max_user_history_length_percentile` 排除歷史記錄長度較長的使用者百分比，因為這些使用者的資料往往包含雜訊。例如，機器人可能有一長串的自動化互動。移除這些使用者會限制訓練中的噪音。使用長條圖或類似工具檢閱使用者歷史記錄長度後，請選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。 例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.99 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 

# HRNN-Metadata 配方 （舊版）
<a name="native-recipe-hrnn-metadata"></a>

**注意**  
舊版 HRNN 配方不再可用。本文件僅供參考。  
 我們建議您在舊版 HRNN 配方上使用 aws-user-personalizaton （使用者個人化） 配方。使用者個人化可改善並統一 HRNN 配方所提供的功能。如需詳細資訊，請參閱[使用者個人化配方](native-recipe-new-item-USER_PERSONALIZATION.md)。

HRNN-Metadata 配方預測使用者將與其互動的項目。其與 [HRNN](native-recipe-hrnn.md) 配方類似，但多了衍生自情境、使用者和項目中繼資料 (分別來自互動、使用者和項目資料集) 的其他功能。當有大量的中繼資料可用時，HRNN-Metadata 可提供優於非中繼資料模型的準確性優點。使用此配方可能需要更長的訓練時間。

HRNN-Metadata 配方具有下列屬性：
+  **名稱** – `aws-hrnn-metadata`
+  **配方 Amazon Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-hrnn-metadata`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-hrnn-metadata`
+  **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/featurize_metadata`
+  **配方類型** – `USER_PERSONALIZATION`

下表說明 HRNN-Metadata 配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。特徵化超參數可控制如何篩選要在訓練中使用的資料。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調整**：參數可以參與超參數最佳化 (HPO) 嗎？


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| hidden\$1dimension |  模型中使用的隱藏變數數量。*隱藏變數* 會重新建立使用者的購買歷史記錄和項目統計資料，以產生排名分數。當您的項目互動資料集包含更複雜的模式時，請指定更多隱藏維度。使用更多隱藏維度需要更大的資料集和更多時間處理。若要決定最佳值，請使用 HPO。若要使用 HPO，請在呼叫 [CreateSolution](API_CreateSolution.md) 和 [CreateSolutionVersion](API_CreateSolutionVersion.md) 操作時將 `performHPO` 設定為 `true`。 預設值：43 範圍：[32, 256] 值類型：整數 HPO 可調整：是  | 
| bptt |  決定是否透過時間技術使用反向傳播。*透過時間的反向傳播* 是一種遞歸神經網路演算法中權重的技術。使用 `bptt` 做為長期信用來連接早期事件的延遲獎勵。例如，延遲獎勵可以是按幾下滑鼠後的購買。早期事件可以是初始的按一下。即使在相同的事件類型中 (例如按一下)，最好還是考慮長期效果，並將總獎勵最大化。若要考慮長期效果，請使用較大的 `bptt` 值。使用更大的 `bptt` 值需要更大的資料集和更多時間來處理。 預設值：32 範圍：[2, 32] 值類型：整數 HPO 可調整：是  | 
| recency\$1mask |  決定模型是否應考慮項目互動資料集中的最新熱門趨勢。最新的熱門趨勢可能包括互動事件基礎模式的突然變化。若要訓練模型更多加權最近的事件，請將 `recency_mask` 設定為 `true`。若要訓練模型將過去的互動加權同等，請將 `recency_mask` 設定為 `false`。若要使用同等權重來獲得良好的建議，您可能需要較大的訓練資料集。 預設值：`True` 範圍：`True` 或 `False` 值類型：布林值 HPO 可調整：是  | 
| 特徵化超參數 | 
| min\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最小百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `min_user_history_length_percentile` 排除歷史記錄長度較短的使用者百分比。歷史記錄短的使用者通常根據項目熱門程度顯示模式，而不是使用者的個人需求或想要顯示模式。移除它們可以訓練模型更專注於資料中的基礎模式。檢閱使用者歷史記錄長度後，請使用長條圖或類似的工具，選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。  例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.0 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| max\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最大百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `max_user_history_length_percentile` 排除歷史記錄長度較長的使用者百分比，因為這些使用者的資料往往包含雜訊。例如，機器人可能有一長串的自動化互動。移除這些使用者會限制訓練中的噪音。使用長條圖或類似工具檢閱使用者歷史記錄長度後，請選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。 例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.99 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 

# HRNN-Coldstart 配方 （舊版）
<a name="native-recipe-hrnn-coldstart"></a>

**注意**  
舊版 HRNN 配方不再可用。本文件僅供參考。  
 我們建議您在舊版 HRNN 配方上使用 aws-user-personalizaton （使用者個人化） 配方。使用者個人化可改善並統一 HRNN 配方所提供的功能。如需詳細資訊，請參閱[使用者個人化配方](native-recipe-new-item-USER_PERSONALIZATION.md)。

使用 HRNN-Coldstart 配方來預測使用者在您經常新增項目和互動時將互動的項目，並希望立即取得這些項目的建議。HRNN-Coldstart 配方與 [HRNN-Metadata](native-recipe-hrnn-metadata.md) 配方類似，但可讓您取得新項目的建議。

此外，當您想要從由於下列原因而具有較長之互動清單的訓練項目中排除時，可以使用 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 Resource Name (ARN)** – `arn:aws:personalize:::recipe/aws-hrnn-coldstart`
+  **演算法 ARN** – `arn:aws:personalize:::algorithm/aws-hrnn-coldstart`
+  **功能轉換 ARN** – `arn:aws:personalize:::feature-transformation/featurize_coldstart`
+  **配方類型** – `USER_PERSONALIZATION`

如需詳細資訊，請參閱[選擇配方](working-with-predefined-recipes.md)。

下表說明 HRNN-Coldstart 配方的超參數。*超參數* 是一種演算法參數，您可以調整以改善模型效能。演算法超參數可控制模型的執行方式。特徵化超參數可控制如何篩選要在訓練中使用的資料。選擇超參數最佳值的程序稱為超參數最佳化 (HPO)。如需詳細資訊，請參閱[超參數和 HPO](customizing-solution-config-hpo.md)。

該表格也提供每個超參數的下列資訊：
+ **範圍**：[下限、上限]
+ **值類型**：整數、連續 (浮點數)、分類 (布林值、清單、字串)
+ **HPO 可調整**：參數可以參與 HPO 嗎？


| 名稱 | 描述 | 
| --- | --- | 
| 演算法超參數 | 
| hidden\$1dimension | 模型中使用的隱藏變數數量。*隱藏變數* 會重新建立使用者的購買歷史記錄和項目統計資料，以產生排名分數。當您的項目互動資料集包含更複雜的模式時，請指定更多隱藏維度。使用更多隱藏維度需要更大的資料集和更多時間處理。若要決定最佳值，請使用 HPO。若要使用 HPO，請在呼叫 [CreateSolution](API_CreateSolution.md) 和 [CreateSolutionVersion](API_CreateSolutionVersion.md) 操作時將 `performHPO` 設定為 `true`。 預設值：149 範圍：[32, 256] 值類型：整數 HPO 可調整：是  | 
| bptt | 決定是否透過時間技術使用反向傳播。*透過時間的反向傳播* 是一種遞歸神經網路演算法中權重的技術。使用 `bptt` 做為長期信用來連接早期事件的延遲獎勵。例如，延遲獎勵可以是按幾下滑鼠後的購買。早期事件可以是初始的按一下。即使在相同的事件類型中 (例如按一下)，最好還是考慮長期效果，並將總獎勵最大化。若要考慮長期效果，請使用較大的 `bptt` 值。使用更大的 `bptt` 值需要更大的資料集和更多時間來處理。 預設值：32 範圍：[2, 32] 值類型：整數 HPO 可調整：是  | 
| recency\$1mask |  決定模型是否應考慮項目互動資料集的最新熱門趨勢。最新的熱門趨勢可能包括互動事件基礎模式的突然變化。若要訓練模型更多加權最近的事件，請將 `recency_mask` 設定為 `true`。若要訓練模型將過去的互動加權同等，請將 `recency_mask` 設定為 `false`。若要使用同等權重來獲得良好的建議，您可能需要較大的訓練資料集。 預設值：`True` 範圍：`True` 或 `False` 值類型：布林值 HPO 可調整：是  | 
| 特徵化超參數 | 
| cold\$1start\$1max\$1interactions |  可將項目視為冷啟動的使用者項目互動最大數量。 預設值：15 範圍：正整數 值類型：整數 HPO 可調整：否  | 
| cold\$1start\$1max\$1duration | 使用者項目互動被視為冷啟動項相對於起點的最大持續時間 (以天為單位)。若要設定使用者項目互動的起點，請設定 `cold_start_relative_from` 超參數。 預設值：5.0 範圍：正浮點數 值類型：浮點數 HPO 可調整：否  | 
| cold\$1start\$1relative\$1from |  決定 HRNN-Coldstart 配方計算 `cold_start_max_duration` 的起點。從目前的時間計算，請選擇 `currentTime`。 若要`cold_start_max_duration`從項目互動資料集中最新項目的時間戳記計算，請選擇 `latestItem`。如果您經常新增項目，此設定很有用。 預設值：`latestItem` 範圍：`currentTime`, `latestItem`  值類型：字串 HPO 可調整：否  | 
| min\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最小百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `min_user_history_length_percentile` 排除歷史記錄長度較短的使用者百分比。歷史記錄短的使用者通常根據項目熱門程度顯示模式，而不是使用者的個人需求或想要顯示模式。移除它們可以訓練模型更專注於資料中的基礎模式。檢閱使用者歷史記錄長度後，請使用長條圖或類似的工具，選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。  例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.0 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 
| max\$1user\$1history\$1length\$1percentile |  要包含在模型訓練中的使用者歷史記錄長度的最大百分位數。*歷史記錄長度* 是有關使用者的資料總量。使用 `max_user_history_length_percentile` 排除歷史記錄長度較長的使用者百分比，因為這些使用者的資料往往包含雜訊。例如，機器人可能有一長串的自動化互動。移除這些使用者會限制訓練中的噪音。使用長條圖或類似工具檢閱使用者歷史記錄長度後，請選擇適當的值。我們建議設定保留大部分使用者的值，但移除邊緣案例。 例如，設定 `min__user_history_length_percentile to 0.05` 和 `max_user_history_length_percentile to 0.95` 包含所有使用者，歷史記錄長度底部或頂端 5% 的使用者除外。 預設值：0.99 範圍：[0.0, 1.0] 值類型：浮點數 HPO 可調整：否  | 