進階模型建置組態 - Amazon SageMaker

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

進階模型建置組態

Amazon SageMaker Canvas 支援各種進階設定,您可以在建置模型時設定這些設定。下頁會列出所有進階設定,以及有關其選項和組態的其他資訊。

注意

下列進階設定目前僅支援數值、類別和時間序列預測模型類型。

進階數值和類別預測模型設定

Canvas 支援下列數值和類別預測模型類型的進階設定。

目標指標

目標指標是您希望 Canvas 在建置模型時最佳化的指標。如果您未選取指標,Canvas 預設會為您選擇一個指標。如需可用指標的說明,請參閱 指標參考

訓練方法

Canvas 可以根據資料集大小自動選取訓練方法,也可以手動選取。下列訓練方法可供您選擇:

  • 內嵌 – SageMaker 利用 AutoGluon 程式庫來訓練數個基礎模型。若要尋找資料集的最佳組合,集合模式會使用不同的模型和中繼參數設定執行 5–10 個試驗。然後,這些模型會使用堆疊集合方法來組合,以建立最佳預測模型。如需表格式資料集合模式支援的演算法清單,請參閱下演算法一節。

  • 超參數最佳化 (HPO) – 在資料集上執行訓練任務時,使用貝氏最佳化或多保真度最佳化來調校超參數,以 SageMaker 尋找模型的最佳版本。HPO 模式會選取與資料集最相關的演算法,並選取超參數的最佳範圍來調整模型。若要調整模型,HPO模式最多會執行 100 次嘗試 (預設),以尋找所選範圍內的最佳超參數設定。如果您的資料集大小小於 100 MB, SageMaker 則使用貝氏最佳化。如果資料集大於 100 MB, SageMaker 則選擇多保真度最佳化。

    如需表格式資料HPO模式支援的演算法清單,請參閱下演算法一節。

  • Auto –根據您的資料集大小 SageMaker 自動選擇整合模式或 HPO 模式。如果您的資料集大於 100 MB, SageMaker 請選擇 HPO 模式。否則,它會選擇整合模式。

演算法

嵌入模式中,Canvas 支援下列機器學習演算法:

  • LightGBM – 最佳化架構,使用以樹為基礎的演算法進行梯度提升。該演算法使用在廣度而非深度上生長的樹,並且針對速度進行了高度最佳化。

  • CatBoost – 使用以樹為基礎的演算法進行梯度提升的架構。針對處理分類變數進行最佳化。

  • XGBoost – 使用樹狀演算法的架構,具有梯度提升,其深度增長,而非廣度增長。

  • 隨機樹系–在資料的隨機子樣本使用多個決策樹並進行取代的樹型演算法。這些樹在每個層級被分成最佳節點。每棵樹的決策被平均在一起,以防止過度學習並改善預測。

  • Extra Tree–在整個資料集使用多個決策樹的樹型演算法。樹在每個層級隨機分割。對每棵樹的決定進行平均,以防止過度學習並改善預測。與隨機樹系演算法相比,額外的樹會增加一定程度的隨機化。

  • 線性模型–使用線性方程式對觀測資料中兩個變數之間關係進行建模的架構。

  • 神經網路火炬 – 使用 Pytorch 實作的神經網路模型。

  • 神經網路 fast.ai–使用 fast.ai 實作的神經網路模型。

HPO 模式 中,Canvas 支援下列機器學習演算法:

  • XGBoost – 一種監督式學習演算法,透過結合一組更簡單且較弱模型的估算集合,嘗試準確預測目標變數。

  • 深度學習演算法 – 多層 Perceptron (MLP) 和前饋人工神經網路。此演算法可以處理不可線性分隔的資料。

資料分割

您可以選擇指定如何在訓練集 (用於建置模型的資料集部分) 和驗證集 (用於驗證模型準確性的資料集部分) 之間分割資料集。例如,常見的分割比率是 80% 的訓練和 20% 驗證,其中 80% 的資料用於建置模型,而 20% 則用於測量模型效能。如果您未指定自訂比率,則 Canvas 會自動分割資料集。

