訓練集 驗證集和測試集的理解

2021-10-23 06:27:11 字數 1099 閱讀 1490

相信很多小夥伴在學習機器學習的過程中時常遇到「訓練集、驗證集與測試集」三個術語,大部分人比較容易理解訓練集和測試集的區別與作用,而對驗證集和測試集的理解卻十分模糊。本文就從機器學習的一般流程進一步**三個資料集的具體作用。

先來看看三種資料集的劃分:

ripley, b.d對三種屬於的經典解釋:

由此可見,驗證集更重要的作用是更新超引數已達到選擇最優模型的目的

機器學習的工作流程:

引自:假設我們有10個候選模型,在訓練集上用每個模型進行迭代學習之後得到代價函式最小的模型對應的引數。然後將學習到的引數在驗證集上計算驗證集的分類準確率,然而這個準確率不一定是最高的,因為我們可以通過改變超引數再次進行迭代學習。我們希望通過驗證集改變超引數然後再返回到訓練集進行訓練,如此迴圈即可得到最優模型所包含的引數與超引數,最後測試集僅僅用於最終模型的泛化能力評估。問題在於為什麼不將資料僅分為訓練集和測試集,在測試集上改變超引數?因為在測試集上改變超引數然後再進行一輪的迭代學習,如此反覆這個過程,模型在無形之中學得了測試集中資料的特點,而這個過程很容易導致在測試集上過擬合。而此時沒有新的資料集供泛化評估

乙個形象的比如闡述三者之間的關係:

學生學習書本的知識(書本知識相當於訓練集)

學生做課後作業(課後作業相當於驗證集)

學生參加期末考試(期末考試相當於測試集)

設想一下,假設所有的題量是一定的(書本題+作業題+期末題都在乙個題庫中),學生學完課本知識接著去刷題庫,有可能把題庫裡面的所有題都刷完了,那麼再去參加期末考試,所有的題都是見過的怎能體現真實水平?只有學完課本題去做作業題,期末考試題並沒有見過才能體現真實水平。、

總結:

只劃分訓練集和測試集, 會出現過擬合該測試集的風險;

樣本資料集包括訓練集、驗證集、測試集, 其中訓練集和驗證集的作用是對學習模型進行引數擇優, 測試集是測試該模型的泛化能力。

訓練集 驗證集和測試集

訓練集 驗證集和測試集這三個名詞在機器學習領域極其常見,但很多人並不是特別清楚,尤其是後兩個經常被人混用。在有監督 supervise 的機器學習中,資料集常被分成2 3個,即 訓練集 train set 驗證集 validation set 測試集 test set ripley,b.d 1996...

訓練集 驗證集和測試集

驗證集既不能通過直接將泛化誤差作為了解模型泛化能力的訊號,因為在部署環境和訓練模型之間往復,代價很高,也不能使用模型對訓練資料集的擬合程度來作為了解模型泛化能力的訊號,因為我們獲得的資料往往不乾淨。更好的方式就是將資料分割成兩部分 訓練集和測試集。我們可以使用訓練集的資料來訓練模型,然後用測試集上的...

訓練集 驗證集 測試集

訓練集loss 驗證集loss 測試集loss 乙個好的網路,二者的差距應該是很低的。但一般情況下因為網路不可避免地存在一定程度上的過擬合,所以肯定是train loss低於test lost,但如果低太多,就得考慮是過擬合的問題還是因為樣本的特徵空間不統一的問題。驗證集基本是在每個epoch完成後...