一骂际、欠擬合(Underfitting)和過擬合(Overfitting)
有時(shí)候?qū)⑦^擬合稱為因方差
造成的誤差瓷们。
早期停止(Early Stopping)
我們要做的是降低梯度业栅,直到測試誤差停止降低并開始增大,這時(shí)我們就停止谬晕。這個(gè)算法叫早期停止法碘裕,廣泛用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
二攒钳、正則化
右邊的模型非常穩(wěn)定帮孔,很難應(yīng)用梯度下降法。在右邊模型中分類錯(cuò)誤會(huì)導(dǎo)致更大的偏差不撑,這會(huì)很難調(diào)優(yōu)模型或糾正模型文兢。
Large coefficient --->Overfitting
如何避免這種過擬合的發(fā)生呢?
解決方案:
Error Function應(yīng)為:
參數(shù) 表示懲罰系數(shù)的多少焕檬。如果很大姆坚,會(huì)懲罰很嚴(yán)重;如果很小揩页,不需要懲罰很嚴(yán)重旷偿。
對(duì)于使用 和正則化有一些通用的規(guī)則:
如果我們需要得到絕對(duì)值,可以使用正則化爆侣;如果想得到平方萍程,可以使用正則化。兩者都比較通用兔仰,取決于我們的目標(biāo)茫负,可以應(yīng)用其中一個(gè)或另一個(gè)。
使用正則化時(shí)乎赴,我們希望得到稀疏向量忍法;它表示較小權(quán)重趨向于0,所以榕吼,如果想降低權(quán)重值饿序,最終得到較小的數(shù),正則可以幫助我們選擇哪一些更重要羹蚣,然后將其余的變?yōu)?原探。而正則化,不支持稀疏向量,因?yàn)樗_保所有權(quán)重一致較小咽弦,這個(gè)可以訓(xùn)練模型得出更好的結(jié)果徒蟆,所以這會(huì)是我們最常用的。
為什么正則化型型,得出稀疏權(quán)重的向量段审,正則化得出較小齊權(quán)的向量?
原因是這樣:正則化可以得出更小的額平方總和以及更小的誤差函數(shù)闹蒜。
三寺枉、Dropout
四、局部最低點(diǎn)
一種解決方式是隨機(jī)重新開始(Random Restart)绷落。
我們從幾個(gè)隨機(jī)的不同地點(diǎn)開始型凳,從所有這些地點(diǎn)進(jìn)行梯度下降,這樣就增大了抵達(dá)全局最低點(diǎn)或者至少是非常低的局部最低點(diǎn)的概率嘱函。
五、梯度消失
我們來看看s型函數(shù)埂蕊,在兩端曲線非常平緩往弓,如果我們計(jì)算最左端或最右端的點(diǎn)的導(dǎo)數(shù),這個(gè)導(dǎo)數(shù)將幾乎為0蓄氧,這樣不好函似,因?yàn)閷?dǎo)數(shù)可以告訴我們移動(dòng)方向。
在多層線性感知器中喉童,情況更糟糕撇寞,看看以下示例:
我們知道誤差函數(shù)相對(duì)權(quán)重的導(dǎo)數(shù)是在輸出對(duì)應(yīng)路徑上的節(jié)點(diǎn),算出的所有導(dǎo)數(shù)的積堂氯,所有這些導(dǎo)數(shù)都是s型函數(shù)導(dǎo)數(shù)蔑担。所以它們很小,一堆很小的數(shù)相乘更小了咽白。
這樣使訓(xùn)練過程變得很難啤握,因?yàn)樘荻认陆凳刮覀儗?duì)權(quán)重所做的更改非常非常小。意味著我們邁出很小的步子晶框,永遠(yuǎn)也無法重珠峰上下來排抬。
如何解決這一問題呢?
最后的解決方法是改變激活函數(shù)授段。
1.激活函數(shù)
這是另外一種方法叫做雙曲正切蹲蒲。這個(gè)公式與sigmoid函數(shù)相似,不過由于它的范圍在-1到1之間導(dǎo)數(shù)更大侵贵。這個(gè)較小的區(qū)別實(shí)際上會(huì)在神經(jīng)網(wǎng)絡(luò)中產(chǎn)生更大進(jìn)步届搁。
2.激活函數(shù)
修正線性單元Rectified Linear Unit 即ReLU
它只表示,如果為正,就會(huì)返回相同的值咖祭;如果為負(fù)掩宜,就返回0。除了sigmoid函數(shù)么翰,這個(gè)函數(shù)是最常使用的牺汤,可以在不犧牲精度的前提下,極大提高訓(xùn)練(improve tainig significantly)浩嫌。因?yàn)殚艹伲绻麨檎瑢?dǎo)數(shù)為1码耐。有趣的是追迟,這個(gè)函數(shù)很少會(huì)打破線性,得出復(fù)雜的非線性解
六骚腥、批次與隨機(jī)梯度下降(Stochastic Gradient Descent)
隨機(jī)梯度下降的原理很簡單敦间,拿出一小部分?jǐn)?shù)據(jù),讓它們經(jīng)歷這個(gè)神經(jīng)網(wǎng)絡(luò)束铭,根據(jù)這些點(diǎn)計(jì)算誤差函數(shù)的梯度廓块,然后沿著該方向移動(dòng)一個(gè)步長,我們依然要使用所有數(shù)據(jù)契沫。我們的做法是带猴,將數(shù)據(jù)拆分為幾個(gè)批次....
在現(xiàn)實(shí)中,采取大量稍微不太準(zhǔn)確的步長懈万,比采取一個(gè)很準(zhǔn)確的步長要好很多拴清。
七、學(xué)習(xí)速率衰退
使用什么樣的學(xué)習(xí)速率這一問題会通,差不多算是一個(gè)研究性問題(research question),但可以遵守一個(gè)基本原則:如果學(xué)習(xí)速率太大口予,那么采取的就是很大的步長,一開始可能速度很快渴语,但是會(huì)錯(cuò)過最低點(diǎn)苹威,并繼續(xù)前進(jìn),這樣會(huì)導(dǎo)致模型混亂驾凶。如果學(xué)習(xí)速率很小牙甫,會(huì)采取很小的步長,更有可能達(dá)到局部最低值调违,這樣會(huì)使模型速度很慢窟哺。但是,有個(gè)好的經(jīng)驗(yàn)做法是技肩,如果模型不可行且轨,則減低學(xué)習(xí)速率浮声。
最佳學(xué)習(xí)速率是在模型越來越接近解決方案時(shí)降低。
八旋奢、動(dòng)量
另一個(gè)解決局部最低點(diǎn)問題的方法是用動(dòng)量和決心快速行動(dòng)泳挥,如果在局部最低點(diǎn)卡住,可以翻過駝峰找到更低的最低點(diǎn)至朗。