選擇參數以在 機器學習 Studio 中最佳化您的演算法 (傳統)
適用於:機器學習 Studio(傳統版)Azure 機器學習
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
本主題描述如何在 機器學習 Studio 中為演算法選擇正確的超參數集(傳統)。 大部分的機器學習演算法都有要設定的參數。 當您定型模型時,您必須提供這些參數的值。 定型模型的效力取決於您選擇的模型參數。 尋找最佳參數集的程序稱為 模型選取。
有各種方式可以進行模型選取。 在機器學習中,交叉驗證是模型選取最廣泛使用的方法之一,它是 機器學習 Studio 中預設的模型選取機制(傳統)。 由於 機器學習 Studio (傳統版) 同時支援 R 和 Python,因此您一律可以使用 R 或 Python 來實作自己的模型選取機制。
尋找最佳參數集的過程中有四個步驟:
- 定義參數空間:針對演算法,請先決定您想要考慮的確切參數值。
- 定義交叉驗證設定:決定如何為數據集選擇交叉驗證折疊。
- 定義計量:決定要用來判斷最佳參數集的計量,例如精確度、根均方誤差、精確度、召回率或 f 分數。
- 定型、評估和比較:針對參數值的每個唯一組合,交叉驗證會根據您定義的錯誤計量來執行。 在評估和比較之後,您可以選擇效能最佳的模型。
下圖說明如何在 機器學習 Studio 中達成此目的(傳統)。
定義參數空間
您可以在模型初始化步驟中定義參數集。 所有機器學習演算法的參數窗格都有兩種定型模式: 單一參數 和 參數範圍。 選擇 [參數範圍] 模式。 在 [參數範圍] 模式中,您可以為每個參數輸入多個值。 您可以在文字框中輸入逗號分隔值。
或者,您可以定義網格線的最大值和最小值,以及使用 範圍產生器所產生的點總數。 根據預設,參數值會以線性刻度產生。 但是,如果 檢查 Log Scale,則會在記錄尺 規中產生值(也就是相鄰點的比例是常數,而不是其差異)。 針對整數參數,您可以使用連字元來定義範圍。 例如,“1-10” 表示介於 1 到 10 之間的所有整數都會形成參數集。 也支援混合模式。 例如,參數集 「1-10, 20, 50」 會包含整數 1-10、20 和 50。
定義交叉驗證折疊
數據 分割和範例 模組可用來隨機指派折疊給數據。 在模組的下列範例組態中,我們會定義五個折疊,並將折疊數隨機指派給範例實例。
定義計量
微調 模型超參數模組 支持經驗選擇指定演算法和數據集的最佳參數集。 除了定型模型的其他資訊之外,本課程模組的 [ 屬性 ] 窗格還包含用來判斷最佳參數集的計量。 它分別有兩個不同的分類和回歸演算法下拉式清單框。 如果考慮的演算法是分類演算法,則會忽略回歸計量,反之亦然。 在此特定範例中,計量為 精確度。
定型、評估和比較
相同的 微調模型超參數 模組會訓練對應至參數集的所有模型、評估各種計量,然後根據您選擇的計量建立最佳定型模型。 此課程模組有兩個必要輸入:
- 未經訓練的學習者
- 數據集
模組也有選擇性的數據集輸入。 將數據集與折疊資訊連接到強制數據集輸入。 如果未指派數據集任何折疊資訊,則預設會自動執行 10 倍交叉驗證。 如果未完成折疊指派,並在選擇性數據集埠提供驗證數據集,則會選擇定型測試模式,並使用第一個數據集來訓練每個參數組合的模型。
然後,在驗證數據集上評估模型。 模組的左側輸出埠會將不同的計量顯示為參數值的函式。 正確的輸出埠會根據所選的計量,提供與最佳效能模型對應的定型模型(在此案例中為精確度 )。
您可以透過視覺化正確的輸出埠來查看選擇的確切參數。 在儲存為定型模型之後,此模型可用於評分測試集或操作化Web服務。