交叉驗(yàn)證(也稱為"過采樣"技術(shù))是數(shù)據(jù)科學(xué)項(xiàng)目的基本要素。 它是一種重采樣過程,用于評估機(jī)器學(xué)習(xí)模型并訪問該模型對獨(dú)立測試數(shù)據(jù)集的性能。
在本文中,您可以閱讀以下大約8種不同的交叉驗(yàn)證技術(shù),各有其優(yōu)缺點(diǎn):
1. Leave p out cross-validation
1. Leave one out cross-validation
1. Holdout cross-validation
1. Repeated random subsampling validation
1. k-fold cross-validation
1. Stratified k-fold cross-validation
1. Time Series cross-validation
1. Nested cross-validation
在介紹交叉驗(yàn)證技術(shù)之前,讓我們知道為什么在數(shù)據(jù)科學(xué)項(xiàng)目中應(yīng)使用交叉驗(yàn)證。
為什么交叉驗(yàn)證很重要?
我們經(jīng)常將數(shù)據(jù)集隨機(jī)分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),以開發(fā)機(jī)器學(xué)習(xí)模型。 訓(xùn)練數(shù)據(jù)用于訓(xùn)練ML模型,同一模型在獨(dú)立的測試數(shù)據(jù)上進(jìn)行測試以評估模型的性能。
隨著分裂隨機(jī)狀態(tài)的變化,模型的準(zhǔn)確性也會發(fā)生變化,因此我們無法為模型獲得固定的準(zhǔn)確性。 測試數(shù)據(jù)應(yīng)與訓(xùn)練數(shù)據(jù)無關(guān),以免發(fā)生數(shù)據(jù)泄漏。 在使用訓(xùn)練數(shù)據(jù)開發(fā)ML模型的過程中,需要評估模型的性能。 這就是交叉驗(yàn)證數(shù)據(jù)的重要性。
數(shù)據(jù)需要分為:
· 訓(xùn)練數(shù)據(jù):用于模型開發(fā)
· 驗(yàn)證數(shù)據(jù):用于驗(yàn)證相同模型的性能
簡單來說,交叉驗(yàn)證使我們可以更好地利用我們的數(shù)據(jù)。
1.Leave p-out cross-validation
LpOCV是一種詳盡的交叉驗(yàn)證技術(shù),涉及使用p觀測作為驗(yàn)證數(shù)據(jù),而其余數(shù)據(jù)則用于訓(xùn)練模型。 以所有方式重復(fù)此步驟,以在p個觀察值的驗(yàn)證集和一個訓(xùn)練集上切割原始樣本。
已推薦使用p = 2的LpOCV變體(稱為休假配對交叉驗(yàn)證)作為估計(jì)二進(jìn)制分類器ROC曲線下面積的幾乎無偏的方法。
2. Leave-one-out cross-validation
留一法交叉驗(yàn)證(LOOCV)是一種詳盡的窮盡驗(yàn)證技術(shù)。 在p = 1的情況下,它是LpOCV的類別。
對于具有n行的數(shù)據(jù)集,選擇第1行進(jìn)行驗(yàn)證,其余(n-1)行用于訓(xùn)練模型。對于下一個迭代,選擇第2行進(jìn)行驗(yàn)證,然后重置來訓(xùn)練模型。類似地,這個過程重復(fù)進(jìn)行,直到n步或達(dá)到所需的操作次數(shù)。
以上兩種交叉驗(yàn)證技術(shù)都是詳盡交叉驗(yàn)證的類型。窮盡性交叉驗(yàn)證方法是交叉驗(yàn)證方法,以所有可能的方式學(xué)習(xí)和測試。他們有相同的優(yōu)點(diǎn)和缺點(diǎn)討論如下:
優(yōu)點(diǎn): 簡單,易于理解和實(shí)施
缺點(diǎn): 該模型可能會導(dǎo)致較低的偏差、所需的計(jì)算時間長
3.Holdout cross-validation
保留技術(shù)是一種詳盡的交叉驗(yàn)證方法,該方法根據(jù)數(shù)據(jù)分析將數(shù)據(jù)集隨機(jī)分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。
在保留交叉驗(yàn)證的情況下,數(shù)據(jù)集被隨機(jī)分為訓(xùn)練和驗(yàn)證數(shù)據(jù)。 通常,訓(xùn)練數(shù)據(jù)的分割不僅僅是測試數(shù)據(jù)。 訓(xùn)練數(shù)據(jù)用于推導(dǎo)模型,而驗(yàn)證數(shù)據(jù)用于評估模型的性能。
用于訓(xùn)練模型的數(shù)據(jù)越多,模型越好。 對于保留交叉驗(yàn)證方法,需要從訓(xùn)練中隔離大量數(shù)據(jù)。
優(yōu)點(diǎn):和以前一樣,簡單,易于理解和實(shí)施
缺點(diǎn): 不適合不平衡數(shù)據(jù)集、許多數(shù)據(jù)與訓(xùn)練模型隔離
4. k-fold cross-validation
在k折交叉驗(yàn)證中,原始數(shù)據(jù)集被平均分為k個子部分或折疊。 從k折或組中,對于每次迭代,選擇一組作為驗(yàn)證數(shù)據(jù),其余(k-1)個組選擇為訓(xùn)練數(shù)據(jù)。
該過程重復(fù)k次,直到將每個組視為驗(yàn)證并保留為訓(xùn)練數(shù)據(jù)為止。
模型的最終精度是通過獲取k模型驗(yàn)證數(shù)據(jù)的平均精度來計(jì)算的。
LOOCV是k折交叉驗(yàn)證的變體,其中k = n。
優(yōu)點(diǎn):
· 該模型偏差低
· 時間復(fù)雜度低
· 整個數(shù)據(jù)集可用于訓(xùn)練和驗(yàn)證
缺點(diǎn):不適合不平衡數(shù)據(jù)集。
5. Repeated random subsampling validation
重復(fù)的隨機(jī)子采樣驗(yàn)證(也稱為蒙特卡洛交叉驗(yàn)證)將數(shù)據(jù)集隨機(jī)分為訓(xùn)練和驗(yàn)證。 數(shù)據(jù)集的k倍交叉驗(yàn)證不太可能分成幾類,而不是成組或成對,而是在這種情況下隨機(jī)地成組。
迭代次數(shù)不是固定的,而是由分析決定的。 然后將結(jié)果平均化。
重復(fù)隨機(jī)二次抽樣驗(yàn)證
優(yōu)點(diǎn): 訓(xùn)練和驗(yàn)證拆分的比例不取決于迭代或分區(qū)的數(shù)量
缺點(diǎn): 某些樣本可能無法選擇用于訓(xùn)練或驗(yàn)證、不適合不平衡數(shù)據(jù)集
6. Stratified k-fold cross-validation
對于上面討論的所有交叉驗(yàn)證技術(shù),它們可能不適用于不平衡的數(shù)據(jù)集。 分層k折交叉驗(yàn)證解決了數(shù)據(jù)集不平衡的問題。
在分層k倍交叉驗(yàn)證中,數(shù)據(jù)集被劃分為k個組或折疊,以使驗(yàn)證數(shù)據(jù)具有相等數(shù)量的目標(biāo)類標(biāo)簽實(shí)例。 這樣可以確保在驗(yàn)證或訓(xùn)練數(shù)據(jù)中不會出現(xiàn)一個特定的類,尤其是在數(shù)據(jù)集不平衡時。
分層k折交叉驗(yàn)證,每折具有相等的目標(biāo)類實(shí)例
最終分?jǐn)?shù)是通過取各折分?jǐn)?shù)的平均值來計(jì)算的
優(yōu)點(diǎn): 對于不平衡的數(shù)據(jù)集,效果很好。
缺點(diǎn): 現(xiàn)在適合時間序列數(shù)據(jù)集。
7. Time Series cross-validation
數(shù)據(jù)的順序?qū)τ谂c時間序列相關(guān)的問題非常重要。 對于與時間相關(guān)的數(shù)據(jù)集,將數(shù)據(jù)隨機(jī)拆分或k折拆分為訓(xùn)練和驗(yàn)證可能不會產(chǎn)生良好的結(jié)果。
對于時間序列數(shù)據(jù)集,根據(jù)時間將數(shù)據(jù)分為訓(xùn)練和驗(yàn)證,也稱為前向鏈接方法或滾動交叉驗(yàn)證。 對于特定的迭代,可以將訓(xùn)練數(shù)據(jù)的下一個實(shí)例視為驗(yàn)證數(shù)據(jù)。
如上圖所述,對于第一個迭代,第一個3行被視為訓(xùn)練數(shù)據(jù),下一個實(shí)例T4是驗(yàn)證數(shù)據(jù)。 選擇訓(xùn)練和驗(yàn)證數(shù)據(jù)的機(jī)會將被進(jìn)一步迭代。
8. Nested cross-validation
在進(jìn)行k折和分層k折交叉驗(yàn)證的情況下,我們對訓(xùn)練和測試數(shù)據(jù)中的錯誤估計(jì)差。 超參數(shù)調(diào)整是在較早的方法中單獨(dú)完成的。 當(dāng)交叉驗(yàn)證同時用于調(diào)整超參數(shù)和泛化誤差估計(jì)時,需要嵌套交叉驗(yàn)證。
嵌套交叉驗(yàn)證可同時應(yīng)用于k折和分層k折變體。
結(jié)論
交叉驗(yàn)證用于比較和評估ML模型的性能。 在本文中,我們介紹了8種交叉驗(yàn)證技術(shù)及其優(yōu)缺點(diǎn)。 k折和分層k折交叉驗(yàn)證是最常用的技術(shù)。 時間序列交叉驗(yàn)證最適合與時間序列相關(guān)的問題。
這些交叉驗(yàn)證的實(shí)現(xiàn)可以在sklearn包中找到。 有興趣的讀者可以閱讀sklearn文檔以獲取更多詳細(xì)信息。
https://scikit-learn.org/stable/modules/cross_validation.html
作者:Satyam Kumar
deephub翻譯組






