




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
...wd......wd......wd...神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)之BP神經(jīng)網(wǎng)絡(luò):///u013007900/article/details/50118945目錄第一章概述第二章BP算法的根本思想第三章BP網(wǎng)絡(luò)特性分析3.1BP網(wǎng)絡(luò)的拓?fù)錁?gòu)造43.2BP網(wǎng)絡(luò)的傳遞函數(shù)53.3BP網(wǎng)絡(luò)的學(xué)習(xí)算法6第四章BP網(wǎng)絡(luò)的訓(xùn)練分解4.1前向傳輸〔Feed-Forward前向反響〕84.2逆向反響〔Backpropagation〕94.3訓(xùn)練終止條件10第五章BP網(wǎng)絡(luò)運(yùn)行的具體流程105.1網(wǎng)絡(luò)構(gòu)造105.2變量定義105.3誤差函數(shù):11第六章BP網(wǎng)絡(luò)的設(shè)計(jì)146.1網(wǎng)絡(luò)的層數(shù)146.2隱層神經(jīng)元的個(gè)數(shù)156.3初始權(quán)值的選取156.4學(xué)習(xí)速率15BP網(wǎng)絡(luò)的局限性15BP網(wǎng)絡(luò)的改良16第一章概述神經(jīng)網(wǎng)絡(luò)是1986年由Rumelhart和McCelland為首的科研小組提出,參見他們發(fā)表在Nature上的論文Learningrepresentationsbyback-propagatingerrors。BP神經(jīng)網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。BP網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入-輸出模式映射關(guān)系,而無需事前提醒描述這種映射關(guān)系的數(shù)學(xué)方程。它的學(xué)習(xí)規(guī)則是使用最速下降法,通過反向傳播來不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)的誤差平方和最小。第二章BP算法的根本思想多層感知器在如何獲取隱層的權(quán)值的問題上遇到了瓶頸。既然我們無法直接得到隱層的權(quán)值,能否先通過輸出層得到輸出結(jié)果和期望輸出的誤差來間接調(diào)整隱層的權(quán)值呢BP算法就是采用這樣的思想設(shè)計(jì)出來的算法,它的根本思想是,學(xué)習(xí)過程由信號的正向傳播與誤差的反向傳播兩個(gè)過程組成。正向傳播時(shí),輸入樣本從輸入層傳入,經(jīng)各隱層逐層處理后,傳向輸出層。假設(shè)輸出層的實(shí)際輸出與期望的輸出(教師信號)不符,則轉(zhuǎn)入誤差的反向傳播階段。反向傳播時(shí),將輸出以某種形式通過隱層向輸入層逐層反傳,并將誤差分?jǐn)偨o各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權(quán)值的依據(jù)。這兩個(gè)過程的具體流程會在后文介紹。BP算法的信號流向圖如以下列圖所示
第三章BP網(wǎng)絡(luò)特性分析我們分析一個(gè)ANN時(shí),通常都是從它的三要素入手,即1)網(wǎng)絡(luò)拓?fù)錁?gòu)造;2)傳遞函數(shù);3)學(xué)習(xí)算法。每一個(gè)要素的特性加起來就決定了這個(gè)ANN的功能特性。所以,我們也從這三要素入手對BP網(wǎng)絡(luò)的研究。3.1BP網(wǎng)絡(luò)的拓?fù)錁?gòu)造上一次已經(jīng)說了,BP網(wǎng)絡(luò)實(shí)際上就是多層感知器,因此它的拓?fù)錁?gòu)造和多層感知器的拓?fù)錁?gòu)造一樣。由于單隱層〔三層〕感知器已經(jīng)能夠解決簡單的非線性問題,因此應(yīng)用最為普遍。三層感知器的拓?fù)錁?gòu)造如以下列圖所示。一個(gè)最簡單的三層BP:3.2BP網(wǎng)絡(luò)的傳遞函數(shù)BP網(wǎng)絡(luò)采用的傳遞函數(shù)是非線性變換函數(shù)——Sigmoid函數(shù)〔又稱S函數(shù)〕。其特點(diǎn)是函數(shù)本身及其導(dǎo)數(shù)都是連續(xù)的,因而在處理上十分方便。為什么要選擇這個(gè)函數(shù),等下在介紹BP網(wǎng)絡(luò)的學(xué)習(xí)算法的時(shí)候會進(jìn)展進(jìn)一步的介紹。
單極性S型函數(shù)曲線如以下列圖所示。
雙極性S型函數(shù)曲線如以下列圖所示。3.3BP網(wǎng)絡(luò)的學(xué)習(xí)算法BP網(wǎng)絡(luò)的學(xué)習(xí)算法就是BP算法,又叫δ算法〔在ANN的學(xué)習(xí)過程中我們會發(fā)現(xiàn)不少具有多個(gè)名稱的術(shù)語〕,以三層感知器為例,當(dāng)網(wǎng)絡(luò)輸出與期望輸出不等時(shí),存在輸出誤差E,定義如下:將以上誤差定義式展開至隱層,有進(jìn)一步展開至輸入層,有由上式可以看出,網(wǎng)絡(luò)輸入誤差是各層權(quán)值ωjκ、υij的函數(shù),因此調(diào)整權(quán)值可改變誤差E。顯然,調(diào)整權(quán)值的原則是使誤差不斷減小,因此應(yīng)使權(quán)值與誤差的梯度下降成正比,即:對于一般多層感知器,設(shè)共有h個(gè)隱層,按前向順序各隱層節(jié)點(diǎn)數(shù)分別記為m1,m2,…,mh,各隱層輸出分別記為y1,y2,…,yh,各層權(quán)值矩陣分別記為W1,W2,…,Wh,Wh+1,則各層權(quán)值調(diào)整公式為輸出層第h隱層按以上規(guī)律逐層類推,則第一隱層權(quán)值調(diào)整公式容易看出,BP學(xué)習(xí)算法中,各層權(quán)值調(diào)整公式形式上都是一樣的,均由3個(gè)因素決定,即:學(xué)習(xí)率
η本層輸出的誤差信號δ本層輸入信號
Y〔或X〕其中輸入層誤差信號與網(wǎng)絡(luò)的期望輸出與實(shí)際輸出之差有關(guān),直接反響了輸出誤差,而各隱層的誤差信號與前面各層的誤差信號有關(guān),是從輸出層開場逐層反傳過來的??梢钥闯鯞P算法屬于δ學(xué)習(xí)規(guī)則類,這類算法常被稱為誤差的梯度下降算法。δ學(xué)習(xí)規(guī)則可以看成是Widrow-Hoff(LMS)學(xué)習(xí)規(guī)則的一般化(generalize)情況。LMS學(xué)習(xí)規(guī)則與神經(jīng)元采用的變換函數(shù)無關(guān),因而不需要對變換函數(shù)求導(dǎo),δ學(xué)習(xí)規(guī)則則沒有這個(gè)性質(zhì),要求變換函數(shù)可導(dǎo)。這就是為什么我們前面采用Sigmoid函數(shù)的原因。綜上所述,BP三要素如以下列圖所示。第四章BP網(wǎng)絡(luò)的訓(xùn)練分解訓(xùn)練一個(gè)BP神經(jīng)網(wǎng)絡(luò),實(shí)際上就是調(diào)整網(wǎng)絡(luò)的權(quán)重和偏置這兩個(gè)參數(shù),BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程分兩局部:前向傳輸,逐層波浪式的傳遞輸出值;逆向反響,反向逐層調(diào)整權(quán)重和偏置;
我們先來看前向傳輸。4.1前向傳輸〔Feed-Forward前向反響〕在訓(xùn)練網(wǎng)絡(luò)之前,我們需要隨機(jī)初始化權(quán)重和偏置,對每一個(gè)權(quán)重取[?1,1]的一個(gè)隨機(jī)實(shí)數(shù),每一個(gè)偏置取[0,1]的一個(gè)隨機(jī)實(shí)數(shù),之后就開場進(jìn)展前向傳輸。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是由多趟迭代完成的,每一趟迭代都使用訓(xùn)練集的所有記錄,而每一次訓(xùn)練網(wǎng)絡(luò)只使用一條記錄,抽象的描述如下:首先設(shè)置輸入層的輸出值,假設(shè)屬性的個(gè)數(shù)為100,那我們就設(shè)置輸入層的神經(jīng)單元個(gè)數(shù)為100,輸入層的結(jié)點(diǎn)Ni為記錄第i維上的屬性值xi。對輸入層的操作就這么簡單,之后的每層就要復(fù)雜一些了,除輸入層外,其他各層的輸入值是上一層輸入值按權(quán)重累加的結(jié)果值加上偏置,每個(gè)結(jié)點(diǎn)的輸出值等該結(jié)點(diǎn)的輸入值作變換前向傳輸?shù)妮敵鰧拥挠?jì)算過程公式如下:對隱藏層和輸出層的每一個(gè)結(jié)點(diǎn)都按照如上圖的方式計(jì)算輸出值,就完成前向傳播的過程,緊接著是進(jìn)展逆向反響。4.2逆向反響〔Backpropagation〕逆向反響從最后一層即輸出層開場,我們訓(xùn)練神經(jīng)網(wǎng)絡(luò)作分類的目的往往是希望最后一層的輸出能夠描述數(shù)據(jù)記錄的類別,比方對于一個(gè)二分類的問題,我們常常用兩個(gè)神經(jīng)單元作為輸出層,如果輸出層的第一個(gè)神經(jīng)單元的輸出值比第二個(gè)神經(jīng)單元大,我們認(rèn)為這個(gè)數(shù)據(jù)記錄屬于第一類,否則屬于第二類。還記得我們第一次前向反響時(shí),整個(gè)網(wǎng)絡(luò)的權(quán)重和偏置都是我們隨機(jī)取,因此網(wǎng)絡(luò)的輸出肯定還不能描述記錄的類別,因此需要調(diào)整網(wǎng)絡(luò)的參數(shù),即權(quán)重值和偏置值,而調(diào)整的依據(jù)就是網(wǎng)絡(luò)的輸出層的輸出值與類別之間的差異,通過調(diào)整參數(shù)來縮小這個(gè)差異,這就是神經(jīng)網(wǎng)絡(luò)的優(yōu)化目標(biāo)。對于輸出層:其中Ej表示第j個(gè)結(jié)點(diǎn)的誤差值,Oj表示第j個(gè)結(jié)點(diǎn)的輸出值,Tj記錄輸出值,比方對于2分類問題,我們用01表示類標(biāo)1,10表示類別2,如果一個(gè)記錄屬于類別1,那么其T1=0,T2=1。中間的隱藏層并不直接與數(shù)據(jù)記錄的類別打交道,而是通過下一層的所有結(jié)點(diǎn)誤差按權(quán)重累加,計(jì)算公式如下:
其中Wjk表示當(dāng)前層的結(jié)點(diǎn)j到下一層的結(jié)點(diǎn)k的權(quán)重值,Ek下一層的結(jié)點(diǎn)k的誤差率。計(jì)算完誤差率后,就可以利用誤差率對權(quán)重和偏置進(jìn)展更新,首先看權(quán)重的更新:
其中λ表示表示學(xué)習(xí)速率,取值為0到1,學(xué)習(xí)速率設(shè)置得大,訓(xùn)練收斂更快,但容易陷入局部最優(yōu)解,學(xué)習(xí)速率設(shè)置得比擬小的話,收斂速度較慢,但能一步步逼近全局最優(yōu)解。更新完權(quán)重后,還有最后一項(xiàng)參數(shù)需要更新,即偏置:
至此,我們完成了一次神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,通過不斷的使用所有數(shù)據(jù)記錄進(jìn)展訓(xùn)練,從而得到一個(gè)分類模型。不斷地迭代,不可能無休止的下去,總歸有個(gè)終止條件。4.3訓(xùn)練終止條件每一輪訓(xùn)練都使用數(shù)據(jù)集的所有記錄,但什么時(shí)候停頓,停頓條件有下面兩種:設(shè)置最大迭代次數(shù),比方使用數(shù)據(jù)集迭代100次后停頓訓(xùn)練計(jì)算訓(xùn)練集在網(wǎng)絡(luò)上的預(yù)測準(zhǔn)確率,到達(dá)一定門限值后停頓訓(xùn)練第五章BP網(wǎng)絡(luò)運(yùn)行的具體流程5.1網(wǎng)絡(luò)構(gòu)造輸入層有n個(gè)神經(jīng)元,隱含層有p個(gè)神經(jīng)元,輸出層有q個(gè)神經(jīng)元。5.2變量定義輸入變量:x=(x1,x2,…,xn)隱含層輸入變量:hi=(hi1,hi2,…,hip)隱含層輸出變量:ho=(ho1,ho2,…,hop)輸出層輸入變量:yi=(yi1,yi2,…,yiq)輸出層輸出變量:yo=(yo1,yo2,…,yoq)期望輸出向量:do=(d1,d2,…,dq)輸入層與中間層的連接權(quán)值:wih隱含層與輸出層的連接權(quán)值:who隱含層各神經(jīng)元的閾值:bh輸出層各神經(jīng)元的閾值:bo樣本數(shù)據(jù)個(gè)數(shù):k=1,2,…,m激活函數(shù):f(?)誤差函數(shù):第一步:網(wǎng)絡(luò)初始化給各連接權(quán)值分別賦一個(gè)區(qū)間(?1,1)內(nèi)的隨機(jī)數(shù),設(shè)定誤差函數(shù)e,給定計(jì)算精度值ε和最大學(xué)習(xí)次數(shù)M。第二步:隨機(jī)選取隨機(jī)選取第k個(gè)輸入樣本以及對應(yīng)的期望輸出x(k)=(x1(k),x2(k),…,xn(k))do(k)=(d1(k),d2(k),…,dq(k))第三部:隱含層計(jì)算計(jì)算隱含層各神經(jīng)元的輸入和輸出第四步:求偏導(dǎo)數(shù)利用網(wǎng)絡(luò)期望輸出和實(shí)際輸出,計(jì)算誤差函數(shù)對輸出層的各神經(jīng)元的偏導(dǎo)數(shù)δo(k)第六步:修正權(quán)值利用輸出層各神經(jīng)元的δo(k)和隱含層各神經(jīng)元的輸出來修正連接權(quán)值who(k)。第七部:修正權(quán)值利用隱含層各神經(jīng)元的δh(k)和輸入層各神經(jīng)元的輸入修正連接權(quán)值。第八步:計(jì)算全局誤差第九步:判斷模型合理性判斷網(wǎng)絡(luò)誤差是否滿足要求。
當(dāng)誤差到達(dá)預(yù)設(shè)精度或者學(xué)習(xí)次數(shù)大于設(shè)計(jì)的最大次數(shù),則完畢算法。
否則,選取下一個(gè)學(xué)習(xí)樣本以及對應(yīng)的輸出期望,返回第三部,進(jìn)入下一輪學(xué)習(xí)。第六章BP網(wǎng)絡(luò)的設(shè)計(jì)在進(jìn)展BP網(wǎng)絡(luò)的設(shè)計(jì)是,一般應(yīng)從網(wǎng)絡(luò)的層數(shù)、每層中的神經(jīng)元個(gè)數(shù)和激活函數(shù)、初始值以及學(xué)習(xí)速率等幾個(gè)方面來進(jìn)展考慮,下面是一些選取的原則。6.1網(wǎng)絡(luò)的層數(shù)理論已經(jīng)證明,具有偏差和至少一個(gè)S型隱層加上一個(gè)線性輸出層的網(wǎng)絡(luò),能夠逼近任何有理函數(shù),增加層數(shù)可以進(jìn)一步降低誤差,提高精度,但同時(shí)也是網(wǎng)絡(luò)復(fù)雜化。另外不能用僅具有非線性激活函數(shù)的單層網(wǎng)絡(luò)來解決問題,因?yàn)槟苡脝螌泳W(wǎng)絡(luò)解決的問題,用自適應(yīng)線性網(wǎng)絡(luò)也一定能解決,而且自適應(yīng)線性網(wǎng)絡(luò)的運(yùn)算速度更快,而對于只能用非線性函數(shù)解決的問題,單層精度又不夠高,也只有增加層數(shù)才能到達(dá)期望的結(jié)果。6.2隱層神經(jīng)元的個(gè)數(shù)網(wǎng)絡(luò)訓(xùn)練精度的提高,可以通過采用一個(gè)隱含層,而增加其神經(jīng)元個(gè)數(shù)的方法來獲得,這在構(gòu)造實(shí)現(xiàn)上要比增加網(wǎng)絡(luò)層數(shù)簡單得多。一般而言,我們用精度和訓(xùn)練網(wǎng)絡(luò)的時(shí)間來恒量一個(gè)神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的好壞:
〔1〕神經(jīng)元數(shù)太少時(shí),網(wǎng)絡(luò)不能很好的學(xué)習(xí),訓(xùn)練迭代的次數(shù)也比擬多,訓(xùn)練精度也不高。
〔2〕神經(jīng)元數(shù)太多時(shí),網(wǎng)絡(luò)的功能越強(qiáng)大,準(zhǔn)確度也更高,訓(xùn)練迭代的次數(shù)也大,可能會出現(xiàn)過擬合(overfitting)現(xiàn)象。由此,我們得到神經(jīng)網(wǎng)絡(luò)隱層神經(jīng)元個(gè)數(shù)的選取原則是:在能夠解決問題的前提下,再加上一兩個(gè)神經(jīng)元,以加快誤差下降速度即可。6.3初始權(quán)值的選取一般初始權(quán)值是取值在(?1,1)之間的隨機(jī)數(shù)。另外威得羅等人在分析了兩層網(wǎng)絡(luò)是如何對一個(gè)函數(shù)進(jìn)展訓(xùn)練后,提出選擇初始權(quán)值量級為s√r的策略,其中r為輸入個(gè)數(shù),s為第一層神經(jīng)元個(gè)數(shù)。6.4學(xué)習(xí)速率學(xué)習(xí)速率一般選取為0.01?0.8,大的學(xué)習(xí)速率可能導(dǎo)致系統(tǒng)的不穩(wěn)定,但小的學(xué)習(xí)速率導(dǎo)致收斂太慢,需要較長的訓(xùn)練時(shí)間。對于較復(fù)雜的網(wǎng)絡(luò),在誤差曲面的不同位置可能需要不同的學(xué)習(xí)速率,為了減少尋找學(xué)習(xí)速率的訓(xùn)練次數(shù)及時(shí)間,比擬適宜的方法是采用變化的自適應(yīng)學(xué)習(xí)速率,使網(wǎng)絡(luò)在不同的階段設(shè)置不同大小的學(xué)習(xí)速率。6.5期望誤差的選取在設(shè)計(jì)網(wǎng)絡(luò)的過程中,期望誤差值也應(yīng)當(dāng)通過比照訓(xùn)練后確定一個(gè)適宜的值,這個(gè)適宜的值是相對于所需要的隱層節(jié)點(diǎn)數(shù)來確定的。一般情況下,可以同時(shí)對兩個(gè)不同的期望誤差值的網(wǎng)絡(luò)進(jìn)展訓(xùn)練,最后通過綜合因素來確定其中一個(gè)網(wǎng)絡(luò)。BP網(wǎng)絡(luò)的局限性BP網(wǎng)絡(luò)具有以下的幾個(gè)問題:(1)需要較長的訓(xùn)練時(shí)間:這主要是由于學(xué)習(xí)速率太小所造成的,可采用變化的或自適應(yīng)的學(xué)習(xí)速率來加以改良。(2)完全不能訓(xùn)練:這主要表現(xiàn)在網(wǎng)絡(luò)的麻痹上,通常為了防止這種情況的產(chǎn)生,一是選取較小的初始權(quán)值,而是采用較小的學(xué)習(xí)速率。(3)局部最小值:這里采用的梯度下降法可能收斂到局部最小值,采用多層網(wǎng)絡(luò)或較多的神經(jīng)元,有可能得到更
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 演出經(jīng)紀(jì)人考試相關(guān)法律法規(guī)匯編:試題及答案
- 2025年運(yùn)動場館燈具項(xiàng)目經(jīng)濟(jì)效益評估報(bào)告
- 高效洗衣機(jī)排水管升級行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 祛痘控油面膜企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 適老化文化創(chuàng)意家具行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 客房隔音隔熱性能提升工程行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 綠色面包房行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030中國卷筒膠紙行業(yè)市場深度分析及發(fā)展趨勢與投資研究報(bào)告
- 2025-2030中國醫(yī)藥檢測服務(wù)行業(yè)市場深度發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 福建省英語高考2024年仿真試題與參考答案
- 2025重慶交通開投集團(tuán)招聘27人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年河南省對口升學(xué)真題學(xué)前教育類語文
- 春季常見傳染病預(yù)防知識培訓(xùn)
- 二級營銷員考試題及參考答案
- 部編版道德與法治二年下冊《我能行》說課稿共2課時(shí)(附教學(xué)反思)課件
- 中建履帶吊安拆安全專項(xiàng)施工方案
- 商業(yè)秘密保護(hù)管理辦法
- 市場監(jiān)監(jiān)督管理執(zhí)法講座
- 《國際形勢》課件
- 煤礦開采安全管理培訓(xùn)課件
- 2022年高考真題-政治(重慶卷) 含答案
評論
0/150
提交評論