




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PPT模板下載:/moban/行業(yè)PPT模板:/hangye/節(jié)日PPT模板:/jieri/PPT素材下載:/sucai/PPT背景圖片:/beijing/PPT圖表下載:/tubiao/優(yōu)秀PPT下載:/xiazai/PPT教程:/powerpoint/Word教程:/word/Excel教程:/excel/資料下載:/ziliao/PPT課件下載:/kejian/范文下載:/fanwen/試卷下載:/shiti/教案下載:/jiaoan/PPT論壇:
2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)2.2神經(jīng)網(wǎng)絡(luò)訓(xùn)練與預(yù)測2.3優(yōu)化算法2.4計算圖2.5正則化懲罰項第二章人工神經(jīng)網(wǎng)絡(luò)2.6神經(jīng)網(wǎng)絡(luò)BP算法2.7過擬合與欠擬合第二章人工神經(jīng)網(wǎng)絡(luò)從生物神經(jīng)元與人工神經(jīng)元概率出發(fā),按神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)演進(jìn)方式,討論了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、原理、訓(xùn)練與預(yù)測過程,分析了優(yōu)化算法,描述了神經(jīng)網(wǎng)絡(luò)和激活函數(shù)的計算圖;從正則化懲罰項引入出發(fā),分析了參數(shù)范數(shù)懲罰、L1/L2參數(shù)正則化;以三層神經(jīng)網(wǎng)絡(luò)為例,分析了神經(jīng)網(wǎng)絡(luò)BP算法;從過擬合與欠擬合概念出發(fā),分析了減少特征變量、權(quán)重正則化、交叉驗證、Dropout正則化和貝葉斯規(guī)則正則化等防止過擬合方法。本章是后續(xù)各章的基礎(chǔ)。神經(jīng)網(wǎng)絡(luò)是一門重要的機器學(xué)習(xí)技術(shù),是目前最為火熱的深度學(xué)習(xí)的基礎(chǔ)。學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)不僅可以掌握一門強大的機器學(xué)習(xí)方法,同時也可以更好地理解深度學(xué)習(xí)技術(shù)。摘要現(xiàn)以一種簡單、循序方式介紹神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)是一種模擬人腦的網(wǎng)絡(luò)以期能夠?qū)崿F(xiàn)類人工智能的機器學(xué)習(xí)技術(shù)。人腦中的神經(jīng)網(wǎng)絡(luò)是一個非常復(fù)雜的組織。成人大腦中約有1000億個神經(jīng)元之多,如圖2.1所示[25]。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)那么機器學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò)是如何實現(xiàn)這種模擬,并達(dá)到一個驚人的良好效果的?圖2.1人腦示意[25]一個經(jīng)典的神經(jīng)網(wǎng)絡(luò)包含輸入層、輸出層、中間層(也叫隱含層)的三層網(wǎng)絡(luò),如圖2.2所示。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)(a)從左到右
(b)從下到上圖2.2神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)圖中,輸入層有3個輸入單元,隱含層有4個單元,輸出層有2個單元。設(shè)計一個神經(jīng)網(wǎng)絡(luò)時,輸入層與輸出層的節(jié)點數(shù)往往是固定的,中間層可以自由指定;神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖中的拓?fù)渑c箭頭代表著預(yù)測過程中數(shù)據(jù)的流向,與訓(xùn)練時的數(shù)據(jù)流有一定的區(qū)別;結(jié)構(gòu)圖中的關(guān)鍵不是圓圈(代表“神經(jīng)元”),而是連接線(代表“神經(jīng)元”之間的連接)。每個連接線對應(yīng)一個不同的權(quán)重(其值稱為權(quán)值),這是需要訓(xùn)練的。人工神經(jīng)網(wǎng)絡(luò)由神經(jīng)元模型構(gòu)成,這種由許多神經(jīng)元組成的信息處理網(wǎng)絡(luò)具有并行分布結(jié)構(gòu)。每個神經(jīng)元具有單一輸出,并且能夠與其它神經(jīng)元連接;存在許多(多重)輸出連接方法,每種連接方法對應(yīng)一個連接權(quán)系數(shù)。嚴(yán)格地說,人工神經(jīng)網(wǎng)絡(luò)是一種具有下列特性的有向圖:(1)對于每個節(jié)點存在一個狀態(tài)變量
;(2)從節(jié)點至節(jié)點,存在一個連續(xù)權(quán)系數(shù);(3)對于每個節(jié)點,存在一個閾值;(4)對于每個節(jié)點,定義一個變換函數(shù)。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)2.1.1神經(jīng)元1.生物神經(jīng)元一個神經(jīng)元通常具有多個樹突,主要用來接受傳入信息;而軸突只有一條,軸突尾端有許多軸突末梢可以給其他多個神經(jīng)元傳遞信息。軸突末梢與其他神經(jīng)元的樹突產(chǎn)生連接,從而傳遞信號;這個連接的位置在生物學(xué)上叫做“突觸”,如圖2.3所示。圖2.3生物神經(jīng)元2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)2.人工神經(jīng)元1943年,心理學(xué)家McCulloch和數(shù)學(xué)家Pitts參考了生物神經(jīng)元的結(jié)構(gòu),發(fā)表了抽象的神經(jīng)元模型,簡稱MP模型。MP模型包含輸入、輸出與計算功能。輸入可以類比為神經(jīng)元的樹突,而輸出可以類比為神經(jīng)元的軸突,計算則可以類比為細(xì)胞核。包含有3個輸入,1個輸出,以及2個計算功能的神經(jīng)元,如圖2.4所示。圖2.4神經(jīng)元模型注意:中間的箭頭線,稱為“連接”,每一個連接上都有一個權(quán)重。一個神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法就是讓權(quán)重的值調(diào)整到最佳,使整個網(wǎng)絡(luò)的預(yù)測效果最好。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)
如果用x來表示輸入、用w來表示權(quán)值,則一個表示連接的有向箭頭可以這樣理解:在初端,傳遞的信號大小仍然是x,端中間有加權(quán)參數(shù)w,經(jīng)過這個加權(quán)后的信號會變成
,因此在連接的末端,信號大小變成
,如圖2.5所示。
在一些模型里,有向箭頭可能表示的是值的不變傳遞。而在神經(jīng)元模型,每個有向箭頭表示值的加權(quán)傳遞。圖2.5一個連接2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)如果將神經(jīng)元中的所有變量用符號表示,則輸出的計算過程,如圖2.6所示。(2.1.1)式中,b為神經(jīng)元單元的偏置(閾值),
為連接權(quán)向量,為w中的第i個連接權(quán)系數(shù),N為輸入信號數(shù)目,y為神經(jīng)元輸出,f()為輸出變換函數(shù),有時也稱激發(fā)或激勵函數(shù),往往采用0和1二值函數(shù)或S形函數(shù)。圖2.6中,激勵函數(shù)為符號函數(shù)sgn。可見,y是在輸入和權(quán)值的線性加權(quán)和疊加了一個函數(shù)f的值。在MP模型里,函數(shù)f是sgn函數(shù),也就是取符號函數(shù)。這個函數(shù)當(dāng)輸入大于0時,輸出1;否則,輸出0。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)現(xiàn)對人工神經(jīng)元模型作一些擴(kuò)展。首先將sum函數(shù)與sgn函數(shù)合并到一個圓圈里,代表神經(jīng)元的內(nèi)部計算。其次,把輸入x與輸出y寫到連接線的左上方;最后,一個神經(jīng)元可以引出多個代表輸出的有向箭頭,但值都是一樣的,如圖2.7所示。神經(jīng)元可以看作一個計算與存儲單元。計算是神經(jīng)元對其輸入進(jìn)行計算功能,存儲是神經(jīng)元暫存計算結(jié)果,并傳遞到下一層。圖2.7神經(jīng)元擴(kuò)展2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)當(dāng)由“神經(jīng)元”組成網(wǎng)絡(luò)以后,描述網(wǎng)絡(luò)中的某個“神經(jīng)元”時,更多地用“單元”(unit)來指代。同時由于神經(jīng)網(wǎng)絡(luò)的表現(xiàn)形式是一個有向圖,有時也會用“節(jié)點”(node)來表達(dá)同樣的意思。對神經(jīng)元模型的理解:有一個數(shù)據(jù),稱之為樣本;樣本有四個屬性,其中三個屬性已知,一個屬性未知,現(xiàn)需要通過三個已知屬性預(yù)測未知屬性。具體辦法就是使用神經(jīng)元的公式進(jìn)行計算。三個已知屬性值是x1,
x2
,x3,未知屬性y可以通過公式計算出來。MP模型是建立神經(jīng)網(wǎng)絡(luò)大廈的地基,但其權(quán)重值是預(yù)先設(shè)置的,不能學(xué)習(xí)。而Hebb學(xué)習(xí)規(guī)則認(rèn)為人腦神經(jīng)細(xì)胞的突觸(也就是連接)上的強度上可以變化的。因此,可以通過調(diào)整權(quán)值的方法讓機器學(xué)習(xí),這為后面的學(xué)習(xí)算法奠定了基礎(chǔ)。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)2.1.2神經(jīng)網(wǎng)絡(luò)(感知器)1958年,Rosenblatt提出由兩層神經(jīng)元組成的神經(jīng)網(wǎng)絡(luò),如圖2.8所示,稱之為感知器(Perceptron)或感知機,它是當(dāng)時首個可以學(xué)習(xí)的人工神經(jīng)網(wǎng)絡(luò)。圖2.8單層神經(jīng)網(wǎng)絡(luò)2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)在原來MP模型的“輸入”位置添加神經(jīng)元節(jié)點,標(biāo)志其為“輸入單元”,并將權(quán)值
寫到“連接線”的中間。在“感知器”中,有兩個層次,分別是輸入層和輸出層。輸入層里的“輸入單元”只負(fù)責(zé)傳輸數(shù)據(jù),不做計算;輸出層的“輸出單元”對前面一層的輸入進(jìn)行計算;將需要計算的層次稱之為“計算層”,并把擁有一個計算層的網(wǎng)絡(luò)稱之為“單層神經(jīng)網(wǎng)絡(luò)”。如果要預(yù)測的目標(biāo)不再是一個值,而是一個向量,那么可以在輸出層再增加一個“輸出單元”,形成帶有兩個輸出單元的單層神經(jīng)網(wǎng)絡(luò),如圖2.9所示。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)(a)輸出(b)輸出(c)輸出
和(d)輸出
和圖2.9單層神經(jīng)網(wǎng)絡(luò)2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)
(2.1.2)
2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)與神經(jīng)元模型不同,感知器中權(quán)值是通過訓(xùn)練得到的,類似一個邏輯回歸模型,可以做線性分類任務(wù)??梢杂脹Q策分界來形象的表達(dá)分類效果,決策分界就是在二維的數(shù)據(jù)平面中劃出一條直線,如圖2.10所示。當(dāng)數(shù)據(jù)維數(shù)為3,就是劃出一個平面(2維);當(dāng)數(shù)據(jù)維數(shù)為N時,就是劃出一個N-1維的超平面。圖2.10單層神經(jīng)網(wǎng)絡(luò)(決策分界)注意:感知器只能做簡單的線性分類,對XOR(異或)這樣的簡單分類任務(wù)無法解決。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)2.1.3兩層神經(jīng)網(wǎng)絡(luò)(多層感知器)Minsky認(rèn)為單層神經(jīng)網(wǎng)絡(luò)無法解決異或問題,但當(dāng)增加一個計算層以后,兩層神經(jīng)網(wǎng)絡(luò)不僅可以解決異或問題,而且具有非常好的非線性分類效果,不過當(dāng)時兩層神經(jīng)網(wǎng)絡(luò)的計算是一個問題,沒有一個較好的解法。1986年,Rumelhar和Hinton等提出了反向傳播(Backpropagation,BP)算法,解決了兩層神經(jīng)網(wǎng)絡(luò)所需要的復(fù)雜計算量問題。兩層神經(jīng)網(wǎng)絡(luò)包含一個輸入層、一個輸出層、一個中間層。此時,中間層和輸出層都是計算層,如圖2.11所示。用上標(biāo)來區(qū)分不同層次之間的變量。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)(a)中間層(b)輸出層(c)向量形式使用矩陣運算來表達(dá)整個計算公式為(2.1.3)可見,矩陣表示簡潔,而且不受節(jié)點數(shù)增多的影響(無論有多少節(jié)點參與運算,乘法兩端都只有一個變量)。(2.1.4)2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)2.1.4偏置單元
圖2.12兩層神經(jīng)網(wǎng)絡(luò)(考慮偏置節(jié)點)圖2.12表明,偏置節(jié)點沒有輸入(前一層中沒有箭頭指向它)。有些神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖中會把偏置節(jié)點明顯畫出來,有些不會。一般情況下,不會明確畫出偏置節(jié)點。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)考慮偏置以后,一個神經(jīng)網(wǎng)絡(luò)的矩陣運算公式為(2.1.5)(2.1.6)注意,在兩層神經(jīng)網(wǎng)絡(luò)中,不再使用sgn函數(shù)作為函數(shù)f,而是使用平滑函數(shù)sigmoid作為函數(shù)f。事實上,神經(jīng)網(wǎng)絡(luò)本質(zhì)上是通過參數(shù)與激活函數(shù)來擬合特征與目標(biāo)之間的真實函數(shù)關(guān)系。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)與單層神經(jīng)網(wǎng)絡(luò)不同,兩層神經(jīng)網(wǎng)絡(luò)可以無限逼近任意連續(xù)函數(shù)。也就是說,面對復(fù)雜的非線性分類任務(wù),兩層(帶一個隱藏層)神經(jīng)網(wǎng)絡(luò)可以很好的分類。圖2.13中,紅色的線與藍(lán)色的線代表數(shù)據(jù);而紅色區(qū)域和藍(lán)色區(qū)域代表由神經(jīng)網(wǎng)絡(luò)劃開的區(qū)域,兩者的分界線就是決策分界。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)圖2.13
兩層神經(jīng)網(wǎng)絡(luò)(決策分界)圖2.13表明,兩層神經(jīng)網(wǎng)絡(luò)的決策分界線非常平滑,分類效果很好。有趣的是,單層網(wǎng)絡(luò)只能做線性分類任務(wù),兩層神經(jīng)網(wǎng)絡(luò)中的后一層也是線性分類層,應(yīng)該只能做線性分類任務(wù)。但為什么兩個線性分類任務(wù)結(jié)合起來就可以做非線性分類任務(wù)?2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)輸出層的決策分界,如圖2.14所示。圖2.14表明,輸出層的決策分界仍然是直線。關(guān)鍵是從輸入層到隱含層,數(shù)據(jù)發(fā)生空間變換。也就是說,兩層神經(jīng)網(wǎng)絡(luò)中,隱含層對原始的數(shù)據(jù)進(jìn)行了一個空間變換,使其可以被線性分類,然后輸出層的決策分界劃出了一個線性分類分界線,對其進(jìn)行分類。這就說明,兩層神經(jīng)網(wǎng)絡(luò)可以做非線性分類的關(guān)鍵是隱含層,其參數(shù)矩陣的作用就是使數(shù)據(jù)的原始坐標(biāo)空間從線性不可分轉(zhuǎn)換成線性可分。兩層神經(jīng)網(wǎng)絡(luò)通過兩層的線性模型模擬了數(shù)據(jù)內(nèi)真實的非線性函數(shù)。因此,多層的神經(jīng)網(wǎng)絡(luò)的本質(zhì)就是復(fù)雜函數(shù)擬合。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)圖2.14
兩層神經(jīng)網(wǎng)絡(luò)(空間變換)2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)對于隱含層節(jié)點數(shù)進(jìn)行設(shè)計時,輸入層節(jié)點數(shù)需要與特征的維度匹配;輸出層節(jié)點數(shù)要與目標(biāo)的維度匹配;中間層節(jié)點數(shù),由設(shè)計者指定的。節(jié)點數(shù)的多少,會影響整個模型的效果。如何決定中間層的節(jié)點數(shù)呢?一般由經(jīng)驗設(shè)置。較好的方法就是預(yù)先設(shè)定幾個可選值,通過切換這幾個值來觀察整個模型的預(yù)測效果,選擇效果最好的值作為最終選擇。這種方法又叫做網(wǎng)格搜索(GridSearch,GS)。2.1神經(jīng)網(wǎng)絡(luò)演進(jìn)了解了兩層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)以后,就可以理解類似的網(wǎng)絡(luò)。例如,EasyPR字符識別網(wǎng)絡(luò)架構(gòu),如圖2.15所示EasyPR使用了字符的圖像去進(jìn)行字符文字的識別。輸入為120維向量,輸出為要預(yù)測的文字類別,共有65類。實驗表明,當(dāng)隱含層數(shù)目為40時,整個網(wǎng)絡(luò)在測試集上的效果較好。因此,選擇網(wǎng)絡(luò)的最終結(jié)構(gòu)為120,40和65。圖2.15EasyPR字符識別網(wǎng)絡(luò)2.2神經(jīng)網(wǎng)絡(luò)訓(xùn)練與預(yù)測2.2.1神經(jīng)網(wǎng)絡(luò)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的一般方法分為訓(xùn)練與預(yù)測階段。在訓(xùn)練階段,需要準(zhǔn)備好原始數(shù)據(jù)和與之對應(yīng)的分類標(biāo)簽數(shù)據(jù),通過訓(xùn)練得到模型A。在預(yù)測階段,對新的數(shù)據(jù)套用該模型A,可以預(yù)測新輸入數(shù)據(jù)所屬類別。
(2.2.1)2.2神經(jīng)網(wǎng)絡(luò)訓(xùn)練與預(yù)測
2.2神經(jīng)網(wǎng)絡(luò)訓(xùn)練與預(yù)測反向傳播算法基于鏈?zhǔn)椒▌t,鏈?zhǔn)椒▌t是微積分中的求導(dǎo)法則,用于求一個復(fù)合函數(shù)的導(dǎo)數(shù)。按鏈?zhǔn)椒▌t,首先計算輸出層梯度,然后計算第二個參數(shù)矩陣的梯度,接著計算中間層的梯度,再然后計算第一個參數(shù)矩陣的梯度,最后計算輸入層梯度。計算結(jié)束以后,就獲得了兩個參數(shù)矩陣的梯度。機器學(xué)習(xí)問題之所以稱為學(xué)習(xí)問題,而不是優(yōu)化問題,就是因為它不僅要求數(shù)據(jù)在訓(xùn)練集上求得一個較小的誤差,在測試集上也要表現(xiàn)好。因為模型最終是要部署到?jīng)]有見過訓(xùn)練數(shù)據(jù)的真實場景。提升模型在測試集上的預(yù)測效果稱為泛化(generalization),相關(guān)方法被稱作正則化(Regularization)2.2神經(jīng)網(wǎng)絡(luò)訓(xùn)練與預(yù)測2.2.2神經(jīng)網(wǎng)絡(luò)預(yù)測
2.3優(yōu)化算法
2.3優(yōu)化算法優(yōu)化算法分為兩大類1)一階優(yōu)化算法這種算法使用各參數(shù)的梯度值來最小化或最大化損失函數(shù)。最常用的一階優(yōu)化算法是梯度下降算法。對單變量函數(shù),使用導(dǎo)數(shù)來分析;對于多變量函數(shù),用梯度取代導(dǎo)數(shù),并使用偏導(dǎo)數(shù)來計算梯度。梯度和導(dǎo)數(shù)之間的一個主要區(qū)別是函數(shù)的梯度形成了一個向量場。2)二階優(yōu)化算法二階優(yōu)化算法使用了二階導(dǎo)數(shù)(也叫做Hessian方法)來最小化或最大化損失函數(shù)。由于二階導(dǎo)數(shù)的計算成本很高,所以這種方法并沒有廣泛使用。神經(jīng)網(wǎng)絡(luò)優(yōu)化算法主要有:梯度下降、動量法、AdaGrad算法、RMSProp算法、AdaDelta算法、Adam算法等。2.3優(yōu)化算法2.3.1梯度下降法在訓(xùn)練和優(yōu)化智能系統(tǒng)時,梯度下降是一種最重要的技術(shù)和基礎(chǔ)。梯度下降的功能是:通過尋找最小值控制方差、更新模型參數(shù),最終使模型收斂。如今,梯度下降主要用于神經(jīng)網(wǎng)絡(luò)模型的參數(shù)更新,即通過在一個方向上更新和調(diào)整模型參數(shù)來最小化損失函數(shù),這是神經(jīng)網(wǎng)絡(luò)中最常用的優(yōu)化算法。反向傳播算法使訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)成為可能。反向傳播算法在前向傳播中計算輸入信號與其對應(yīng)的權(quán)重的乘積并求和,由激活函數(shù)將輸入信號轉(zhuǎn)換為輸出信號;然后在反向傳播過程中回傳相關(guān)誤差,計算誤差函數(shù)相對于參數(shù)的梯度并在負(fù)梯度方向上更新模型參數(shù)。2.3優(yōu)化算法對于非線性模型,基于誤差函數(shù)的損失函數(shù)定義為(2.3.1)
(2.3.2)2.3優(yōu)化算法圖2.16顯示了權(quán)重更新過程與梯度向量誤差的方向相反,其中U形曲線為梯度。注意:當(dāng)權(quán)重值太小或太大時,會存在較大的誤差,需要更新和優(yōu)化權(quán)重,使其轉(zhuǎn)化為合適值,所以試圖在與梯度相反的方向找到一個局部最優(yōu)值。梯度下降法的迭代公式為(2.3.3)2.3優(yōu)化算法圖2.16權(quán)重更新方向與梯度方向相反
(2.3.4)以上是梯度下降法的最基本形式。2.3優(yōu)化算法2.3.2梯度下降法的變體上面介紹的由梯度下降法更新模型參數(shù)(權(quán)重與偏置),每次的參數(shù)更新都使用了整個訓(xùn)練樣本數(shù)據(jù)集,這種方式也就是批量梯度下降法(BatchGradientDescent,BGD)。在BGD中,整個數(shù)據(jù)集都參與梯度計算,這樣得到的梯度是一個標(biāo)準(zhǔn)梯度,易于得到全局最優(yōu)解,總迭代次數(shù)少。但在處理大型數(shù)據(jù)集時速度很慢且難以控制,甚至導(dǎo)致內(nèi)存溢出。2.3優(yōu)化算法1.隨機梯度下降隨機梯度下降(Stochasticgradientdescent,SGD)是每次從訓(xùn)練集中隨機采樣一個樣本計算Loss和梯度,然后更新參數(shù),即(2.3.5)
2.3優(yōu)化算法2.小批量梯度下降小批量梯度下降是每次從訓(xùn)練集中隨機采樣m個樣本,組成一個小批量(mini-batch)來計算損失函數(shù)Loss并更新參數(shù)。損失函數(shù)定義為(2.3.6)2.3優(yōu)化算法然后,再按式(2.3.5)更新。使用小批量梯度下降的優(yōu)點如下:(1)可以減少參數(shù)更新的波動,最終得到效果更好和更穩(wěn)定的收斂。(2)可以使用最新的深層學(xué)習(xí)庫中通用的矩陣優(yōu)化方法,使計算小批量數(shù)據(jù)的梯度更加高效。(3)通常來說,小批量樣本的大小范圍是從50到256,可以根據(jù)實際問題而有所不同。(4)在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,通常都會選擇小批量梯度下降算法。2.3優(yōu)化算法2.3.3
優(yōu)化梯度下降算法1.Momentum算法
(2.3.7)(2.3.8)
2.3優(yōu)化算法
2.3優(yōu)化算法圖2.17平滑處理
圖2.17(b)是進(jìn)行一次平滑處理的結(jié)果。最常見的方法是用一個滑動窗口滑過各個數(shù)據(jù)點,計算窗口的平均值,從而得到數(shù)據(jù)的滑動平均值。也可以使用指數(shù)加權(quán)平均來對數(shù)據(jù)做平滑。2.3優(yōu)化算法若(2.3.9)則其展開式為(2.3.10)式(2.3.10)稱為指數(shù)加權(quán)移動平均。當(dāng)k比較小時,其最近的數(shù)據(jù)太少,導(dǎo)致估計誤差比較大,因此修正為2.3優(yōu)化算法(2.3.11)
圖2.18修正結(jié)果2.3優(yōu)化算法2.Nesterov梯度加速法
2.3優(yōu)化算法然后使用(2.3.13)來更新參數(shù)
現(xiàn)在,通過使網(wǎng)絡(luò)更新與誤差函數(shù)的斜率相適應(yīng),并依次加速SGD,也可根據(jù)每個參數(shù)的重要性來調(diào)整和更新對應(yīng)參數(shù),以執(zhí)行更大或更小的更新幅度。因此,不是通過計算當(dāng)前參數(shù)的梯度值,而是通過相關(guān)參數(shù)的大致未來位置來有效預(yù)知未來,即(2.3.12)2.3優(yōu)化算法3.AdaGrad算法
(2.3.14)2.3優(yōu)化算法
(2.3.15)
2.3優(yōu)化算法如果某個方向上梯度震蕩很大,應(yīng)該減小其步長;而震蕩大,則這個方向的s也較大,歸一化的梯度就小了。如果某個方向上梯度震蕩很小,應(yīng)該增大其步長;而震蕩小,則這個方向的s也較小,歸一化的梯度就大了。因此,通過AdaGrad可以調(diào)整不同維度上的步長,加快收斂速度。不過,當(dāng)學(xué)習(xí)率在迭代早期降得較快且當(dāng)前解依然不佳時,AdaGrad算法在迭代后期由于學(xué)習(xí)率過小,可能較難找到?個有?的解。目標(biāo)函數(shù)2.3優(yōu)化算法(2.3.16)時,AdaGrad算法對自變量的迭代軌跡,如圖2.19所示。圖2.19自變量迭代軌跡2.3優(yōu)化算法4.RMSprop算法
(2.3.17)2.3優(yōu)化算法
對目標(biāo)函數(shù)式(2.3.16),由RMSProp算法觀察自變量迭代軌跡,如圖2.20所示。圖2.20迭代軌跡2.3優(yōu)化算法2.3優(yōu)化算法5.AdaDelta算法2.3優(yōu)化算法2.3優(yōu)化算法6.Adam算法
Adam算法與傳統(tǒng)的隨機梯度下降不同。隨機梯度下降保持單一的學(xué)習(xí)率更新所有的權(quán)重,學(xué)習(xí)率在訓(xùn)練過程中并不會改變。而Adam算法通過計算梯度的一階矩估計和二階矩估計而為不同的參數(shù)設(shè)計獨立的自適應(yīng)性學(xué)習(xí)率。Adam算法為兩種隨機梯度下降擴(kuò)展式的優(yōu)點集合,即:適應(yīng)性梯度算法(AdaGrad)為每一個參數(shù)保留一個學(xué)習(xí)率以提升在稀疏梯度(即自然語言和計算機視覺問題)上的性能。2.3優(yōu)化算法6.Adam算法
2.3優(yōu)化算法2.3優(yōu)化算法2.3優(yōu)化算法2.3優(yōu)化算法2.4計算圖一個機器學(xué)習(xí)任務(wù)的核心是模型的定義以及模型的參數(shù)求解方式,對這兩者進(jìn)行抽象之后,可以確定一個唯一的計算邏輯,將這個邏輯用圖表示,稱之為計算圖。計算圖表現(xiàn)為有向無環(huán)圖,定義了數(shù)據(jù)的流轉(zhuǎn)方式、數(shù)據(jù)的計算方式,以及各種計算之間的相互依賴關(guān)系等。按照數(shù)據(jù)結(jié)構(gòu)的定義,圖由頂點集V(G)和邊集E(G)組成,記為G=(V,E)。其中E(G)是邊的有限集合,邊是頂點的無序?qū)Γo向圖)或有序?qū)Γㄓ邢驁D)。對有向圖來說,E(G)是有向邊(也稱弧(Arc))的有限集合,弧是頂點的有序?qū)?,記?lt;v,w>,v、w是頂點,v為弧尾(箭頭根部),w為弧頭(箭頭處)。對無向圖來說,E(G)是邊的有限集合,邊是頂點的無序?qū)?,記?v,w)或者(w,v),并且(v,w)=(w,v)。2.4計算圖2.4.1計算圖含義計算圖就是將計算過程圖形化表示出來,是一種描述方程的“語言”,這個語言是用來描述一個函數(shù),神經(jīng)網(wǎng)絡(luò)就是一個函數(shù),所以需要描述函數(shù)的語言。其實圖(graph)有很多種定義方法,這里用節(jié)點(node)表示一個操作(簡單函數(shù))、邊(edge)表示一個變量,可以是一個標(biāo)量、向量甚至是張量[32]。計算圖和反向傳播都是深度學(xué)習(xí)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的重要核心概念。2.4計算圖1.正向傳播正向傳播,也稱前向傳播,是評估由計算圖表示的數(shù)學(xué)表達(dá)式的值的過程。前向傳播意味著將變量的值從左側(cè)(輸入)向前傳遞到輸出所在的右側(cè)。神經(jīng)網(wǎng)絡(luò)的正向傳播中進(jìn)行的矩陣的乘積運算在幾何學(xué)領(lǐng)域被稱為“仿射變換”。因此,這里將進(jìn)行仿射變換的處理實現(xiàn)稱為“Affine層”[33]。2.后向傳播后向傳播是從右(輸出)向左(輸入)傳遞變量的值,目的是計算每個輸入相對于最終輸出的梯度,這些梯度對于使用梯度下降訓(xùn)練神經(jīng)網(wǎng)絡(luò)至關(guān)重要。3.加法/乘法節(jié)點正反向傳播的計算圖[34]2.4計算圖3.加法/乘法節(jié)點正反向傳播的計算圖(1)加法節(jié)點的正反向傳播。其計算圖,如圖2.21所示。圖2.21加法節(jié)點2.4計算圖(2)乘法節(jié)點正反向傳播。其計算圖,如圖2.22所示。圖2.22乘法節(jié)點2.4計算圖2.4.2AFFINNE層/SOFTMAX層的計算圖1.AFFINE層的計算圖
2.4計算圖圖2.23計算圖
2.4計算圖
圖2.24后向傳播2.4計算圖
圖2.24后向傳播2.4計算圖2.Softmax-with-Loss層的計算圖神經(jīng)網(wǎng)絡(luò)中進(jìn)行的處理有推理(inference)和學(xué)習(xí)兩個階段。神經(jīng)網(wǎng)絡(luò)的推理通常不使用Softmax層。神經(jīng)網(wǎng)絡(luò)中未被正規(guī)化的輸出結(jié)果有時被稱為“得分”。也就是說,當(dāng)神經(jīng)網(wǎng)絡(luò)的推理只需要給出一個答案的情況下,只對得分最大值感興趣;所以不需要Softmax層,而神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)階段則需要Softmax層。使用交叉熵誤差作為softmax函數(shù)的損失函數(shù)后,反向傳播得到這樣“漂亮”的結(jié)果。實際上,這樣“漂亮”的結(jié)果并不是偶然的;而是為了得到這樣的結(jié)果,特意設(shè)計了交叉熵誤差函數(shù)。回歸問題中輸出層使用“恒等函數(shù)”,損失函數(shù)使用“平方和誤差”,也是出于同樣的理由。也就是說,使用“平方和誤差”作為“恒等函數(shù)”的損失函數(shù),反向傳播才能得到“漂亮”的結(jié)果。2.4計算圖softmax函數(shù)會將輸入值正規(guī)化之后再輸出?,F(xiàn)用計算圖來表示Softmax-with-Loss層,如圖2.25所示。圖2.25Softmax-with-Loss層的計算圖圖中,計算圖中省略了Softmax和CrossEntropyError層的內(nèi)容。2.4計算圖(1)正向傳播Softmax函數(shù)可表示為(2.4.1)
2.4計算圖圖2.26Softmax層的計算圖(僅正向傳播)2.4計算圖CrossEntropyError層的交叉熵誤差為(2.4.2)CrossEntropyError層的計算圖,如圖2.27所示。圖2.27CrossEntropyError層的計算圖(正向傳播)2.4計算圖(2)反向傳播CrossEntropyError層的反向傳播計算圖,如圖2.28所示。圖2.28交叉熵誤差的反向傳播
2.4計算圖Softmax-with-Loss的反向傳播計算圖,如圖2.29所示圖2.29Softmax-with-Loss層的計算函數(shù)2.4計算圖2.4.3激活函數(shù)的計算圖1.Sigmoid反向傳播(1)函數(shù)式(2.4.3)(2)計算圖。式(2.4.3)的計算圖,如圖2.30所示。
(2.4.4)2.4計算圖
(2.4.5)(3)簡化輸出(2.4.6)2.4計算圖圖2.30計算圖2.4計算圖2.ReLU反向傳播2.4計算圖圖2.31ReLU層的計算圖注意:ReLU層像電路中的開關(guān)。(1)正向傳播時,有電流通過時,開關(guān)設(shè)為ON;沒有電流通過,開關(guān)設(shè)為OFF。(2)反向傳播時,開關(guān)為ON,電流會直接通過;開關(guān)為OFF,則不會有電流通過。2.5正則化懲罰項神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力過強、復(fù)雜度過高或訓(xùn)練時間太久或激活函數(shù)不合適或數(shù)據(jù)量太少等情況,常常會導(dǎo)致過擬合(overfitting)。正則化方法即為在此時向原始模型引入額外信息,以便防止過擬合從而提高模型泛化性能的一類方法的統(tǒng)稱。在實際的深度學(xué)習(xí)場景中,可以發(fā)現(xiàn),最好的擬合模型(從最小化泛化誤差的意義上)是一個適當(dāng)正則化的大型模型。2.5正則化懲罰項2.5.1參數(shù)范數(shù)懲罰
(2.5.1)
2.5正則化懲罰項2.5.2L2參數(shù)正則化2.5正則化懲罰項2.5正則化懲罰項2.5正則化懲罰項圖2.32目標(biāo)函數(shù)的等高線2.5正則化懲罰項2.5正則化懲罰項在原目標(biāo)函數(shù)的基礎(chǔ)上增加L2范數(shù)懲罰,將原函數(shù)進(jìn)行一定程度平滑的效果,由其梯度函數(shù)體現(xiàn)。對于一類存在大量駐點(Stationarypoint,即梯度為0的點),增加L2范數(shù)意味著將原本導(dǎo)數(shù)為零的區(qū)域,加入了先驗知識進(jìn)行區(qū)分(幾何上,意味著原本一個平臺的區(qū)域向0點方向傾斜),這樣可以幫助優(yōu)化算法至少收斂到一個局部最優(yōu)解,而不是停留在一個鞍點上。2.5正則化懲罰項
2.5正則化懲罰項2.5.3L1參數(shù)正則化
2.5正則化懲罰項2.5.3L1參數(shù)正則化
(2.5.6)2.5正則化懲罰項2.5正則化懲罰項2.5正則化懲罰項綜上,L1正則化和L2正則化的區(qū)別①通過上面的分析,L1相對于L2能夠產(chǎn)生更加稀疏的模型,即當(dāng)L1正則在參數(shù)w比較小時,能夠直接縮減至0。因此,可以起到特征選擇的作用,該技術(shù)也稱之為LASSO。②如果從概率角度進(jìn)行分析,很多范數(shù)約束相當(dāng)于對參數(shù)添加先驗分布,其中L2范數(shù)相當(dāng)于參數(shù)服從高斯先驗分布,L1范數(shù)相當(dāng)于拉普拉斯分布。2.5正則化懲罰項圖2.33懲罰系數(shù)圖2.33表明,懲罰系數(shù)λ=0.001時就是過擬合(由于懲罰的程度不夠),λ=0.1時泛化能力強。2.6神經(jīng)網(wǎng)絡(luò)BP算法2.6.1BP算法思想多層感知器在如何獲取隱層的權(quán)值的問題上遇到了瓶頸。既然無法直接得到隱層的權(quán)值,能否先通過輸出層得到輸出結(jié)果和期望輸出的誤差來間接調(diào)整隱層的權(quán)值呢?BP算法就是采用這樣的思想設(shè)計出來的算法,它的基本思想是,學(xué)習(xí)過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經(jīng)各隱層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉(zhuǎn)入誤差的反向傳播階段。反向傳播時,將輸出以某種形式通過隱層向輸入層逐層反傳,并將誤差分?jǐn)偨o各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權(quán)值的依據(jù)。2.6神經(jīng)網(wǎng)絡(luò)BP算法2.6.2BP網(wǎng)絡(luò)特性分析——BP三要素分析一個ANN時,通常都是從它的三要素入手,即網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、激活函數(shù)和學(xué)習(xí)算法,如圖2.34所示。圖2.34BP三要素2.6神經(jīng)網(wǎng)絡(luò)BP算法1.BP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)與激活函數(shù)BP網(wǎng)絡(luò)實際上就是多層感知器,因此它的拓?fù)浣Y(jié)構(gòu)和多層感知器的拓?fù)浣Y(jié)構(gòu)相同。由于單隱層(三層)感知器已經(jīng)能夠解決簡單的非線性問題,因此應(yīng)用最為普遍。三層感知器的拓?fù)浣Y(jié)構(gòu)如圖2.35所示。一個最簡單的三層BP構(gòu)中,每層都有若干個神經(jīng)元(neuron),它與上一層的每個神經(jīng)元都保持著連接,且它的輸入是上一層每個神經(jīng)元輸出的線性組合。每個神經(jīng)元的輸出是其輸入的函數(shù),把這個函數(shù)就是激活函數(shù)(activationfunction),是非線性變換函數(shù)。其特點是函數(shù)本身及其導(dǎo)數(shù)都是連續(xù)的,因而在處理上十分方便。2.6神經(jīng)網(wǎng)絡(luò)BP算法圖2.35三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)2.6神經(jīng)網(wǎng)絡(luò)BP算法2.BP學(xué)習(xí)算法1)信號前向傳播過程2.6神經(jīng)網(wǎng)絡(luò)BP算法2)誤差的反向傳播過程2.6神經(jīng)網(wǎng)絡(luò)BP算法2.6神經(jīng)網(wǎng)絡(luò)BP算法2.6神經(jīng)網(wǎng)絡(luò)BP算法2.6神經(jīng)網(wǎng)絡(luò)BP算法2.6神經(jīng)網(wǎng)絡(luò)BP算法BP算法流程,如圖2.36所示。圖2.36BP算法程序流程圖2.6神經(jīng)網(wǎng)絡(luò)BP算法3)BP算法改進(jìn)BP算法的實質(zhì)是求解誤差函數(shù)的最小值問題,由于它采用非線性規(guī)劃中的最速下降方法,按誤差函數(shù)的負(fù)梯度方向修改權(quán)值,存在學(xué)習(xí)效率低、收斂速度慢、易陷入局部極小狀態(tài)等問題。為此,擬進(jìn)行以下改進(jìn)。(1)附加動量法附加動量法使網(wǎng)絡(luò)在修正權(quán)值時,不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢的影響。在沒有附加動量的作用下,網(wǎng)絡(luò)可能陷入淺的局部極小值,利用附加動量的作用有可能滑過這些極小值。該方法是在反向傳播法中每一個權(quán)值(或閾值)的變化上加上一項正比于前次權(quán)值(或閾值)變化量的值,并根據(jù)反向傳播法來產(chǎn)生新的權(quán)值(或閾值)變化。2.6神經(jīng)網(wǎng)絡(luò)BP算法附加動量法的實質(zhì)是將最后一次權(quán)值(或閾值)變化的影響,通過一個動量因子來傳遞。帶有附加動量因子的權(quán)值和閾值的調(diào)整公式為2.6神經(jīng)網(wǎng)絡(luò)BP算法當(dāng)動量因子取值為零時,權(quán)值(或閾值)的變化僅是根據(jù)梯度下降法產(chǎn)生;當(dāng)動量因子取值為1時,新的權(quán)值(或閾值)變化則是設(shè)置為最后一次權(quán)值(或閾值)的變化,而依梯度法產(chǎn)生的變化部分則被忽略。以此方式,當(dāng)增加動量項后,促使權(quán)值的調(diào)節(jié)向著誤差曲面底部的平均方向變化,當(dāng)網(wǎng)絡(luò)權(quán)值進(jìn)入誤差曲面底部的平坦區(qū)時,將變得很小,于是,從而防止的出現(xiàn),有助于使網(wǎng)絡(luò)從誤差曲面的局部極小值中跳出。2.6神經(jīng)網(wǎng)絡(luò)BP算法根據(jù)附加動量法的設(shè)計原則,當(dāng)修正的權(quán)值在誤差中導(dǎo)致太大的增長結(jié)果時,新的權(quán)值應(yīng)被取消而不被采用,并使動量作用停止下來,以使網(wǎng)絡(luò)不進(jìn)入較大誤差曲面;當(dāng)新的誤差變化率對其舊值超過一個事先設(shè)定的最大誤差變化率時,也得取消所計算的權(quán)值變化。其最大誤差變化率可以大于或等于1。典型的取值取1.04。所以,當(dāng)進(jìn)行附加動量法的訓(xùn)練程序設(shè)計時,必須加入條件判斷以正確使用其權(quán)值修正公式。采用動量法的判斷條件為2.6神經(jīng)網(wǎng)絡(luò)BP算法2.6神經(jīng)網(wǎng)絡(luò)BP算法(2)自適應(yīng)學(xué)習(xí)率對于一個特定的問題,要選擇適當(dāng)?shù)膶W(xué)習(xí)速率不是一件容易的事情。通常是憑經(jīng)驗或?qū)嶒灚@取,但即使這樣,對訓(xùn)練開始初期效果較好的學(xué)習(xí)速率,不一定對后來的訓(xùn)練合適。為了解決這個問題,在訓(xùn)練過程中,實行自動調(diào)節(jié)學(xué)習(xí)速率。通常調(diào)節(jié)學(xué)習(xí)速率的準(zhǔn)則是:檢查權(quán)值是否真正降低了誤差函數(shù),如果確實如此,則所選學(xué)習(xí)速率過小,可以適當(dāng)增加一個量;若沒有降低誤差函數(shù),就產(chǎn)生了過調(diào),那么就應(yīng)減小學(xué)習(xí)速率。一個自適應(yīng)學(xué)習(xí)速率的調(diào)整公式為2.6神經(jīng)網(wǎng)絡(luò)BP算法2.6神經(jīng)網(wǎng)絡(luò)BP算法(3)動量-自適應(yīng)學(xué)習(xí)率調(diào)整算法當(dāng)采用前述的動量法時,BP算法可以找到全局最優(yōu)解;而當(dāng)采用自適應(yīng)學(xué)習(xí)速率時,BP算法可以縮短訓(xùn)練時間。將這兩種方法相結(jié)合訓(xùn)練神經(jīng)網(wǎng)絡(luò),則得到動量-自適應(yīng)學(xué)習(xí)速率調(diào)整算法。2.7過擬合與欠擬合欠擬合(Underfiting)和過擬合(Overfiting),也被稱為highbias和highviarance。表征線性回歸模型,如圖2.37所示。圖2.37(a)使用一條直線來做預(yù)測模型,顯然無論如何調(diào)整起始點和斜率,該直線都不可能很好地擬合給定的五個訓(xùn)練樣本,更不用說用新數(shù)據(jù)進(jìn)行測試。圖2.37(c)使用高階多項式完美地擬合了訓(xùn)練樣本,當(dāng)給出新數(shù)據(jù)時,很可能會產(chǎn)生較大誤差;圖2.37(b)既較完美地擬合訓(xùn)練數(shù)據(jù),又不過于復(fù)雜,基本上描繪清晰了在預(yù)測房屋價格時x1和x2的關(guān)系。2.7過擬合與欠擬合(a)線性擬合
(b)最好擬合
(c)過擬合
圖2.37擬合訓(xùn)練數(shù)據(jù)2.7過擬合與欠擬合對于邏輯回歸,同樣存在此問題,如圖2.38所示。圖2.38邏輯回歸問題在機器學(xué)習(xí)中,描述從訓(xùn)練數(shù)據(jù)學(xué)習(xí)目標(biāo)函數(shù)的學(xué)習(xí)過程稱為歸納性的學(xué)習(xí);而從機器學(xué)習(xí)模型學(xué)到的概念在遇到新的數(shù)據(jù)時表現(xiàn)的好壞(預(yù)測準(zhǔn)確度等),稱為泛化;擬合是指逼近目標(biāo)函數(shù)的遠(yuǎn)近程度。2.7過擬合與欠擬合2.7.1基本概念1.過擬合模型過度擬合,在訓(xùn)練集(trainingset)上表現(xiàn)好;在測試集上效果差。也就是說,在已知的數(shù)據(jù)集中模型表現(xiàn)非常好,在添加一些新的數(shù)據(jù)測試效果就會差很多。這是由于考慮的影響因素太多,超出自變量的維度過于多。2.欠擬合(高偏差)模型擬合不夠,在訓(xùn)練集(trainingset)上模型表現(xiàn)差,沒有充分利用數(shù)據(jù),預(yù)測的準(zhǔn)確度低。3.偏差(Bias)首先error=bias+variance。Bias是模型在樣本上的輸出與期望值之間的誤差,即模型本身的精確度。2.7過擬合與欠擬合4.方差(Variance)方差是衡量模型輸出與期望值相差的度量值,統(tǒng)計中的方差是模型每個樣本值與全體樣本值的平均數(shù)之差的平方值的平均數(shù),即模型的穩(wěn)定性。圖2.39給出了偏差值模型的輸出值與模型輸出期望(紅色中心)的距離;而方差指模型的每一個輸出結(jié)果與期望之間的距離。2.7過擬合與欠擬合圖2.39模型的輸出值與模型輸出期望(紅色中心)的距離就像打靶,低偏差指瞄準(zhǔn)的點與紅色中心的距離很近;而高偏差指瞄準(zhǔn)的點與紅色中心的距離很遠(yuǎn)。低方差是指瞄準(zhǔn)一個點后,射出的子彈中靶子的位置與瞄準(zhǔn)的點的位置距離比較近;高方差是指瞄準(zhǔn)一個點后,射出的子彈中靶子的位置與瞄準(zhǔn)的點的位置距離比較遠(yuǎn)。2.7過擬合與欠擬合?低偏差低方差時,預(yù)測值正中靶心(最接近期望值),且比較集中(方差小),為期望的結(jié)果。?低偏差高方差時,預(yù)測值基本落在期望值周圍,但很分散,此時方差較大,說明模型的穩(wěn)定性不夠好。?高偏差低方差時,預(yù)測值與期望值有較大距離,但此時值很集中,方差??;模型的穩(wěn)定性較好,但預(yù)測準(zhǔn)確率不高,處于"一如既往地預(yù)測不準(zhǔn)"的狀態(tài)。2.7過擬合與欠擬合?高偏差高方差時,是最不期望的結(jié)果,此時模型不僅預(yù)測不準(zhǔn)確,而且還不穩(wěn)定,每次預(yù)測值差別都比較大。為了防止模型從訓(xùn)練數(shù)據(jù)中學(xué)到錯誤或無關(guān)緊要的模式,最優(yōu)解決方案是獲取更多數(shù)據(jù)。只要給足夠多的數(shù)據(jù),讓模型訓(xùn)練到盡可能多的例外情況,它就會不斷修正自己,從而得到更好的結(jié)果。2.7過擬合與欠擬合如何獲取更多的數(shù)據(jù),可以有以下幾個方法:①從數(shù)據(jù)源頭獲取更多數(shù)據(jù)。這種方法最容易想到的,但大多情況下,大幅增加數(shù)據(jù)本身就不容易;另外,也不清楚獲取多少數(shù)據(jù)才能使模型表現(xiàn)較好。②根據(jù)當(dāng)前數(shù)據(jù)集估計數(shù)據(jù)分布參數(shù),使用該分布產(chǎn)生更多數(shù)據(jù)。這個一般不用,因為估計分布參數(shù)的過程也會帶入抽樣誤差。③
數(shù)據(jù)增強(DataAugmentation)。通過一定規(guī)則擴(kuò)充數(shù)據(jù)。例如,在物體分類問題中,物體在圖像中的位置、姿態(tài)、尺度,整體圖像明暗度等都不會影響分類結(jié)果,就可以通過圖像平移、翻轉(zhuǎn)、縮放、切割等手段將數(shù)據(jù)庫成倍擴(kuò)充。2.7過擬合與欠擬合2.7.2以減少特征變量方法防止擬合過擬合主要有兩個原因造成的:數(shù)據(jù)太少+模型太復(fù)雜。所以可以通過使用合適復(fù)雜度的模型來防止過擬合問題,讓其足夠擬合真正的規(guī)則,同時又不至于擬合太多抽樣誤差。(1)減少網(wǎng)絡(luò)層數(shù)、神經(jīng)元個數(shù)等均可以限制網(wǎng)絡(luò)的擬合能力;(2)早停止(Earlystopping)。對于每個神經(jīng)元而言,其激活函數(shù)在不同區(qū)間的性能是不同的,如圖2.40所示。2.7過擬合與欠擬合圖2.40激活函數(shù)在不同區(qū)間的性能當(dāng)網(wǎng)絡(luò)權(quán)值較小時,神經(jīng)元的激活函數(shù)工作在線性區(qū),此時神經(jīng)元的擬合能力較弱(類似線性神經(jīng)網(wǎng)絡(luò))。有了上述共識之后,就可解釋為什么限制訓(xùn)練時間(earlystopping)有用:因為在初始化網(wǎng)絡(luò)時一般都是初始化為較小的權(quán)值。訓(xùn)練時間越長,部分網(wǎng)絡(luò)權(quán)值可能越大,如果在合適的時間停止訓(xùn)練,就可以將網(wǎng)絡(luò)的能力限制在一定范圍內(nèi)。2.7過擬合與欠擬合2.7.3以權(quán)重正則化方法防止擬合權(quán)重正則化(weightregularization)的簡單模型(simplemodel)是指參數(shù)值分布的熵更小的模型,強制讓模型權(quán)重只能取較小值,從而限制模型的復(fù)雜度,使權(quán)重值的分布更加規(guī)則。方法是向網(wǎng)絡(luò)損失函數(shù)中添加與較大權(quán)重值相關(guān)的成本(cost)。對L1正則化(L1regularization),添加的成本與權(quán)重系數(shù)的絕對值[權(quán)重的L1范數(shù)(norm)]成正比。2.7過擬合與欠擬合對L2正則化(L2regularization),添加的成本與權(quán)重系數(shù)的平方(權(quán)重的L2范數(shù))成正比,又稱權(quán)重衰減(weightdecay)正則化是基于L1與L2范數(shù)的,它們可以統(tǒng)一定義為L-P范數(shù),即2.7過擬合與欠擬合L-P范數(shù)不是一個范數(shù),而是一組范數(shù)。根據(jù)P的變化,范數(shù)也有著不同的變化,一個經(jīng)典的有關(guān)P范數(shù)的變化,如圖2.41所示。圖2.41不同歐氏距離圖2.40表示p從無窮到0變化時,三維空間中到原點的距離(范數(shù))為1的點構(gòu)成的圖形的變化情況。以常見的L2范數(shù)(p=2)為例,此時的范數(shù)也稱歐氏距離,空間中到原點的歐氏距離為1的點構(gòu)成了一個球面。2.7過擬合與欠擬合權(quán)重衰減(L2正則化)可以避免模型過擬合。其原理是:(1)從模型的復(fù)雜度上解釋:更小的權(quán)值w,從某種意義上說,表示網(wǎng)絡(luò)的復(fù)雜度更低,對數(shù)據(jù)的擬合更好(這個法則也叫做奧卡姆剃刀)。(2)從數(shù)學(xué)方面的解釋:過擬合時,擬合函數(shù)的系數(shù)往往非常大,最終形成的擬合函數(shù)波動也很大。也就是說,在某些很小的區(qū)間里函數(shù)值的變化很劇烈。這意味著函數(shù)在某些小區(qū)間里的導(dǎo)數(shù)值(絕對值)非常大,由于自變量值可大可小,所以只有系數(shù)足夠大,才能保證導(dǎo)數(shù)值很大。而正則化是通過約束參數(shù)的范數(shù)使其不要太大,所以可以在一定程度上減少過擬合情況。2.7過擬合與欠擬合2.7.4以交叉驗證方式防止擬合1.簡單的交叉驗證交叉驗證就是將樣本數(shù)據(jù)進(jìn)行切分,組合為不同的訓(xùn)練集和測試集,用訓(xùn)練集來訓(xùn)練模型,用測試集來評估模型預(yù)測的好壞。交叉的含義就是某次訓(xùn)練集中某樣本可能成為測試集中的樣本。交叉驗證分為三種:將樣本數(shù)據(jù)分為兩部分(一般70%訓(xùn)練集,30%測試集),然后用訓(xùn)練集來訓(xùn)練模型,在測試集上驗證模型及參數(shù)。它只需要將原始數(shù)據(jù)打亂后分成兩組即可,但沒有交叉;隨機分組,驗證集分類的準(zhǔn)確率與原始數(shù)據(jù)分組關(guān)系很大;有些數(shù)據(jù)可能從未做過訓(xùn)練或測試數(shù)據(jù),而有些數(shù)據(jù)不止一次選為訓(xùn)練或測試數(shù)據(jù)。2.7過擬合與欠擬合2.S折交叉驗證S折交叉驗證會把樣本隨機分成S份,每次隨機選擇S-1份作為訓(xùn)練集,剩下的一份作為測試集,如圖2.42所示。2.7過擬合與欠擬合k的選?。簲?shù)據(jù)量小時,k可以設(shè)大一點;數(shù)據(jù)量大時,k可以設(shè)小一點。這里,k的選擇考慮兩種極端情況:(1)完全不使用交叉驗證,即k=1,模型很容易出現(xiàn)過擬合,可以理解為模型學(xué)習(xí)了全部數(shù)據(jù)的特征,導(dǎo)致模型對訓(xùn)練數(shù)據(jù)擬合得很好,即偏差很小,但實際上有些特征是沒有必要學(xué)習(xí)的,結(jié)果就是低偏差、高方差。(2)留一法,即k=n,隨著k值不斷升高,單一模型評估的方差逐漸加大而偏差減小(即趨于出現(xiàn)過擬合,因為又用到了全部數(shù)據(jù)),而且計算量也會大增。總之,使用部分?jǐn)?shù)據(jù)集肯定相對于全部數(shù)據(jù)集而言,偏差變大、方差降低。也就是說,k的選取就是偏差和方差之間的取舍。2.7過擬合與欠擬合3.留一交叉驗證當(dāng)S等于樣本數(shù)N,這樣對于N個樣本,每次選擇N-1個樣本來訓(xùn)練數(shù)據(jù),留一樣本來驗證模型的好壞。4.自助法如果樣本實在是太少,可以使用自助法(bootstrapping),有放回的N個樣本組成訓(xùn)練集(有重復(fù)的),沒有被采樣的作為測試集。交叉驗證的目的如下:(1)根本原因是數(shù)據(jù)有限,當(dāng)數(shù)據(jù)量不夠大時,如果把所用數(shù)據(jù)都用于訓(xùn)練模型,容易導(dǎo)致模型的過擬合,交叉驗證用于評估模型的預(yù)測性能,尤其是訓(xùn)練好的模型在新數(shù)據(jù)上的表現(xiàn),可以在一定程度上減小過擬合(2)通過交叉驗證對數(shù)據(jù)的劃分+對評估結(jié)果的整合,可以有效降低模型選擇中的方差。2.7過擬合與欠擬合2.7.4以Dropout正則化防止過擬合1.Dropout方法1)訓(xùn)練方法Dropout正則化是防止模型過擬合的一種新方法。其思想是在每個訓(xùn)練批次中,通過忽略一半的特征檢測器(讓一半的隱含層節(jié)點值為0),可以明顯地減少過擬合現(xiàn)象。(1)Dropout是在常規(guī)BP網(wǎng)絡(luò)結(jié)構(gòu)上,使隱含層激活值以一定的比例變?yōu)?。即按照一定比例隨機地讓一部分隱含層節(jié)點失效;測試時,讓隱含層節(jié)點失效基礎(chǔ)上,使輸入數(shù)據(jù)也以一定比例(試驗用20%)失效,得到更好的結(jié)果。(2)不加權(quán)值懲罰項而是給每個權(quán)值設(shè)置一個上限范圍。如果在訓(xùn)練更新過程中,權(quán)值超過了這個上限,就將權(quán)值設(shè)置為這個上限的值。2.7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國耐磨熱電阻數(shù)據(jù)監(jiān)測研究報告
- 二零二五年度家庭資產(chǎn)保全與分配協(xié)議
- 二零二五年度金融理財產(chǎn)品解除三方協(xié)議依據(jù)說明
- 2025年度智能家居系統(tǒng)樣機試用及服務(wù)協(xié)議
- 科技發(fā)展下的生命教育新模式研究
- 二零二五年度個人房屋租賃與物業(yè)托管服務(wù)協(xié)議
- 2025年度智能家電研發(fā)股東入股合作協(xié)議
- 二零二五年度美容院商標(biāo)轉(zhuǎn)讓使用許可合同
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)園委托經(jīng)營協(xié)議
- 2025年度紀(jì)錄片拍攝與制作合同書
- 組織行為學(xué)13-組織文化
- 供應(yīng)鏈管理課件第5章供應(yīng)鏈合作伙伴選擇與評價
- 4D現(xiàn)場管理培訓(xùn)ppt課件(PPT 45頁)
- 餐飲店面投資預(yù)算(900平方米)
- 預(yù)應(yīng)力工程施工質(zhì)量驗收標(biāo)準(zhǔn)
- 檢驗科危急值管理.
- 旅游資源規(guī)劃與開發(fā)實訓(xùn)指導(dǎo)書
- 立體幾何專題:距離和角
- DBJ-T01-43-2003_(北京)通用家庭居室裝飾工程質(zhì)量驗收標(biāo)準(zhǔn)
- 16949客戶滿意度調(diào)查分析報告
- 生產(chǎn)線外包方案
評論
0/150
提交評論