數據集的划分


在機器學習算法中,我們通常將原始數據集划分為三個部分(划分要盡可能保持數據分布的一致性):

(1)Training set(訓練集): 訓練模型

(2)Validation set(驗證集): 選擇模型

(3)Testing set(測試集): 評估模型

其中Validation set的作用是用來避免過擬合的。在訓練過程中,我們通常用它來確定一些超參數(例:根據Validation set的accuracy來確定early stoping的epoch大小,根據Validation set確定learning rate等等)。之所以不用Testing set,是因為隨着訓練的進行,網絡會慢慢過擬合測試集,導致最后的Testing set沒有參考意義。因此Training set用來計算梯度更新權重,即訓練模型,Validation set用來做模型選擇,Testing set則給出一個accuracy以判斷網絡性能的好壞。


數據集的划分通常有三種方法:

(1)留出法(Hold-out)

​ 將數據集\(D\)划分為兩個互斥的集合,其中一個集合作為訓練集\(S\),另一個集合作為測試集\(T\),即\(D=S\cup T\)\(S\cap T = \varnothing\)。在\(S\)上訓練出模型后,用\(T\)來評估其誤差。Andrew NG老師在《Deep learning》課程中對數據集的划分講解如下:

​ (a)Previous era of machine learning。數據量為10000左右。如果只是划成訓練集和測試集則為:70%驗證集,30%測試集。如果划成訓練集、驗證集和測試集則為:60%訓練集,20%驗證集,20%測試集。

​ (b)Big data era:數據量為百萬級別。 驗證集和測試集占數據總量的比例會趨向變得更小。比如有1000000條數據,只需各拿出10000條作為驗證集和測試集。

(2)交叉驗證法(Cross Validation)

​ 將數據集\(D\)划分為 \(k\) 個大小相似的互斥子集,即\(D=D_1\cup D_2 \cup \cdots \cup D_k\)\(D_i \cap D_j = \varnothing(i \not = j)\)。每個子集都要盡可能保持數據分布的一致性,即從D中通過分層采樣得到。然后用 \((k-1)\) 個子集的並集作為訓練集,余下的子集作為測試集。這樣就可以獲得 \(k\) 組訓練/測試集,從而可以進行 \(k\) 次訓練和測試,最終返回的是 \(k\) 個測試結果的均值。交叉驗證法評估結果的穩定性和保真性在很大程度上取決於 \(k\) 的取值。如10折交叉驗證:

​ 交叉驗證法優點和缺點:

​ (a)優點:從有限的數據中盡可能挖掘多的信息,從各種角度去學習我們現有的有限的數據,避免出現局部的極值。在這個過程中無論是訓練樣本還是測試樣本都得到了盡可能多的學習。

​ (b)缺點:當數據集比較大時,訓練模型的開銷較大。

(3)自助法(BootStrapping)

​ 每次隨機從初始數據集 \(D\) 中選擇一個樣本拷貝到結果數據集 \(D'\) 中,重復操作 \(m\) 次 ,就得到了含有 \(m\) 個樣本的數據集 \(D'\) (注意:\(D\) 中有部分樣本會在 \(D'\) 中多次出現)。將 \(D'\) 作為訓練集,\(D\setminus D'\) 作為驗證集(測試集)。樣本在 \(m\) 次采樣中始終不被采集到的概率是 \((1-\frac{1}{m})^m\) ,取極限為:

\[\lim_{m \longrightarrow \infty}(1-\frac{1}{m})^m = \frac{1}{e}=0.368 \]

通過自助采樣,初始數據集中約有36.8%的樣本未出現在采樣集 \(D'\) 中。

​ 自助法優點和缺點:

​ (a)優點:自助法在數據集較小、難以有效划分訓練集和測試集時很有用。此外,自助法能從初始數據集中產生多個不同的訓練集,這對集成學習等方法有很大的好處。

​ (b)缺點:自助法產生的數據集改變了初始數據集的分布,這會引入估計偏差。因此在初始數據量足夠時,留出法和交叉驗證法更加常用一些。


Reference:

  1. 正則化方法:L1和L2 regularization、數據集擴增、dropout
  2. 【七】機器學習之路——訓練集、測試集及如何划分
  3. 數據集划分
  4. 百度百科—自助法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM