機器學習怎麼切分資料:訓練、驗證、測試集

CHEN TSU PEI
Dec 17, 2019 · 3 min read

訓練集、驗證集、測試集分別代表什麼含義,又該怎麼劃分

Image for post
Image for post
機器學習就像一個學生在學習

訓練及測試資料

對於Supervised Learning來說,我們必須使用標註資料(Labeled Data)來做訓練,例如一個CNN(Convolutional Neural Network),因此我們需要訓練資料(Training Data)

但我們好不容易搜集到的資料卻不能全部拿來做訓練,因為我們必須要保留一些當作測試資料(Testing Data)來評估我們的模型表現

這些資料必須跟訓練資料是完全不同的,否則就有作弊的嫌疑,想想如果在考試前就先拿到考題的話,這樣就算出來的成績很高,也並不能代表這個學生真的很了解這個科目,對於機器來說也是一樣的道理

所以最簡單的方式,我們會把我們的資料切分成測試集跟訓練集,通常會保留比較多當作訓練資料(60%~80%),其餘作測試資料

驗證集

大部分的情況下,我們還會需要驗證資料集(Validation Dataset),例如在K-fold方法中,我們會訓練K次模型,這樣的話我們怎麼知道要選擇哪個模型呢?這時候就需要驗證集的幫助,例如10-fold中,我們將90%的訓練資料當作訓練集,而10%的資料當作驗證集,每次訓練完一個模型後,我們使用10%的資料來驗證,並得到一些評估的指摽(例如: Accuracy, F1-score等),再選擇最好當作我們的模型,在這之後,才使用測試集(Test Dataset)來評估此模型的效能

驗證集也可以是拿來調參數的依據,由於驗證集的資料並不被模型所見,所以選擇一組參數使得在驗證集上得到最好的表現,大部分情況會比單純使用訓練集表現來得好。

整體來說,驗證集讓我們能以一個客觀的角度評估目前模型學習的狀況,例如判斷模型是否過擬合(Overfitting),以及用來調整模型參數等,驗證集並不會被模型所學習,所得出的分數也不會是最後評估模型的好壞的指標,而是由測試集來評估

總結

舉一個例子來說,把我們的模型想成一個高中生,平常上課學習時吸收的資料,像是課本、講義等,我們稱為訓練集,而模擬考,就好像是驗證集,從模擬考中,我們可以有一個概略的指標來看哪個學生學的比較好,對於學生來說,從模擬考的成績好壞,進而調整學習的方向,而測試集就是學測或指考,得到的分數就直接評估了學生的優劣

CHEN TSU PEI

Written by

哈囉~這邊主要分享各種NLP的觀念跟論文閱讀心得,另外由於Medium格式問題,建議可以到我的Github Page觀看: https://tsupei.github.io

NLP-trend-and-review

整理NLP中的觀念及閱讀最新及經典論文

CHEN TSU PEI

Written by

哈囉~這邊主要分享各種NLP的觀念跟論文閱讀心得,另外由於Medium格式問題,建議可以到我的Github Page觀看: https://tsupei.github.io

NLP-trend-and-review

整理NLP中的觀念及閱讀最新及經典論文

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store