機(jī)器學(xué)習(xí)中訓(xùn)練集驗(yàn)證集?
首先要明白訓(xùn)練集、驗(yàn)證集、測(cè)試集的含義,簡(jiǎn)單來(lái)說(shuō):
1. 訓(xùn)練集是用來(lái)training模型,調(diào)整對(duì)應(yīng)的parameters(例如weights)
2. 驗(yàn)證集是用來(lái)tuning模型的 hyperparameters(例如architecture,訓(xùn)練前就已經(jīng)決定好的parameters,例如有多少hiden layers,這也是它也被稱為開(kāi)發(fā)集的原因)
3. 測(cè)試集用來(lái)獲得最終模型的performance,例如正確率等
有個(gè)這個(gè)常識(shí),就知道怎么劃分了,譬如你有一個(gè)數(shù)據(jù)集,首先要做一下
shuffle,劃分之前要保證三個(gè)數(shù)據(jù)集有相同的數(shù)據(jù)分布,如下圖,有這個(gè)基礎(chǔ),測(cè)試和驗(yàn)證集才有意義。
至于怎么劃分,需要看具體的case,參考斯坦福大學(xué)的deep learning課程 https://cs230-stanford.github.io/train-dev-test-split.html,沒(méi)有具體的標(biāo)準(zhǔn),不過(guò)盡量讓驗(yàn)證集和測(cè)試集不要太少,例如1000000圖片集,驗(yàn)證和測(cè)試不要低于10000,即1%,如果數(shù)據(jù)量不夠大的話,通常會(huì)按照80-10-10的比例:
注意:random不是完全隨機(jī),需要保證reproducible
好了,關(guān)于這個(gè)話題就說(shuō)到這里,遇到類似的問(wèn)題,怎么樣找到合適的答案,首先要找第一手資料,不要去在百度上亂搜一氣,最好直接找到基礎(chǔ)資料,本例中就是用Stanford學(xué)校的課程作為輸入,就不會(huì)走偏了。
歡迎關(guān)注“行知漫步”,一起學(xué)習(xí)、探討新技術(shù)應(yīng)用