您現在的位置是:首頁 > 棋牌

「機器學習速成」為什麼要拆分為三個集:訓練集、驗證集、測試集

  • 由 馬上學人工智慧 發表于 棋牌
  • 2022-02-21
簡介樣本資料集包括訓練集、驗證集、測試集, 其中訓練集和驗證集的作用是對學習模型進行引數擇優, 測試集是測試該模型的泛化能力

驗證集是什麼

大家好,今天我們學習【機器學習速成】之 為什麼要拆分為三個子集:訓練集、驗證集、測試集

我們

馬上學三點

只劃分訓練集和測試集的不足

驗證集在劃分方案中的重要性

訓練集、測試集、驗證集三者區別

大家可以點選下面的“

瞭解更多

”,或搜尋“

馬上學123

”,線上觀看PPT講義

訓練集和測試集工作流程

「機器學習速成」為什麼要拆分為三個集:訓練集、驗證集、測試集

訓練集和測試集工作流程

上一個課程 我們介紹瞭如何將資料集劃分為訓練集和測試集。 藉助這種劃分, 您可以對一個樣本集進行訓練, 然後使用不同的樣本集測試模型。

我們來想象下運用該方法的實際情況, 我們有了測試集和訓練集, 並按照上一節課程的要求對它們進行了妥善區分。 現在我們要進行一些迭代。 我將用

訓練資料訓練一種模型

, 然後使用

測試集對模型進行測試

並觀察其指標, 根據在測試集上獲得的效果調整模型。

調整模型

”指的是 調整您可以想到的關於模型的任何方面, 從更改學習速率、新增或移除特徵, 到從頭開始設計全新模型。

我將調整一些設定, 比如調整學習速率或類似設定。 然後重新嘗試前面的操作, 看看能否提高測試集準確率。 我可能會新增一些特徵,也可能會去除一些特徵, 並繼續迭代, 直到根據

測試集指標找出最佳模型

為止。

這樣有問題嗎? 我能想到的一點是: 我可能

針對測試集的特性進行了過擬合

。 這樣就太糟糕了…

劃分為三個子集

「機器學習速成」為什麼要拆分為三個集:訓練集、驗證集、測試集

劃分為三個子集

我們可以使用另一種方法來解決這個問題, 我可以在分組資料之外建立第三個資料集, 並將該資料集稱為“

驗證集

”, 這可以大幅降低過擬合的發生機率。

驗證集和測試集應該

,且與真實需求一致。

更好的工作流程

我會使用一種新迭代方法, 對訓練資料進行迭代訓練, 然後僅基於

驗證集進行評估

將測試集擱置一旁,完全不使用這些資料。 我將不斷迭代、調整各種引數或對模型進行任何更改, 直到根據

驗證集得出比較理想的結果

後。 再使用

測試集再次檢查該模型

「機器學習速成」為什麼要拆分為三個集:訓練集、驗證集、測試集

更好的工作流程

我要確保根據

測試集得出的結果

基本上

符合

根據

驗證集得出的結果

。 如果不符合,則充分說明我可能對驗證集進行了過擬合。

不斷使用測試集和驗證集會使其逐漸失去效果。 也就是說,您使用相同資料來決定超引數設定 或其他模型改進的次數越多, 您對於這些結果能夠真正泛化到未見過的新資料的信心就越低。

該工作流程之所以更好, 原因在於它

暴露給測試集的資訊更少

如果可能的話,建議您收集

更多資料

來“重新整理”測試集和驗證集。 重新開始也是一種很好的

重置

方式。

訓練集、測試集、驗證集三者區別

「機器學習速成」為什麼要拆分為三個集:訓練集、驗證集、測試集

訓練集、測試集、驗證集三者區別

訓練集是用來

訓練模型

內參數的資料集;

驗證集用於

調整超引數

, 根據幾組模型驗證集上的表現 決定哪組超引數擁有最好的效能, 同時用來監控模型是否發生過擬合。

測試集用來

評價模型泛化能力

, 即之前模型使用驗證集確定了超引數, 最後使用一個從沒有見過的新資料集來判斷這個模型是否工作。

三者區別舉例: 我們把學生能力類比模型能力 訓練集就像是學生的課本,學生根據課本里的內容來掌握知識, 驗證集就像是練習作業, 透過作業可以知道不同學生學習情況、進步的速度快慢, 而最終的測試集就像是考試, 考的題是平常都沒有見過,考察學生

舉一反三

的能力。

為什麼需要測試集?

「機器學習速成」為什麼要拆分為三個集:訓練集、驗證集、測試集

訓練集、測試集、驗證集三者區別

訓練集直接參與了

模型調慘

的過程, 顯然不能用來反映模型真實的能力, 這樣一些對課本

死記硬背

的學生將會擁有最好的成績, 這是過擬合,顯然不對。

同理,由於驗證集參與了

人工調參

的過程, 也不能用來最終評判一個模型, 就像

刷題庫

的學生也不能算是學習好的學生是吧。 所以要透過最終的

考試

, 也就是

測試集

來考察一個學生模型的真正的能力。

對於用於比賽的公開資料集, 驗證集會公開標註,測試集不會公開。

千萬不要用測試資料來訓練模型! 不然就監守自盜了!

總結:

只劃分訓練集和測試集, 會出現

過擬合該測試集

的風險;

樣本資料集包括訓練集、驗證集、測試集, 其中訓練集和驗證集的作用是對學習模型進行

引數擇優

, 測試集是測試該模型的

泛化能力

這裡講了三點,關鍵詞有哪幾個?

提問:AI比賽時,我們可以看到測試集嗎?

歡迎回複評論

Top