本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon SageMaker AI 中評估機器學習模型的選項
訓練模型後,對該模型進行評估,以判斷其效能與準確度是否能協助您達成業務目標。您能夠透過不同的方式來產生多個模型,並個別評估這些模型。例如,您可以將不同的商業規則應用至各個模型,接著套用多種方法以判斷各模型的適用性。您可能會考慮提升模型的敏感度而非特定性 (或反之)。
欲評估模型,則可善用歷史 (離線) 歷史資料或即時資料:
-
離線測試 – 不使用即時資料,而是透過歷史資料將請求傳送至模型以獲取推論。
您能夠將訓練後的模型部署至 alpha 端點,並使用歷史資料將推論請求傳送至該端點。若要傳送請求,請在 Amazon SageMaker AI 筆記本執行個體和 SageMaker AI 提供的 AWS SDK for Python (Boto) 或高階 Python 程式庫中使用 Jupyter 筆記本。 SageMaker
-
使用即時資料進行線上測試:SageMaker AI 支援使用生產變體在生產環境中對模型進行 A/B 測試。生產變體是使用相同推論程式碼,並部署在相同 SageMaker AI 端點上的模型。您可以設定生產變體,讓一小部分的即時流量傳入要驗證的模型。舉例來說,您或許會將 10% 的流量傳入模型變體,以進行評估作業。當模型的效能符合您需求之後,即可將 100% 的流量路由至已更新的模型。如需測試生產中的模型的範例,請參閱使用生產變體測試模型。
如需詳細資訊,請參閱如何評估模型的文章和相關書籍,例如,Evaluating Machine Learning Models
離線模型評估作業的選項包括:
-
使用鑑效組 (holdout set) 進行驗證 - 機器學習的從業人員通常會將一部分的資料保留為 “截留驗證組”,而他們並不會使用此資料來訓練模型。
使用此方法,可評估模型對於截留驗證組所做推論的優劣程度。然後,您可以評估模型如何有效地概括其在初始訓練中學到的知識,而不是使用模型記憶。這種驗證方法能讓您了解該模型推論出正確答案的頻率。
此方法在某些方面與教導小學生相似。首先,您會將一組範例提供給他們學習,接著測試他們歸納學習內容的能力。透過家庭作業和測驗,您可以提出未涵蓋在基礎學習中的問題,藉此判斷他們是否能有效地統整內容。而記憶力強的學生能夠記得問題,而非死記學到的規則。
一般而言,截留驗證組會包含 20-30% 的訓練資料內容。
-
K 折驗證 - 在此驗證方法中,您會將範例資料集分成 k 個部分。您可以將每個部份都視為 k 訓練執行作業的截留驗證組,並將其他的 k-1 部份當做該執行作業的訓練組。您使用類似的程序產生 k 個模型,並彙整這些模型來產生最終的模型。k 值的範圍通常落在 5 至 10 之間。