AI時代系列(3) 機器學習三部曲: 🔹 第一部:《機器學習 —— AI 智慧的啟航》
53/100 第六週:模型評估與優化
53. 超參數調整(Grid Search, Random Search, Bayesian Optimization) 🎛 如何調整超參數,讓模型表現更佳?
超參數調整(Hyperparameter Tuning)🎛
如何調整超參數,讓模型表現更佳?
________________________________________
🔎 一、什麼是「超參數」?
• 超參數(Hyperparameters) 是訓練前就必須設定好的參數,直接影響模型學習的過程與結果。
• 舉例:
o KNN 的鄰居數(k)
o 決策樹 的最大深度
o SVM 的 C、gamma
o 神經網路 的學習率(learning rate)、batch size、層數、神經元數量
✅ 超參數 ≠ 權重參數(模型內部學習出來的參數)
________________________________________
🌟 二、為什麼要調整超參數?
• 超參數直接決定:
✅ 模型的表現(準確率、泛化能力)
✅ 訓練速度和穩定性
✅ 是否會過擬合或欠擬合
• 調整(Tuning)得好,模型 性能大躍進;調整錯,直接爆炸
________________________________________
🎯 三、常見超參數調整方法對比
在機器學習中,超參數調整是提升模型效能的重要步驟,常見方法包括 Grid Search、Random Search 與 Bayesian Optimization。Grid Search 採用窮舉法,測試所有可能參數組合,雖然全面但效率低、計算量大;Random Search 則隨機挑選部分組合,速度較快且在高維空間中往往比 Grid 更有效率,但不保證能找到最佳解;Bayesian Optimization 則透過機率模型(如高斯過程)預測與引導參數選擇路徑,能更聰明地收斂至最佳解,但實作較複雜,需額外套件支援。選擇合適方法需視資源限制與問題複雜度而定。
________________________________________
🛠 四、Python 範例(以 GridSearchCV 示範)
python
from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
X, y = load_iris(return_X_y=True)
param_grid = {
'n_estimators': [50, 100, 200],
'max_depth': [3, 5, 10]
}
grid_search = GridSearchCV(RandomForestClassifier(), param_grid, cv=5)
grid_search.fit(X, y)
print("最佳參數:", grid_search.best_params_)
print("最佳分數:", grid_search.best_score_)
這段程式碼透過 GridSearchCV 對隨機森林分類器進行超參數調整,針對鳶尾花(Iris)資料集設定不同的樹數量與深度組合,並以 5 折交叉驗證全面評估每組參數的準確率,最終找出表現最佳的組合及其對應的平均準確率。此方法系統性地搜尋所有可能參數配置,適用於資料量不大且希望獲得最佳模型效能的情境,是實務中常用且穩健的模型優化策略。
最佳參數: {'max_depth': 3, 'n_estimators': 200}
最佳分數: 0.9666666666666668
✅ 結果:自動找到最適合的樹數和深度組合!
________________________________________
📈 五、什麼時候該用哪一種方法?
情境 建議方法
小數據集、少量參數 ✅ Grid Search
參數組合太大,計算成本高 ✅ Random Search
高成本模型(如深度學習) ✅ Bayesian Optimization
想兼顧速度與效果 ✅ 先 Random Search 粗調,再 Grid Search 微調
________________________________________
🧠 六、進階工具推薦:
工具 特色
GridSearchCV / RandomizedSearchCV(sklearn) 經典、好用
Optuna(Python 套件) 支援貝葉斯優化、自動早停,速度快
Hyperopt / Ray Tune 適合大規模分散式調參
Keras Tuner 深度學習專用
________________________________________
📌 七、總結精華:
✅ 超參數調整 = 讓模型發揮最佳實力的「調校過程」
✅ 「不調參」的模型就像沒跑過測試的車,表現很難穩定
✅ 善用工具,避免盲目暴力搜尋,效率翻倍、效果更佳!
________________________________________
🎯 一語精華:
🎛 模型好不好,超參數來決定!調參調得好,模型飛起來!
________________________________________
如果你需要: ✅ PowerPoint 版流程圖(Grid → Random → Bayesian)
✅ 實務案例(金融、醫療調參示範)
✅ 視覺化圖表(超參數 vs. 模型表現曲線)
直接告訴我!我馬上幫你設計 😎