自動化機器學習 (AutoML)

如果您要開始進行新的機器學習 (ML) 專案,可能會想知道是否只能透過手動訓練來建構機器學習模型。手動訓練時,您會使用機器學習架構編寫程式碼,以建立模型。在這個過程中,您可以選擇要探索的演算法,並逐步調整超參數,找出合適的模型。

當然,您不只需要考慮模型訓練。實際上,從原型設計到正式環境的機器學習模型建構作業,需要執行重複的工作,也需要專業技能。簡單的探索性 ML 工作流程如下所示:

圖 1. 簡單的機器學習工作流程。
圖 1:簡單的機器學習探索工作流程。

重複性工作:機器學習工作流程可能會涉及重複性工作和實驗。舉例來說,在模型開發期間,您通常需要探索不同的演算法和超參數組合,才能找出最合適的模型。透過手動訓練,您可以編寫專用程式碼來訓練模型,然後調整程式碼,以便使用不同的機器學習演算法和超參數執行實驗,找出最佳模型。對於小型或探索性專案而言,這個手動程序可能不會造成問題,但對於大型專案而言,這些重複的工作可能會耗費許多時間。

專門技能:手動開發機器學習模型需要專門技能。實際上,並非每個打算開發機器學習模型的團隊都具備這些技能。如果團隊沒有專屬的數據資料學家,手動執行這項工作可能就無法實現。

幸運的是,模型開發過程中的某些步驟可以自動化,藉此減少重複工作的負擔,並減少專業技能的需求。本單元將介紹自動化機器學習 (AutoML) 的相關主題,並說明如何自動執行這些工作。

什麼是 AutoML?

AutoML 是指自動執行機器學習工作流程中的特定工作。您可以將 AutoML 視為一組工具和技術,可加快機器學習模型的建構速度,並讓更多使用者存取這些模型。雖然自動化功能可協助完成整個機器學習工作流程,但與 AutoML 相關的任務通常是指圖 1 所示的模型開發週期。這些重複性工作包括:

  • 資料工程
    • 特徵工程。
    • 特徵選取。
  • 訓練
    • 找出合適的機器學習演算法。
    • 選擇最佳超參數。
  • 分析
    • 根據測試和驗證資料集,評估訓練期間產生的指標。

使用 AutoML 時,您可以專注於機器學習問題和資料,而無須費心挑選特徵、調整超參數,以及選擇合適的演算法。