- 本文首發(fā)自公眾號(hào):RAIS
?前言
本系列文章為 《Deep Learning》 讀書筆記,可以參看原書一起閱讀,效果更佳。
超參數(shù)
- 參數(shù):網(wǎng)絡(luò)模型在訓(xùn)練過(guò)程中不斷學(xué)習(xí)自動(dòng)調(diào)節(jié)的變量,比如網(wǎng)絡(luò)的權(quán)重和偏差;
- 超參數(shù):控制模型、算法的參數(shù),是架構(gòu)層面的參數(shù),一般不是通過(guò)算法學(xué)習(xí)出來(lái)的,比如學(xué)習(xí)率、迭代次數(shù)、激活函數(shù)和層數(shù)等。
與超參數(shù)對(duì)比的概念是參數(shù),我們平時(shí)訓(xùn)練網(wǎng)絡(luò)所說(shuō)的調(diào)參,指的是調(diào)節(jié) 超參數(shù)。超參數(shù)的確定方法一般是憑借經(jīng)驗(yàn),或者類似問(wèn)題的參數(shù)遷移。
問(wèn)題來(lái)了,為啥超參數(shù)不通過(guò)學(xué)習(xí)確定?這是因?yàn)檫@個(gè)參數(shù)不那么好優(yōu)化,并且稍不留神通過(guò)學(xué)習(xí)方法去優(yōu)化就可能導(dǎo)致過(guò)擬合。你可能認(rèn)為模擬人的調(diào)參過(guò)程,進(jìn)行超參數(shù)的調(diào)節(jié)不就好了,當(dāng)然這是可以的,超參數(shù)也不是完全不可以用程序優(yōu)化的,但是現(xiàn)有的理論還不成熟,還沒(méi)有理論去有效的指導(dǎo)實(shí)踐,這還是一個(gè)新興領(lǐng)域,因此還有許多工作要做,很多情況下是憑經(jīng)驗(yàn),憑直覺(jué)進(jìn)行優(yōu)化的,算法表現(xiàn)并不好。
我們知道,更高次的多項(xiàng)式和權(quán)重衰減參數(shù)設(shè)定 λ=0 總是能更好的擬合,會(huì)過(guò)擬合,對(duì)于這個(gè)問(wèn)題,我們會(huì)考慮用驗(yàn)證集的方法,驗(yàn)證集在我們前文《人工智能二分類問(wèn)題》中提到過(guò)。
驗(yàn)證集
驗(yàn)證集是用來(lái)訓(xùn)練超參數(shù)的,是用來(lái)給網(wǎng)絡(luò)提供反饋的。我們用訓(xùn)練集去訓(xùn)練一個(gè)網(wǎng)絡(luò)模型,訓(xùn)練出的參數(shù)固定下來(lái),然后將驗(yàn)證集的數(shù)據(jù)應(yīng)用到這個(gè)模型上,會(huì)得到偏差,我們根據(jù)這個(gè)偏差,調(diào)整超參數(shù),然后重新去訓(xùn)練網(wǎng)絡(luò),重復(fù)迭代一定的次數(shù),會(huì)調(diào)節(jié)出一個(gè)超參數(shù)還不錯(cuò)的網(wǎng)絡(luò),基于這個(gè)超參數(shù)訓(xùn)練出的模型,可以最終到測(cè)試集合上驗(yàn)證,最終確定在測(cè)試集上表現(xiàn)如何。下面舉個(gè)例子:
這是之前在《人工智能二分類問(wèn)題》中的一張圖,我們看到驗(yàn)證損失在迭代 4 次之后大幅上升,這就是由于我們訓(xùn)練次數(shù)迭代過(guò)多導(dǎo)致的,迭代次數(shù)這個(gè)超參數(shù)設(shè)置的不合理,因此我們更改迭代次數(shù)為 4 次。這就是根據(jù)驗(yàn)證集調(diào)節(jié)超參數(shù)的一個(gè)例子。
數(shù)據(jù)量小,訓(xùn)練集:驗(yàn)證集:測(cè)試集=6:2:2,數(shù)據(jù)量足夠大,訓(xùn)練集:驗(yàn)證集:測(cè)試集=98:1:1。這算是一個(gè)經(jīng)驗(yàn)值吧。
K-折交叉驗(yàn)證
我們?cè)谥暗?《預(yù)測(cè)房?jī)r(jià)》 問(wèn)題中有提到過(guò)交叉驗(yàn)證這個(gè)方法,這個(gè)方法用于解決的問(wèn)題就是數(shù)據(jù)量太小的問(wèn)題,而導(dǎo)致的對(duì)網(wǎng)絡(luò)測(cè)試誤差估計(jì)不準(zhǔn)的問(wèn)題,K-折交叉驗(yàn)證 是其中最常見的。
從上圖中,我們可以清楚的看到K-折交叉驗(yàn)證的方法具體是怎么做的。由于數(shù)據(jù)量不夠大,因此我們把數(shù)據(jù)分為 K 份,循環(huán) K 次,每次分別選取其中的一份作為測(cè)試集,這樣根據(jù)我們訓(xùn)練出的網(wǎng)絡(luò),我們可以分別求出每一次的測(cè)試誤差,用這 K 個(gè)測(cè)試誤差求其平均值,我們就估計(jì)其為這個(gè)網(wǎng)絡(luò)的測(cè)試誤差。
總結(jié)
我們本篇文章介紹了參數(shù)和超參數(shù)的區(qū)別,調(diào)參指的是調(diào)節(jié)超參數(shù),并且介紹了在數(shù)據(jù)量較小的情況下如何如何去估計(jì)測(cè)試誤差。
- 本文首發(fā)自公眾號(hào):RAIS