[機器學習] 訓練集(train set) 驗證集(validation set) 測試集(test set)

來源:互聯網
上載者:User
在有監督(supervise)的機器學習中,資料集常被分成2~3個即:

訓練集(train set) 驗證集(validation set) 測試集(test set)

      一般需要將樣本分成獨立的三部分訓練集(train set),驗證集(validation set)和測試集(test set)。其中訓練集用來估計模型,驗證集用來確定網路結構或者控制模型複雜程度的參數,而測試集則檢驗最終選擇最優的模型的效能如何。一個典型的劃分是訓練集佔總樣本的50%,而其它各佔25%,三部分都是從樣本中隨機抽取。 
     樣本少的時候,上面的劃分就不合適了。常用的是留少部分做測試集。然後對其餘N個樣本採用K折交叉驗證法。就是將樣本打亂,然後均勻分成K份,輪流選擇其中K-1份訓練,剩餘的一份做驗證,計算預測誤差平方和,最後把K次的預測誤差平方和再做平均作為選擇最優模型結構的依據。特別的K取N,就是留一法(leave one out)。

     training set是用來訓練模型或確定模型參數的,如ANN中權值等; validation set是用來做模型選擇(model selection),即做模型的最終最佳化及確定的,如ANN的結構;而 test set則純粹是為了測試已經訓練好的模型的推廣能力。當然,test set這並不能保證模型的正確性,他只是說相似的資料用此模型會得出相似的結果。但實際應用中,一般只將資料集分成兩類,即training set 和test set,大多數文章並不涉及validation set。 train

訓練資料。擬合模型,用這部分資料來建立模型。

是一些我們已經知道輸入和輸出的資料集訓練機器去學習,通過擬合去尋找模型的初始參數。例如在神經網路(Neural Networks)中, 我們用訓練資料集和反向傳播演算法(Backpropagation)去每個神經元找到最優的比重(Weights)。 validation

驗證資料。train建了一個模型,但是模型的效果僅體現了訓練資料,但不一定適合約類的其他資料,所以建模前資料分成兩部分,一部分為訓練資料,一部分為驗證資料(兩部分資料的比例大致為7:3,這取決於你驗證的方法)。另外,你也可能訓練多個模型,但不知哪個模型效能更佳,這時可以將驗證資料輸入不同模型進行比較。

是一些我們已經知道輸入和輸出的資料集,通過讓機器學習去最佳化調整模型的參數,在神經網路中, 我們用驗證資料集去尋找最優的網路深度(number of hidden layers),或者決定反向傳播演算法的停止點;在普通的機器學習中常用的交叉驗證(Cross Validation) 就是把訓練資料集本身再細分成不同的驗證資料集去訓練模型。 test

測試資料。跟前兩者的最大區別在於:train和validation資料均是同一對象的資料,但是測試,我們就需要用跨對象的資料來驗證模型的穩定性。

使用者測試模型表現的資料集,根據誤差(一般為預測輸出與實際輸出的不同)來判斷一個模型的好壞。

 

為什麼驗證資料集和測試資料集兩者都需要。

因為驗證資料集(Validation Set)用來調整模型參數從而選擇最優模型,模型本身已經同時知道了輸入和輸出,所以從驗證資料集上得出的誤差(Error)會有偏差(Bias)。

但是我們只用測試資料集(Test Set) 去評估模型的表現,並不會去調整最佳化模型。

在傳統的機器學習中,這三者一般的比例為training/validation/test = 50/25/25, 但是有些時候如果模型不需要很多調整隻要擬合就可時,或者training本身就是training+validation (比如cross validation)時,也可以training/test =7/3.

但是在深度學習中,由於資料量本身很大,而且訓練神經網路需要的資料很多,可以把更多的資料分給training,而相應減少validation和test。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.