1,L2 regularization(權(quán)重衰減)L2正則化就是在代價(jià)函數(shù)后面再加上一個(gè)正則化項(xiàng)λ 哺呜,使得權(quán)重在更新的時(shí)候舌缤,乘以一個(gè)小于1的因子(1-a(λ/m)),這個(gè)可以防止W過(guò)大某残。正則化項(xiàng)里面有一個(gè)系數(shù)1/2国撵,1/2經(jīng)常會(huì)看到,主要是為了后面求導(dǎo)的結(jié)果方便玻墅,后面那一項(xiàng)求導(dǎo)會(huì)產(chǎn)生一個(gè)2介牙,與1/2相乘剛好湊整。
過(guò)擬合的時(shí)候澳厢,擬合函數(shù)的系數(shù)往往非常大环础。過(guò)擬合,就是擬合函數(shù)需要顧忌每一個(gè)點(diǎn)剩拢,最終形成的擬合函數(shù)波動(dòng)很大线得。在某些很小的區(qū)間里,函數(shù)值的變化很劇烈徐伐。這就意味著函數(shù)在某些小區(qū)間里的導(dǎo)數(shù)值(絕對(duì)值)非常大贯钩,由于自變量值可大可小,所以只有系數(shù)足夠大呵晨,才能保證導(dǎo)數(shù)值很大
L2 Regularization 防止了系數(shù)W過(guò)大魏保,也就防止了擬合函數(shù)導(dǎo)數(shù)值過(guò)大,也就防止了函數(shù)導(dǎo)數(shù)值波動(dòng)過(guò)大摸屠,也就解決了過(guò)擬合問(wèn)題谓罗。
L2正則化是訓(xùn)練深度學(xué)習(xí)模型中最常用的一種解決過(guò)擬合問(wèn)題的方法。
2季二,L1 regularization檩咱,L1正則化的正則項(xiàng)是所有權(quán)重w的絕對(duì)值的和,乘以λ/n(這里不像L2正則化項(xiàng)那樣胯舷,需要再乘以1/2)刻蚯;消除過(guò)擬合的原因與L2類(lèi)似。使用頻率沒(méi)有L2正則化高桑嘶。
3炊汹,Dropout正則化
L1、L2正則化是通過(guò)修改代價(jià)函數(shù)來(lái)實(shí)現(xiàn)的逃顶,而Dropout則是通過(guò)修改神經(jīng)網(wǎng)絡(luò)本身來(lái)實(shí)現(xiàn)的讨便。
Dropout是指在深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中充甚,對(duì)于神經(jīng)網(wǎng)絡(luò)單元,按照一定的概率將其暫時(shí)從網(wǎng)絡(luò)中丟棄霸褒。注意是暫時(shí)伴找,對(duì)于隨機(jī)梯度下降來(lái)說(shuō),由于是隨機(jī)丟棄废菱,故而每一個(gè)mini-batch都在訓(xùn)練不同的網(wǎng)絡(luò)技矮。
運(yùn)用了dropout的訓(xùn)練過(guò)程,相當(dāng)于訓(xùn)練了很多個(gè)只有半數(shù)隱層單元的神經(jīng)網(wǎng)絡(luò)(后面簡(jiǎn)稱(chēng)為“半數(shù)網(wǎng)絡(luò)”)殊轴,每一個(gè)這樣的半數(shù)網(wǎng)絡(luò)衰倦,都可以給出一個(gè)分類(lèi)結(jié)果,這些結(jié)果有的是正確的旁理,有的是錯(cuò)誤的耿币。隨著訓(xùn)練的進(jìn)行,大部分半數(shù)網(wǎng)絡(luò)都可以給出正確的分類(lèi)結(jié)果韧拒,那么少數(shù)的錯(cuò)誤分類(lèi)結(jié)果就不會(huì)對(duì)最終結(jié)果造成大的影響。
dropout率的選擇:經(jīng)過(guò)交叉驗(yàn)證十性,隱含節(jié)點(diǎn)dropout率等于0.5的時(shí)候效果最好叛溢,原因是0.5的時(shí)候dropout隨機(jī)生成的網(wǎng)絡(luò)結(jié)構(gòu)最多
具體細(xì)節(jié),推薦Alex和Hinton的論文《ImageNet Classification with Deep Convolutional Neural Networks》
4劲适,數(shù)據(jù)集擴(kuò)增(data augmentation)
在深度學(xué)習(xí)方法中楷掉,更多的訓(xùn)練數(shù)據(jù),意味著可以用更深的網(wǎng)絡(luò)霞势,訓(xùn)練出更好的模型烹植。
但是很多時(shí)候,收集更多的數(shù)據(jù)意味著需要耗費(fèi)更多的人力物力愕贡,非常困難草雕。
所以,可以在原始數(shù)據(jù)上做些改動(dòng)固以,得到更多的數(shù)據(jù)墩虹,以圖片數(shù)據(jù)集舉例,可以做各種變換憨琳,如:
1诫钓,水平翻轉(zhuǎn)或任意角度旋轉(zhuǎn);2篙螟,裁剪菌湃;3,添加噪聲
更多數(shù)據(jù)意味著什么遍略?
用50000個(gè)MNIST的樣本訓(xùn)練SVM得出的accuracy94.48%惧所,用5000個(gè)MNIST的樣本訓(xùn)練NN得出accuracy為93.24%骤坐,所以更多的數(shù)據(jù)可以使算法表現(xiàn)得更好。在機(jī)器學(xué)習(xí)中纯路,算法本身并不能決出勝負(fù)或油,不能武斷地說(shuō)這些算法誰(shuí)優(yōu)誰(shuí)劣,因?yàn)閿?shù)據(jù)對(duì)算法性能的影響很大驰唬。
5顶岸,提前停止訓(xùn)練神經(jīng)網(wǎng)絡(luò)(Early Stop)
在一個(gè)適中的迭代次數(shù),W不是很大的時(shí)候叫编,dev set error接近最小辖佣,train set error適中的時(shí)候,提前停止訓(xùn)練搓逾,如下圖所示
參考文獻(xiàn):Andrew Ng《Prractical aspects of Deep learning》1.1~1.8