1. 程式人生 > >深度學習tips-訓練集、開發集和測試集

深度學習tips-訓練集、開發集和測試集

training set、development set and test set

這三者是在進行一個機器學習專案中非常重要的內容。它們的確定往往決定了這個專案的走向。錯誤的訓練集、開發集和測試集的劃分很可能會讓一個團隊浪費數月時間。

training set:顧名思義,是用來訓練模型的。因此它佔了所有資料的絕大部分。

development set:用來對訓練集訓練出來的模型進行測試,通過測試結果來不斷地優化模型。

test set:在訓練結束後對訓練出的模型進行一次最終的評估所用的資料集。

它們的劃分非常簡單,一句話說就是要保持它們每一個數據集的分佈是相同的。三者都指向同一目標,就可以正常地用來訓練測試。如果他們指向的分佈都是不同的,可能就是一場災難。

至於劃分的比例呢?
在以前的機器學習任務中,資料量還不是這麼大的時候,上百條資料,我們可以根據訓練集測試集7:3或者8:2來劃分。訓練集:開發集:測試集6:2:2這樣劃分。
而如今深度學習中幾十萬上百萬的資料,訓練集:開發集:測試集98:1:1這樣也是足夠了。如果要是一百萬條資料的話,1%就是1萬條,足以用來測試模型。

以上凡是隻說了訓練集和測試集時,其實是用訓練集來訓練,測試集起到的是開發集的作用。因此嚴格意義上來講應該是訓練集和開發集的比例,而不包含測試集。