模型選擇 是什麼?

Model Selection:模型選擇 的完整解釋

從多個候選機器學習模型中,依評估指標與驗證策略選出泛化能力最佳的決策過程。

模型選擇(Model Selection)是機器學習開發生命週期中的核心決策環節,橫跨「選擇哪種演算法」與「如何最佳化超參數」兩個層次。好的模型選擇流程能防止過擬合(Overfitting)與欠擬合(Underfitting),確保模型在未見過的新資料上具有良好的泛化能力。

模型選擇的兩個層次

第一層:演算法選擇。決定使用哪類機器學習演算法,如線性模型(Logistic Regression、Ridge)、樹狀模型(決策樹、隨機森林、XGBoost)、深度學習模型(MLP、CNN、Transformer)、核函數方法(SVM)等。選擇通常基於資料量、特徵維度、任務類型(分類/迴歸/序列)以及對可解釋性的要求。

第二層:超參數調整。在選定演算法後,尋找最佳的超參數配置,例如神經網路的學習率(Learning Rate)、正則化強度(λ)、樹的深度(Max Depth)等。這些參數無法從訓練資料直接學得,需透過驗證策略系統性地搜尋。

驗證策略:如何公正評估模型

Hold-out Validation:將資料集分割為訓練集(Train)和驗證集(Validation),通常 70/30 或 80/20,簡單快速但結果受到分割方式(尤其小資料集)的隨機影響。

K-Fold Cross-Validation:將資料分成 K 等份(Folds),每次以其中一份作為驗證集,其餘 K-1 份作為訓練集,重複 K 次並取平均。K=5 或 K=10 最常用,評估結果更穩定且充分利用所有資料。

Stratified K-Fold:K-Fold 的變體,保證每個 Fold 中各類別的比例與整體資料相同,適合類別不平衡的分類問題。

Nested Cross-Validation:外層 CV 評估模型的泛化效能,內層 CV 選擇超參數,防止因同時用同一批資料選參數和評估而產生樂觀偏差。適合小資料集或需要嚴格效能估計的場景,但計算成本高(總 fold 數 = 外層 × 內層)。

評估指標的選擇

不同任務使用不同的評估指標:

  • 二元分類:Accuracy、Precision、Recall、F1、AUC-ROC,不平衡資料優先選 F1 或 AUC
  • 多分類:Macro/Micro F1、Weighted F1
  • 迴歸:MSE、RMSE、MAE、R²
  • 序列生成:BLEU、ROUGE、Perplexity

複雜度懲罰:避免過擬合的理論基礎 在效能相近的情況下,奧卡姆剃刀原則(Occam's Razor)建議選擇較簡單的模型,因為複雜模型更容易過擬合。AIC(赤池資訊準則)和 BIC(貝葉斯資訊準則)提供了將模型複雜度(參數數量)納入考量的量化指標,懲罰不必要的參數。

AutoML 與超參數搜尋自動化 Grid Search:窮舉所有超參數組合(笛卡爾積),確保找到搜尋空間內的最優解,但計算成本隨參數數量指數增長。 Random Search:在超參數空間中隨機採樣,統計上每個參數的每個值都有均等機會被採樣,實驗顯示在高維空間中通常比 Grid Search 更有效率。 Bayesian Optimization:用代理模型(通常是高斯過程 GP 或樹形 Parzen 估計器 TPE)預測哪些超參數配置最可能有好的效果,依序採樣最有希望的點,是目前效率最高的超參數搜尋方法,廣泛用於 Optuna、SMAC、Ray Tune 等框架。

時間序列資料的特殊驗證策略

標準 K-Fold CV 假設資料點之間彼此獨立(IID),但時間序列資料存在時序依賴,未來的資料不能用於訓練預測過去的模型。應使用 Time-Series Split(或 Walk-Forward Validation):訓練集只能使用時間上早於驗證集的資料,逐步向前滾動,確保驗證集始終模擬真實的「用過去預測未來」情境。

常見問題