一、簡單划分:數據集:測試集=7:3
問題:
1).沒有充分的利用數據集;
2).回歸問題中的MSE(mean square error)受到划分比例的影響,導致最終模型的最優參數選擇也受到划分比例的影響。
【圖來源:https://zhuanlan.zhihu.com/p/24825503?refer=rdatamining】
右側是10種數據集划分方法得到的"不同階次的多項式模型—均方差"圖
可以看到,不同的數據集划分方式,達到最小MSE的多項式模型是不同的,所以這種“一刀切”的簡單數據集划分方法不夠合理。
二、LOOCV(leave-one-out cross validation)
每次選取1個樣本作為測試樣本,其余n-1個作為訓練樣本。若為回歸模型,分n次進行MSE計算,最終MSE取均值。
優點:不受數據集划分方法的影響;
缺點:計算量太大,計算成本是簡單划分的n-1倍。
三、k折交叉驗證(k-fold cross validation)
1.k取值:
一般取k=5~10;
考慮k對bias(可表征模型對樣本的擬合精度)和variance(可表征模型泛化能力)的影響,k越大,bias越小,variance越大;k越小,bias越大,variance越小。所以為了平衡bias和variance,一般選取k=5~10。【bias大,模型欠擬合,variance大,模型過擬合,所以k的選取關系到模型的欠擬合和過擬合】
2.k折交叉驗證含義:
若k=5,將數據集分成5份,每次取1份作為測試集,其余4份作為訓練集。若為回歸模型,分5次進行MSE計算,最終MSE取均值。
若為分類模型,分五次進行錯分類統計,最終錯分類個數取均值。
【Erri是第i組測試集中錯分類的個數。】
3.k-fold CV 優點
兼具簡單划分和LOOCV的優點:不受數據集划分方法的影響(LOOCV);且計算量小(簡單划分)
4.k-fold CV 精度
【圖來源:https://zhuanlan.zhihu.com/p/24825503?refer=rdatamining】
圖中,紅線代表k折驗證,黑色虛線代表LOOCV。【LOOCV可看作k=N的交叉驗證】
參考資料:
1.機器學習:交叉驗證詳解,https://zhuanlan.zhihu.com/p/24825503?refer=rdatamining,作者:文兄