K折交叉驗證學習

2021-10-23 18:01:10 字數 450 閱讀 4735

交叉驗證主要用於防止模型過於複雜而引起的過擬合,是一種評價訓練資料的資料集泛化 能力的統計方法。其基本思想是將原始資料進行劃分,分成訓練集和測試集,訓練集用來對模型進行訓練,測試集用來測試訓練得到的模型,以此來作為模型的評價指標。

講原始資料d按比例劃分,比如7:3,從資料集中隨機選取70%作為訓練集,剩餘的百分之30作為測試集。但是只做一次的話資料就沒有充分利用,所以一般有以下規則:

如果訓練資料集相對較小,則會增大k值,如果訓練集相對較大,則減小k值。

將原始資料d隨機分成k份,每次選擇(k-1)份作為訓練集,剩餘的1份(紅色部分)作為測試集。交叉驗證重複k次,取k次準確率的平均值作為最終模型的評價指標。過程如下圖所示,它可以有效避免過擬合和欠擬合狀態的發生,k值的選擇根據實際情況調節。

k折交叉驗證

在做機器學習這方面研究的時候,例如pcr和pls等演算法時常會遇到最佳潛變數的選取,神經元個數的選取 這些引數的選取對模型的質量產生極大的影響。如果人為選取,這樣是十分不可靠的也是不現實的。進行交叉驗證是乙個優秀模型形成必不可少的過程。交叉驗證的目的是為了得到更為穩健可靠的模型。交叉驗證的方法有許多...

K折交叉驗證

k 層交叉檢驗之後,我們得到 k 個不同的模型誤差估算值 e1,e2 ek 理想的情況是,這些誤差值相加得 0 要計算模型的偏誤,我們把所有這些誤差值相加。平均值越低,模型越優秀。模型表現變化程度的計算與之類似。取所有誤差值的標準差,標準差越 明模型隨訓練資料的變化越小。from sklearn i...

K折交叉驗證 (cv)

之前一直理解錯了 我知道k折交叉驗證是在模型選擇過程 model selection 中用來評估候選模型的。把整個訓練集分成k份,一共進行k次評估,每次用k 1份訓練,用1份來驗證。之前以為這k次是對同乙個模型迭代訓練的,其實不是!其實是產生了k個模型,對他們的誤差取平均,來評估你選擇的模型好不好,...