

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

# 在 Amazon SageMaker AI 中評估機器學習模型的選項
<a name="how-it-works-model-validation"></a>

訓練模型後，對該模型進行評估，以判斷其效能與準確度是否能協助您達成業務目標。您能夠透過不同的方式來產生多個模型，並個別評估這些模型。例如，您可以將不同的商業規則應用至各個模型，接著套用多種方法以判斷各模型的適用性。您可能會考慮提升模型的敏感度而非特定性 (或反之)。

欲評估模型，則可善用歷史 (離線) 歷史資料或即時資料：
+ **離線測試** – 不使用即時資料，而是透過歷史資料將請求傳送至模型以獲取推論。

  您能夠將訓練後的模型部署至 alpha 端點，並使用歷史資料將推論請求傳送至該端點。若要傳送請求，請在 Amazon SageMaker AI 筆記本執行個體中使用 Jupyter 筆記本，以及 SageMaker AI 提供的 適用於 Python (Boto) 的 AWS SDK 或高階 Python 程式庫。
+ **使用即時資料進行線上測試** – SageMaker AI 支援使用生產變體對生產中的模型進行 A/B 測試。生產變體是使用相同的推論程式碼且部署在相同 SageMaker AI 端點上的模型。您可以設定生產變體，讓一小部分的即時流量傳入要驗證的模型。舉例來說，您或許會將 10% 的流量傳入模型變體，以進行評估作業。當模型的效能符合您需求之後，即可將 100% 的流量路由至已更新的模型。如需測試生產中的模型的範例，請參閱[使用生產變體測試模型](model-ab-testing.md)。

如需詳細資訊，請參閱如何評估模型的文章和相關書籍，例如，[Evaluating Machine Learning Models](http://www.oreilly.com/data/free/evaluating-machine-learning-models.csp)。

離線模型評估作業的選項包括：
+ **使用鑑效組 (holdout set) 進行驗證** - 機器學習的從業人員通常會將一部分的資料保留為 “截留驗證組”，而他們並不會使用此資料來訓練模型。

  使用此方法，可評估模型對於截留驗證組所做推論的優劣程度。然後，您可以評估模型如何有效地概括其在初始訓練中學到的知識，而不是使用模型記憶。這種驗證方法能讓您了解該模型推論出正確答案的頻率。

   

  此方法在某些方面與教導小學生相似。首先，您會將一組範例提供給他們學習，接著測試他們歸納學習內容的能力。透過家庭作業和測驗，您可以提出未涵蓋在基礎學習中的問題，藉此判斷他們是否能有效地統整內容。而記憶力強的學生能夠記得問題，而非死記學到的規則。

   

  一般而言，截留驗證組會包含 20-30% 的訓練資料內容。

   
+ **K 折驗證** - 在此驗證方法中，您會將範例資料集分成 *k* 個部分。您可以將每個部份都視為 *k* 訓練執行作業的截留驗證組，並將其他的 *k*-1 部份當做該執行作業的訓練組。您使用類似的程序產生 *k* 個模型，並彙整這些模型來產生最終的模型。*k* 值的範圍通常落在 5 至 10 之間。