它基于貝葉斯優化(Bayesian Optimization)思想,通過構建一個概率模型來預測超參數組合的性能,從而高效地探索超參數空間。相比傳統網格搜索(Grid Search)或隨機搜索(Random Search),Optuna 更智能,能夠在較少的試驗次數內找到更優的超參數組合。
優化算法
- Optuna 默認使用 TPE(Tree-structured Parzen Estimator) 算法,這是一種貝葉斯優化方法。
- TPE 的核心思想是:
- 維護一個概率模型,基于歷史試驗的超參數和性能(目標函數),估計哪些超參數組合更有可能產生更好的結果。
- 將超參數空間分為“好”和“壞”兩部分,優先在“好”的區域內采樣新的超參數組合。
- 隨著試驗次數增加,TPE 不斷更新概率模型,逐步聚焦于表現更優的超參數區域。
剪枝機制(Pruning)
- 如果某個試驗的中間結果(例如某折交叉驗證的 MAE)明顯劣于之前試驗的中位數,Optuna 會提前終止該試驗。
- 這大大減少了計算資源浪費,尤其是在試驗次數較多或訓練時間較長的情況下。
p.s.
- 每次試驗的結果(超參數和 MAE)存儲在 SQLite 數據庫中(study_storage),便于后續分析或恢復優化過程。
- 優化完成后,Optuna 返回最佳超參數組合(study.best_params)和對應的最佳目標函數值(e.g.MAE)(study.best_value)。