交叉驗證

版權聲明:本文爲博主-姜興琪原創文章,未經博主允許不得轉載。

訓練集用來訓練模型,驗證集用於模型的選擇,而測試集用於最終對學習方法的評估。

在學習到不同的複雜度的模型中,選擇對驗證集有最小預測誤差的模型,由於驗證集有足夠多的數據,用它對模型進行選擇也是有效的。

但是,在許多實際應用中數據是不充足的,爲了選擇好的模型,可以採用交叉驗證方法,交叉驗證的基本思想是重複地使用數據;把給定的數據進行切分,將切分的數據組合爲訓練集和測試集,在此基礎上反覆地進行訓練、測試以及模型選擇。

1、簡單交叉驗證

簡單交叉驗證是:首先隨機地將已給數據分成兩部分,一部分作爲訓練集,另一部分作爲測試集(比如,70%的數據爲訓練集,30%的數據爲測試集);然後用訓練集在各種情況下(例如,不同的參數個數)訓練模型,從而得到不同的模型;在測試集上評價各個模型的測試誤差,選出測試誤差最小的模型。

2、S折交叉驗證

應用最多是S折交叉驗證,方法如下:首先隨機地將已給數據切分爲S個互不相交的大小相同的子集;然後利用S-1個子集的數據訓練模型,利用餘下的子集測試模型;將這一過程對可能的S種選擇重複進行;最後選出S次評測中平均測試誤差最小的模型。

3、留一交叉驗證

S折交叉驗證的特殊情形是S==N,稱爲留一交叉驗證,往往在數據缺乏的情況下使用,這裏,N是給定數據集的容量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章