

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

# 線性學習程式的運作方式
<a name="ll_how-it-works"></a>

實作線性學習程式演算法涉及三個步驟：預先處理、訓練和驗證。

## 步驟 1：預先處理
<a name="step1-preprocessing"></a>

標準化 (或特徵擴展) 是某些遺失函式的重要預先處理步驟，此步驟可確保正在資料集上訓練的模型不會受到單一特徵的權重影響。Amazon SageMaker AI 線性學習程式演算法具有標準化選項，可協助此預先處理步驟。如果開啟標準化，此演算法會先瀏覽資料的小部分範本，以了解每個特徵和標籤的平均值和標準偏差。然後，完整資料集中的每個特徵都會移至平均值為零，並經調整以符合單位標準偏差。

**注意**  
為獲得最佳結果，請確保在訓練前將您的資料隨機排列。使用未隨機排列的資料進行訓練可能會導致訓練失敗。

您可以設定線性學習程式演算法是否分別使用 `normalize_data` 和 `normalize_label` 超參數，來將特徵資料和標籤標準化。預設會同時針對迴歸的特徵和標籤啟用標準化。只可將二元分類的特徵標準化，這是預設行為。

## 步驟 2：訓練
<a name="step2-training"></a>

使用線性學習程式演算法，您可以利用隨機梯度下降 (SGD) 的分散式實作開展訓練。您可以選擇最佳化演算法藉以控制最佳化程序。例如，您可以選擇使用 Adam、AdaGrad、隨機梯度下降法，或其他最佳化演算法。您也可以指定它們的超參數，例如動能、學習速率和學習速率排程。如果您不確定該使用哪些演算法或超參數值，請選擇適用於大部分資料集的預設值。

在訓練期間，您會同時最佳化多個模型，每個的目標都略有不同。例如，改變 L1 或 L2 正規化，甄別不同的最佳化工具設定。

## 步驟 3：驗證與設定閾值
<a name="step3-validation"></a>

平行訓練多個模型時，系統會根據驗證集來評估這些模型，以便在訓練完成時立即選取最佳化的模型。對於迴歸，最佳化的模型是在驗證集上達到最佳損失的模型。對於分類，驗證集的範本會用於校正分類閾值。選取的最佳化模型是在驗證集上達到最佳二元分類選取項目條件的模型。這類標準的範例包括 F1 測量、準確度和跨熵遺失。

**注意**  
如果未將驗證集提供給演算法，則無法評估並選取最佳化的模型。若要利用平行訓練和模型選取項目，請確保將驗證集提供給演算法。