詳細解釋
超參數(Hyperparameter)是機器學習模型訓練前需要設定的配置參數,控制學習過程和模型結構,不從數據中學習,需要人工或自動化方法調優。
類型:
- 模型結構:
- 網絡深度(層數)
- 網絡寬度(每層神經元數)
- 架構選擇(CNN、RNN、Transformer)
- 優化參數:
- 學習率(最重要)
- 批次大小
- 優化器選擇(SGD、Adam等)
- 學習率調度
- 正則化參數:
- Dropout率
- 權重衰減係數
- 早停耐心值
- 訓練過程:
- Epoch數量
- 驗證頻率
- 檢查點策略
調優方法:
- 網格搜索(Grid Search):窮舉所有組合
- 隨機搜索(Random Search):隨機採樣,通常更有效
- 貝葉斯優化:基於先驗智能搜索
- 進化算法:遺傳算法優化
- 手動調參:基於經驗和直覺
重要性排序:
- 最重要:學習率
- 次重要:批次大小、優化器
- 然後:正則化強度
- 最後:細節微調
自動化工具:
- Optuna:貝葉斯優化框架
- Ray Tune:大規模分布式調參
- Hyperopt:早期優化庫
- Weights & Biases Sweeps:實驗追蹤+調參
與模型參數的區別:
- 模型參數(θ):從數據學習(權重、偏差)
- 超參數:訓練前設定,控制學習過程
- 嵌套優化:外層優化超參數,內層學習模型參數
最佳實踐:
- 驗證集:調參必須在驗證集,非測試集
- 最終評估:調好後在測試集評估一次
- 文檔記錄:記錄所有嘗試和結果
- 可重現:固定隨機種子
超參數調優是機器學習的藝術和科學。