候選者上限

注意

此功能僅適用於HPO訓練模式。

您可以指定 Canvas 在建置模型時產生的模型候選項目數量上限。我們建議您使用預設的候選數目,也就是 100,來建置最準確的模型。您可以指定的數目上限為 250。減少模型候選數量可能會影響模型的準確性。

任務執行時間上限

您可以指定任務執行時間上限,或 Canvas 建立模型所花費的時間上限。在時間限制之後,Canvas 會停止建置並選擇最佳模型候選。

您可以指定的最長時間為 720 小時。強烈建議您讓最大任務執行時間維持在 30 分鐘以上,以確保 Canvas 有足夠的時間產生模型候選項目並完成建立模型。

進階時間序列預測模型設定

對於時間序列預測模型,Canvas 支援目標指標,如上一節所列。

時間序列預測模型也支援下列進階設定:

演算法選擇

當您建置時間序列預測模型時,Canvas 會使用統計和機器學習演算法的集合 (或組合) 來提供高度準確的時間序列預測。根據預設,Canvas 會根據資料集中的時間序列,選取所有可用演算法的最佳組合。不過,您可以選擇指定一或多個演算法,以用於預測模型。在此情況下,Canvas 只會使用您選擇的演算法來決定最佳混合。如果您不確定要為訓練模型選取哪個演算法,建議您選擇所有可用的演算法。

注意

只有標準建置才支援演算法選擇。如果您未在進階設定中選取任何演算法,則依預設會 SageMaker 執行快速建置,並使用單一樹狀學習演算法訓練模型候選項目。如需快速建置與標準建置之間差異的詳細資訊,請參閱 自訂模型的運作方式

Canvas 支援下列時間序列預測演算法:

  • Autoregressive Integrated Moving Average (ARIMA) – 使用統計分析來解譯資料並做出未來預測的簡單隨機時間序列模型。此演算法對於時間序列少於 100 的簡單資料集很有用。

  • 卷積神經網路 - 量化迴歸 (CNN-QR) – 一種專有的監督式學習演算法,可從大量時間序列中訓練一個全域模型,並使用 quantile 解碼器進行預測。CNN-QR 最適合用於包含數百個時間序列的大型資料集。

  • DeepAR + – 一種專有的監督式學習演算法,用於使用遞歸神經網路 (RNNs) 預測純量時間序列,在所有時間序列中共同訓練單一模型。DeepAR + 最適合使用包含數百個特徵時間序列的大型資料集。

  • 非參數時間序列 (NPTS) – 可擴展、概率的基準預測器,透過從過去的觀察中取樣來預測指定時間序列的未來值分佈。NPTS 在使用稀疏或間歇性時間序列時很有用 (例如,預測時間序列具有許多 0 秒或低計數的個別項目的需求)。

  • 指數平滑 (ETS) – 一種預測方法,可產生預測,這是過去觀察的加權平均值,其中較舊觀察的權重呈指數減少。此演算法對於時間序列少於 100 的簡單資料集和季節性模式的資料集非常有用。

  • Prophet – 一種附加迴歸模型,最適合具有強烈季節性效果和數個季節歷史資料的時間序列。此演算法對於具有接近限制之非線性成長趨勢的資料集很有用。

預測四分位數

針對時間序列預測, 會使用目標時間序列 SageMaker 訓練 6 個模型候選項目。然後,使用堆疊集合方法 SageMaker 結合這些模型,為指定的目標指標建立最佳預測模型。每個預測模型都會透過在 P1 和 P99 之間產生四分位數的預測來產生概率預測。這些分位數用於解釋預測的不確定性。根據預設,預測會針對 0.1 (p10)、0.5 (p50) 和 0.9 (p90) 產生。您可以選擇以 0.01 或更高的增量來指定最多五個從 0.01 (p1) 到 0.99 (p99) 的自有四分位數。