训练集、验证集、测试集的作用
目錄
- 1. 前言
- 2. 訓(xùn)練集、驗(yàn)證集、測試集的作用
- 3. 一些雜碎的東西
- ① 過擬合
- ② 驗(yàn)證集和測試集的區(qū)別
- ③ 三者劃分比例
- ④ 訓(xùn)練樣本與 驗(yàn)證樣本、測試樣本分布不匹配的問題
- ⑤ 關(guān)于測試集
- 4.參考來源
1. 前言
本篇是看完吳恩達(dá)老師DL的課,寫來當(dāng)筆記看的,若有錯誤與疑慮,請指正或提出。
?
?
2. 訓(xùn)練集、驗(yàn)證集、測試集的作用
訓(xùn)練集(Training set)的作用:更新模型參數(shù)。
驗(yàn)證集(開發(fā)集)(Dev set) 的作用:評估訓(xùn)練得到的多種不同模型或者是帶著不同參數(shù)的同一模型的效果,再根據(jù)模型在驗(yàn)證集的效果對模型進(jìn)行選擇和調(diào)參(因此可以說驗(yàn)證集也參與了訓(xùn)練),使得模型效果在驗(yàn)證集達(dá)到最優(yōu),最后選出效果最好的模型。
測試集(Test set) 的作用:對最終篩選出來模型的泛化能力進(jìn)行評價(jià)。測試集最重要的是未知,即用一個(gè)學(xué)習(xí)集之外的數(shù)據(jù)集來對模型的效果進(jìn)行評估,看看模型能否給出合適的輸出;就像是用一張你平時(shí)刷題沒刷到過的題組成的卷子,來檢驗(yàn)?zāi)銓χR的掌握情況,這樣才合理嘛。
另外,我想提一下這個(gè): 對于測試集的作用,Ng原話是:對最終選定模型的性能進(jìn)行無偏估計(jì)。我剛看課程時(shí)是云里霧里的,后面發(fā)現(xiàn)對于測試集作用,兩句話其實(shí)是一個(gè)意思😑。
下面為個(gè)人理解:無偏估計(jì)(概率論的東西),就是估計(jì)量的期望值等于被估計(jì)量的真實(shí)值。最重要的是這一句:樣本均值的期望是總體均值的無偏估計(jì)。證明如下:(專門開個(gè)word寫一遍。。)
上面是純概率論的東西,現(xiàn)在把它代入到深度學(xué)習(xí)里面。把模型的性能評價(jià)指標(biāo)(誤差、準(zhǔn)確度什么的)當(dāng)成是隨機(jī)變量X,在有n個(gè)數(shù)據(jù)的測試集上,你計(jì)算n個(gè)數(shù)據(jù)得到的n個(gè)指標(biāo)值(即上面的X1~Xn),再除以n,不就得到樣本均值的期望了(這里的樣本是指標(biāo)的值,不是指數(shù)據(jù)集里的那種樣本)。根據(jù)樣本均值的期望是總體均值的無偏估計(jì),所以計(jì)算測試集上的性能評價(jià)指標(biāo)平均值其實(shí)就是在對模型的總體性能做無偏估計(jì),這個(gè)過程同時(shí)也是在對模型泛化性能進(jìn)行評價(jià)。
?
?
3. 一些雜碎的東西
① 過擬合
一切試圖提升效果的改變都會導(dǎo)致過擬合。比如對訓(xùn)練集的過擬合:你用梯度下降的方式對模型參數(shù)進(jìn)行多次的調(diào)整,來降低train loss,經(jīng)過多次調(diào)整后,模型對于訓(xùn)練集的擬合效果會特別好,然而對于驗(yàn)證集的擬合可能效果就不是特別好(就是泛化能力差),這就導(dǎo)致了過擬合。 亦或者是驗(yàn)證集的過擬合:你每次訓(xùn)練完若干批樣本后,要用驗(yàn)證集對模型性能進(jìn)行評估,然后多次調(diào)整超參數(shù),讓模型在驗(yàn)證集上的性能變得更好,這其實(shí)會在超參數(shù)層面的過擬合了。
② 驗(yàn)證集和測試集的區(qū)別
二者都有對模型效果進(jìn)行評估的作用,它們最重要的區(qū)別在于對于模型是否未知。在用驗(yàn)證集進(jìn)行人工調(diào)參的過程中,驗(yàn)證集對于模型是已知的。驗(yàn)證集在被反復(fù)使用,用于讓模型朝著對驗(yàn)證集擬合甚至過擬合的方向前進(jìn),所以測試集的數(shù)據(jù)是肯定不能和驗(yàn)證集的數(shù)據(jù)混雜在一起的:混雜在一起就好比就是你把期末考試的題(未知)泄露到期末考前模擬題(已知)里面,這樣期末考出來成績虛高(在這個(gè)泄露數(shù)據(jù)的測試集里,模型性能指標(biāo)好),學(xué)生可能沒真正掌握知識點(diǎn)(泛化能力差,導(dǎo)致對于學(xué)習(xí)集之外的樣本可能給不出合適的輸出);而測試集僅僅使用一次來評價(jià)你調(diào)整完的最終模型的性能。
③ 三者劃分比例
以下都是Ng課上提到的thumb rules:
④ 訓(xùn)練樣本與 驗(yàn)證樣本、測試樣本分布不匹配的問題
比如對識別貓這一任務(wù),你訓(xùn)練的圖片可能是高像素、經(jīng)過后期處理的;而你的驗(yàn)證樣本和測試樣本來源于用戶手機(jī)隨手拍的模糊貓圖,這就導(dǎo)致樣本分布不匹配的問題。而驗(yàn)證集是用來對多個(gè)模型性能進(jìn)行評估和對模型性能進(jìn)一步優(yōu)化,我們是選擇在驗(yàn)證集上效果最好的模型作為最終模型,并在測試集上進(jìn)行模型性能評估。因此,要保證驗(yàn)證樣本和測試樣本來自同一分布。
⑤ 關(guān)于測試集
測試集不是必要的,訓(xùn)練集和驗(yàn)證集才是必要的。你要通過訓(xùn)練集讓模型不斷地學(xué)習(xí)新東西,然后用驗(yàn)證集來判斷模型效果的好壞,然后調(diào)整模型,多次迭代得到最終模型。你得到最終模型靠的是訓(xùn)練集和驗(yàn)證集,測試集只不過是對你最終模型的效果進(jìn)行評估而已。
?
?
4.參考來源
總結(jié)
以上是生活随笔為你收集整理的训练集、验证集、测试集的作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二阶系统的性能分析(开环相幅和阶跃响应)
- 下一篇: 我的软考高项考试之旅