數(shù)據(jù)在人工智能技術(shù)里是非常重要的谦铃!本篇文章將詳細(xì)給大家介紹3種數(shù)據(jù)集:訓(xùn)練集驹闰、驗(yàn)證集、測(cè)試集师妙。
同時(shí)還會(huì)介紹如何更合理的講數(shù)據(jù)劃分為3種數(shù)據(jù)集屹培。最后給大家介紹一種充分利用有限數(shù)據(jù)的方式:交叉驗(yàn)證法。
先用一個(gè)不恰當(dāng)?shù)谋扔鱽?lái)說(shuō)明3種數(shù)據(jù)集之間的關(guān)系:
- 訓(xùn)練集相當(dāng)于上課學(xué)知識(shí)
- 驗(yàn)證集相當(dāng)于課后的的練習(xí)題蓄诽,用來(lái)糾正和強(qiáng)化學(xué)到的知識(shí)
- 測(cè)試集相當(dāng)于期末考試媒吗,用來(lái)最終評(píng)估學(xué)習(xí)效果
什么是訓(xùn)練集蝴猪?
訓(xùn)練集(Training Dataset)是用來(lái)訓(xùn)練模型使用的。
在《一文看懂機(jī)器學(xué)習(xí)》里我們介紹了機(jī)器學(xué)習(xí)的7個(gè)步驟嚎莉,訓(xùn)練集(Training Dataset)主要在訓(xùn)練階段使用沛豌。
什么是驗(yàn)證集赃额?
當(dāng)我們的模型訓(xùn)練好之后跳芳,我們并不知道他的表現(xiàn)如何竹勉。這個(gè)時(shí)候就可以使用驗(yàn)證集(Validation Dataset)來(lái)看看模型在新數(shù)據(jù)(驗(yàn)證集和測(cè)試集是不同的數(shù)據(jù))上的表現(xiàn)如何。同時(shí)通過(guò)調(diào)整超參數(shù)吓歇,讓模型處于最好的狀態(tài)票腰。
驗(yàn)證集有2個(gè)主要的作用:
- 評(píng)估模型效果杏慰,為了調(diào)整超參數(shù)而服務(wù)
- 調(diào)整超參數(shù),使得模型在驗(yàn)證集上的效果最好
說(shuō)明:
- 驗(yàn)證集不像訓(xùn)練集和測(cè)試集轰胁,它是非必需的完域。如果不需要調(diào)整超參數(shù),就可以不使用驗(yàn)證集凹耙,直接用測(cè)試集來(lái)評(píng)估效果肠仪。
- 驗(yàn)證集評(píng)估出來(lái)的效果并非模型的最終效果,主要是用來(lái)調(diào)整超參數(shù)的意述,模型最終效果以測(cè)試集的評(píng)估結(jié)果為準(zhǔn)吮蛹。
什么是測(cè)試集?
當(dāng)我們調(diào)好超參數(shù)后术荤,就要開(kāi)始「最終考試」了每篷。我們通過(guò)測(cè)試集(Test Dataset)來(lái)做最終的評(píng)估端圈。
通過(guò)測(cè)試集的評(píng)估舱权,我們會(huì)得到一些最終的評(píng)估指標(biāo)仑嗅,例如:準(zhǔn)確率、精確率啊楚、召回率浑彰、F1等拯辙。
擴(kuò)展閱讀:《分類模型評(píng)估指標(biāo)——準(zhǔn)確率涯保、精準(zhǔn)率、召回率夕春、F1及志、ROC曲線、AUC曲線》
如何合理的劃分?jǐn)?shù)據(jù)集率寡?
下面的數(shù)據(jù)集劃分方式主要針對(duì)「留出法」的驗(yàn)證方式倚搬,除此之外還有其他的交叉驗(yàn)證法每界,詳情見(jiàn)下文——交叉驗(yàn)證法。
數(shù)據(jù)劃分的方法并沒(méi)有明確的規(guī)定眨层,不過(guò)可以參考3個(gè)原則:
- 對(duì)于小規(guī)模樣本集(幾萬(wàn)量級(jí))谐岁,常用的分配比例是 60% 訓(xùn)練集榛臼、20% 驗(yàn)證集窜司、20% 測(cè)試集。
- 對(duì)于大規(guī)模樣本集(百萬(wàn)級(jí)以上)金刁,只要驗(yàn)證集和測(cè)試集的數(shù)量足夠即可议薪,例如有 100w 條數(shù)據(jù)斯议,那么留 1w 驗(yàn)證集,1w 測(cè)試集即可哼御。1000w 的數(shù)據(jù)恋昼,同樣留 1w 驗(yàn)證集和 1w 測(cè)試集。
- 超參數(shù)越少挟炬,或者超參數(shù)很容易調(diào)整嗦哆,那么可以減少驗(yàn)證集的比例,更多的分配給訓(xùn)練集泊脐。
交叉驗(yàn)證法
為什么要用交叉驗(yàn)證法烁峭?
假如我們教小朋友學(xué)加法:1個(gè)蘋果+1個(gè)蘋果=2個(gè)蘋果
當(dāng)我們?cè)贉y(cè)試的時(shí)候,會(huì)問(wèn):1個(gè)香蕉+1個(gè)香蕉=幾個(gè)香蕉缩挑?
如果小朋友知道「2個(gè)香蕉」鬓梅,并且換成其他東西也沒(méi)有問(wèn)題绽快,那么我們認(rèn)為小朋友學(xué)習(xí)會(huì)了「1+1=2」這個(gè)知識(shí)點(diǎn)。
如果小朋友只知道「1個(gè)蘋果+1個(gè)蘋果=2個(gè)蘋果」晦攒,但是換成其他東西就不會(huì)了,那么我們就不能說(shuō)小朋友學(xué)會(huì)了「1+1=2」這個(gè)知識(shí)點(diǎn)。
評(píng)估模型是否學(xué)會(huì)了「某項(xiàng)技能」時(shí)乖仇,也需要用新的數(shù)據(jù)來(lái)評(píng)估询兴,而不是用訓(xùn)練集里的數(shù)據(jù)來(lái)評(píng)估。這種「訓(xùn)練集」和「測(cè)試集」完全不同的驗(yàn)證方法就是交叉驗(yàn)證法警儒。
3 種主流的交叉驗(yàn)證法
留出法(Holdout cross validation)
上文提到的冷蚂,按照固定比例將數(shù)據(jù)集靜態(tài)的劃分為訓(xùn)練集汛闸、驗(yàn)證集艺骂、測(cè)試集钳恕。的方式就是留出法。
留一法(Leave one out cross validation)
每次的測(cè)試集都只有一個(gè)樣本忧额,要進(jìn)行 m 次訓(xùn)練和預(yù)測(cè)睦番。
這個(gè)方法用于訓(xùn)練的數(shù)據(jù)只比整體數(shù)據(jù)集少了一個(gè)樣本,因此最接近原始樣本的分布巩检。但是訓(xùn)練復(fù)雜度增加了示启,因?yàn)槟P偷臄?shù)量與原始數(shù)據(jù)樣本數(shù)量相同。
一般在數(shù)據(jù)缺乏時(shí)使用迟螺。
k 折交叉驗(yàn)證(k-fold cross validation)
靜態(tài)的「留出法」對(duì)數(shù)據(jù)的劃分方式比較敏感,有可能不同的劃分方式得到了不同的模型劳跃≌愕妫「k 折交叉驗(yàn)證」是一種動(dòng)態(tài)驗(yàn)證的方式夹姥,這種方式可以降低數(shù)據(jù)劃分帶來(lái)的影響。具體步驟如下:
- 將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集辙售,將測(cè)試集放在一邊
- 將訓(xùn)練集分為 k 份
- 每次使用 k 份中的 1 份作為驗(yàn)證集旦部,其他全部作為訓(xùn)練集。
- 通過(guò) k 次訓(xùn)練后容燕,我們得到了 k 個(gè)不同的模型婚度。
- 評(píng)估 k 個(gè)模型的效果,從中挑選效果最好的超參數(shù)
- 使用最優(yōu)的超參數(shù)醋虏,然后將 k 份數(shù)據(jù)全部作為訓(xùn)練集重新訓(xùn)練模型哮翘,得到最終模型饭寺。
k 一般取 10
數(shù)據(jù)量小的時(shí)候,k 可以設(shè)大一點(diǎn)柑肴,這樣訓(xùn)練集占整體比例就比較大旬薯,不過(guò)同時(shí)訓(xùn)練的模型個(gè)數(shù)也增多。
數(shù)據(jù)量大的時(shí)候硕舆,k 可以設(shè)小一點(diǎn)抚官。
本文首發(fā)自 產(chǎn)品經(jīng)理的 AI 學(xué)習(xí)庫(kù) easyai.tech