詳細解釋
交叉驗證(Cross-Validation)是評估模型泛化性能的統計方法,將數據分為訓練集和驗證集多次,減少評估偏差。
K折交叉驗證:
- 將數據分為K個子集(fold)
- K次迭代,每次用K-1個子集訓練,1個測試
- 計算K次驗證的平均性能
- K通常5或10
優勢:
- 減少方差:比單次劃分更穩定
- 充分利用數據:每個樣本都作為驗證
- 偏差-方差權衡:調節K值
- 模型選擇:比較不同算法
變體:
- 留一法(LOO):K=N,極端情況
- 分層K折:保持類別比例
- 時間序列:前向驗證
- 群組K折:相關樣本同fold
注意事項:
- 計算成本:K倍訓練時間
- 數據洩漏:預處理要在fold內
- 隨機性:多次運行取平均
- 嵌套CV:超參調優與評估分離
應用:
- 模型選擇:比較算法
- 超參優化:選擇最佳參數
- 特徵選擇:評估特徵重要性
- 性能評估:無偏估計
交叉驗證是機器學習模型評估的標準實踐。