多層感知器教材_第1頁(yè)
多層感知器教材_第2頁(yè)
多層感知器教材_第3頁(yè)
多層感知器教材_第4頁(yè)
多層感知器教材_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

二、多層前饋網(wǎng)絡(luò)與BP算法

Perceptron是由單層神經(jīng)元構(gòu)成的神經(jīng)網(wǎng)絡(luò),δ學(xué)習(xí)規(guī)則只適用于單層神經(jīng)網(wǎng)絡(luò)和線(xiàn)性可分的訓(xùn)練模式。在Perceptron的基礎(chǔ)上加入了隱含層,形成了多層前饋網(wǎng)絡(luò)MFNN(MultilayerFeedforwardNN),也有稱(chēng)其多層感知器(MLP,MultilayeredPerceptron)。其訓(xùn)練算法就是著名的誤差反向傳播算法(BP,ErrorBackPropagation)。采用BP算法的MFNN是使用最廣泛的神經(jīng)網(wǎng)絡(luò),有時(shí)也稱(chēng)其為BP神經(jīng)網(wǎng)絡(luò)。

11.多層前饋網(wǎng)絡(luò)的結(jié)構(gòu)1)多層前饋網(wǎng)絡(luò)的組成全連接的網(wǎng)絡(luò),由輸入層,隱含層,輸出層組成2

輸入層:僅起信息傳遞作用,激活函數(shù)相當(dāng)于恒等函數(shù)。輸出即為輸入,

3第一隱含層:由W(1)與輸入層全連接。

第二隱含層:由W(2)與第一隱含層全連接。激活函數(shù):4

輸出層:由W(3)與第二隱含層全連接。激活函數(shù)可以是線(xiàn)性函數(shù)或S函數(shù)。函數(shù)逼近多用線(xiàn)性函數(shù)。52)多層前饋網(wǎng)絡(luò)的結(jié)構(gòu)特點(diǎn)(1)同一層神經(jīng)元間無(wú)連接。(2)相鄰兩層神經(jīng)元之間全連接。(3)信息傳遞有方向性。前向計(jì)算時(shí),由輸入向輸出逐層計(jì)算。 誤差反向傳播用以修正連接權(quán)時(shí),則反向計(jì)算。672.BP算法1)算法推導(dǎo)第q個(gè)樣本加在網(wǎng)絡(luò)上,定義性能指標(biāo)由梯度法考慮輸出層由于8考慮第二隱含層而是表現(xiàn)在輸出層的局部誤差由于與輸出層相連的權(quán)值調(diào)整9所以結(jié)果可以推廣到所有的隱含層誤差反傳h=j的留下于是102)標(biāo)準(zhǔn)BP算法權(quán)值調(diào)整輸出層與隱含層的權(quán)值修正公式具有相同的形式不同處:局部誤差δ計(jì)算。輸出層,δ與隱含層,局部誤差δ由輸出層的性能誤差經(jīng)反向傳播而得。11權(quán)值調(diào)整公式:輸出層:隱含層:誤差反傳123)帶動(dòng)量項(xiàng)修正的BP算法為使學(xué)習(xí)率μ足夠大,又不產(chǎn)生振蕩,通常在標(biāo)準(zhǔn)BP算法上再加上一個(gè)動(dòng)量項(xiàng)。η是動(dòng)量項(xiàng)的學(xué)習(xí)率。具體算法:(1)置各權(quán)值和閾值初值,為小的隨機(jī)數(shù)。(2)輸入訓(xùn)練樣本(Iq,dq)(q=1,2,…,Q),對(duì)每個(gè)樣本進(jìn)行(3)-(5)步13(3)計(jì)算網(wǎng)絡(luò)各層實(shí)際輸出(4)計(jì)算訓(xùn)練誤差輸出層

隱含層(5)修正權(quán)值和閾值(6)所有樣本集都經(jīng)歷了(3)-(5)步,計(jì)算(7)若E≤ε,訓(xùn)練結(jié)束。否則轉(zhuǎn)(2)144)BP網(wǎng)絡(luò)的MATLAB構(gòu)建使用MATLAB的NeuralNetworkToolbox可以很方便搭建BP網(wǎng)絡(luò)。15①構(gòu)建函數(shù):

a:維矩陣,由R維輸入樣本的最大最小值組成;

b:隱層、輸出層節(jié)點(diǎn)個(gè)數(shù);

c:各層節(jié)點(diǎn)作用函數(shù);

d:訓(xùn)練用函數(shù),若BP算法為:Traingd。構(gòu)建的BP神經(jīng)網(wǎng)絡(luò)權(quán)值、閾值均為隨機(jī)數(shù)。②設(shè)置權(quán)值、閾值函數(shù)為常值及隨機(jī)數(shù)函數(shù):

常值

net.iw{1,1}net.b{1}net.lw{2,1}net.b{2}

隨機(jī)數(shù) w=net.inputweights{1,1}.initFcn=‘rands’ b=net.biases{1}.initFcn=‘rands’③

網(wǎng)絡(luò)仿真函數(shù):

y=sim(net,u)16%由(三維)輸入向量的最大、最小值,構(gòu)建BP網(wǎng)絡(luò)clearall;closeall;%---構(gòu)建BP網(wǎng)絡(luò)結(jié)構(gòu):N3,4,2(3輸入,隱層4節(jié)點(diǎn),2輸出)net=newff([0.51;0.30.9;12],[4,2],{'logsig','purelin'},'traingd');w1=net.iw{1,1}%觀測(cè)BP網(wǎng)1-2層的權(quán)值、閾值b1=net.b{1}w2=net.lw{2,1}%觀測(cè)2-3層的權(quán)值、閾值b2=net.b{2}u=[1;0.5;1.2]%輸入一個(gè)向量y=sim(net,u)%觀測(cè)輸出175)BP網(wǎng)絡(luò)逼近非線(xiàn)性函數(shù)非線(xiàn)性函數(shù):

BP網(wǎng)絡(luò):N1,3,1。隱層取S函數(shù),輸出取線(xiàn)性函數(shù)。權(quán)值訓(xùn)練取L-MBP。 訓(xùn)練樣本集:u=-0.5:0.05:0.45,d=f(u),樣本對(duì)長(zhǎng)度L=20。測(cè)試數(shù)據(jù)集:u1=-0.48:0.05:0.47,d1=f(u1),樣本對(duì)長(zhǎng)度L=20。18%逼近非線(xiàn)性函數(shù)d=f(u)=exp(-1.9(u+0.5))sin(10u)clearall;closeall;u=-0.5:0.05:0.45;%輸入樣本集d=exp(-1.9*(u+0.5)).*sin(10*u);%輸出樣本集:非線(xiàn)性函數(shù)dfigure(1);plot(u,d,'bo');ylabel('輸出樣本集d=f(u)','color','r','fontsize',13);xlabel('輸入樣本集u','color','r','fontsize',13);pause

net=newff(minmax(u),[3,1],{'tansig','purelin'},'trainlm');%網(wǎng)絡(luò)結(jié)構(gòu)

N1,3,1net=train(net,u,d);%網(wǎng)絡(luò)訓(xùn)練y=sim(net,u);

%網(wǎng)絡(luò)輸出[d'y']

%期望目標(biāo)與網(wǎng)絡(luò)輸出對(duì)比f(wàn)igure(2);plot(u,d,'bo',u,y,'r*');

ylabel('輸出樣本集d(o)網(wǎng)絡(luò)輸出

y(*)','color','r','fontsize',13);xlabel('輸入樣本集u');

pause19u1=-0.48:0.05:0.47;%測(cè)試輸入集d1=exp(-1.9*(u1+0.5)).*sin(10*u1);

%測(cè)試數(shù)據(jù)集

y1=sim(net,u1);

%網(wǎng)絡(luò)輸出figure(3);plot(u1,y1,'go',u1,d1,'r*');ylabel('測(cè)試數(shù)據(jù)集d1(*)網(wǎng)絡(luò)輸出y1(o)','color','r','fontsize',13);xlabel('測(cè)試輸入集u1','color','r','fontsize',13);203.與BP算法相關(guān)的問(wèn)題1)基于Sigmoid函數(shù)的BP算法簡(jiǎn)化形式

Sigmoid函數(shù)是MLP最常用的激活函數(shù)。第(l)層的輸出對(duì)sj的導(dǎo)數(shù)局部誤差簡(jiǎn)化形式輸出層隱含層212)初始權(quán)值的選擇各個(gè)權(quán)值選擇一樣,對(duì)訓(xùn)練不利。一般取足夠小的隨機(jī)數(shù)。一種初始化算法(Nguyen和Widrow算法)設(shè)n0是輸入層神經(jīng)元個(gè)數(shù),n1為隱含層神經(jīng)元個(gè)數(shù),λ比例因子。(1)計(jì)算。 (2)將各權(quán)值初始化為-0.5~0.5的隨機(jī)數(shù)。(3)對(duì)各權(quán)值再次初始化。 (4)對(duì)隱含層中的第i個(gè)神經(jīng)元閾值初始化為-wji和

wji之間的隨機(jī)數(shù)。223)網(wǎng)絡(luò)結(jié)構(gòu)與逼近能力

MLP的輸入輸出神經(jīng)元個(gè)數(shù)與實(shí)際的輸入輸出變量個(gè)數(shù)相同,其結(jié)構(gòu)取決于隱含層的層數(shù)及其神經(jīng)元個(gè)數(shù)和激活函數(shù)的形式。

業(yè)已證明,有足夠多的隱含神經(jīng)元的單層MPL能夠逼近任意的可測(cè)函數(shù),可以用作非線(xiàn)性函數(shù)逼近器。一般,隱含單元越多,神經(jīng)網(wǎng)絡(luò)的逼近能力或?qū)W習(xí)能力就越強(qiáng),但不能絕對(duì)化。如果訓(xùn)練的樣本能充分反映輸入輸出特點(diǎn),以上結(jié)論成立。

反之,訓(xùn)練后的網(wǎng)絡(luò)與訓(xùn)練樣本吻合很好,但對(duì)未訓(xùn)練過(guò)的情況出現(xiàn)明顯的誤差,表現(xiàn)為較弱的“泛化”能力。234)權(quán)值修正的批處理辦法前面的標(biāo)準(zhǔn)BP算法是對(duì)每一個(gè)樣本訓(xùn)練后,立即更新權(quán)值。稱(chēng)為在線(xiàn)處理方法。(1)批處理原理將一個(gè)訓(xùn)練周期中所有樣本形成的權(quán)值修正量相加并取平均值。設(shè)表示第q個(gè)訓(xùn)練樣本產(chǎn)生的修正量,整個(gè)修正量平均值24(2)權(quán)值修正批處理的優(yōu)點(diǎn)①比“在線(xiàn)處理”往往能得到的誤差曲線(xiàn)。②對(duì)受噪聲污染的訓(xùn)練樣本,批處理對(duì)去噪有利。平均化過(guò)程相當(dāng)于低通濾波。③批處理更適合于共軛梯度法和牛頓法等復(fù)雜優(yōu)化方法。(3)權(quán)值修正批處理的不足①占用更多內(nèi)存,計(jì)算量大。②對(duì)受噪聲污染的訓(xùn)練樣本,在線(xiàn)處理容易使訓(xùn)練逃出誤差曲面的“局部最優(yōu)”。有機(jī)會(huì)達(dá)到全局最優(yōu)點(diǎn),而批處理易于陷入“局部最優(yōu)”。

如何采用合適的權(quán)值修正方法,取決于具體情況。折中方法:僅對(duì)數(shù)個(gè)而不是全部訓(xùn)練樣本采用批處理方法。25

5)變步長(zhǎng)批處理方法

學(xué)習(xí)率取值大小,影響著網(wǎng)絡(luò)訓(xùn)練的效率。

若當(dāng)前的學(xué)習(xí)率使誤差函數(shù)值降低,可考慮加大學(xué)習(xí)率,觀察誤差是否降低更快。若誤差不降反升,學(xué)習(xí)率需減小,這就是批處理方法的變步長(zhǎng)算法的基本思想。具體變步長(zhǎng)算法①若權(quán)值調(diào)整后,總誤差平方和上升,超過(guò)設(shè)定值ξ。放棄本次權(quán)值調(diào)整,學(xué)習(xí)率乘小于1的系數(shù)ρ,同時(shí)把動(dòng)量學(xué)習(xí)率γ置為0。②若若權(quán)值調(diào)整后,總誤差平方和下降,接受本次權(quán)值修正。學(xué)習(xí)率乘大于1的系數(shù)η,若γ=0,恢復(fù)γ為原數(shù)值。26

標(biāo)準(zhǔn)BP算法中引入變步長(zhǎng)機(jī)制可使訓(xùn)練過(guò)程加快。但也有兩點(diǎn)不足:

1)算法中需調(diào)整的系數(shù)多。有些更復(fù)雜的算法可調(diào)系數(shù)可能更多。算法性能對(duì)這些系數(shù)取值非常敏感,沒(méi)有普遍適用的取值規(guī)律。

2)可調(diào)系數(shù)如果選擇不當(dāng),可能導(dǎo)致原來(lái)用標(biāo)準(zhǔn)BP算法能收斂的問(wèn)題成為不收斂。③若權(quán)值調(diào)整后,總誤差平方和上升,未超過(guò)設(shè)定值。接受本次權(quán)值修正。保持學(xué)習(xí)率不變,若γ=0,恢復(fù)γ為原數(shù)值。276)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與測(cè)試

神經(jīng)網(wǎng)絡(luò)有很強(qiáng)的泛化(Generalization)或聯(lián)想記憶(Association)能力,非線(xiàn)性映射能力和自適應(yīng)能力。在傳統(tǒng)的數(shù)學(xué)建模比較困難或無(wú)法解決時(shí),神經(jīng)網(wǎng)絡(luò)提供了一種較好的可選擇途徑。從使用者角度看,神經(jīng)網(wǎng)絡(luò)像一只黑箱,訓(xùn)練時(shí)只要提供輸入輸出樣本即可。使用時(shí),只需輸入一個(gè)模式,即可獲得實(shí)際輸出的一個(gè)估計(jì)。神經(jīng)網(wǎng)絡(luò)估計(jì)值的準(zhǔn)確程度與神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和測(cè)試有密切關(guān)系。28(1)訓(xùn)練和測(cè)試樣本集的準(zhǔn)備

①確定最主要輸入模式。如果兩個(gè)輸入有很強(qiáng)相關(guān)性,只取其中一個(gè)。②進(jìn)行預(yù)處理和尺度變換。用信號(hào)處理或特征提取技術(shù)剔除異常點(diǎn),把原始數(shù)據(jù)變換到[-1,1]或[0,1]的范圍。③樣本數(shù)的選擇。樣本數(shù)多,訓(xùn)練結(jié)果易反映實(shí)際輸入輸出關(guān)系。但準(zhǔn)備數(shù)據(jù)付出的代價(jià)也大。較大的網(wǎng)絡(luò)需較多的樣本。經(jīng)驗(yàn)值是樣本數(shù)為連接權(quán)總數(shù)的5-10倍。通常將樣本隨機(jī)分為兩組,一組做訓(xùn)練,一組用于測(cè)試。29

(2)訓(xùn)練和測(cè)試

將一個(gè)樣本分別進(jìn)行網(wǎng)絡(luò)響應(yīng)的前向計(jì)算和誤差的反向傳播,以調(diào)整權(quán)值的過(guò)程稱(chēng)為一次訓(xùn)練或?qū)W習(xí)。這樣的訓(xùn)練需要反復(fù)進(jìn)行。通常要成千上萬(wàn)個(gè)訓(xùn)練周期,才能獲得合適的映射結(jié)果。 訓(xùn)練的目的是找出隱藏在樣本數(shù)據(jù)中的輸入輸出映射關(guān)系。對(duì)未經(jīng)訓(xùn)練的輸入模式,神經(jīng)網(wǎng)絡(luò)通過(guò)自身的泛化(聯(lián)想)功能輸出正確或近似正確的的響應(yīng)。

神經(jīng)網(wǎng)絡(luò)的性能衡量是其泛化能力而不是對(duì)訓(xùn)練樣本的擬合程度。30

一般講,訓(xùn)練次數(shù)越多,越能得到正確的輸入輸出映射。但是有時(shí)訓(xùn)練次數(shù)的增多反而導(dǎo)致結(jié)果變差。出現(xiàn)“訓(xùn)練過(guò)度”的問(wèn)題。一種原因是,樣本的噪聲在多次訓(xùn)練后都被網(wǎng)絡(luò)準(zhǔn)確記下了。極端情況是,訓(xùn)練完的神經(jīng)網(wǎng)絡(luò)對(duì)所有樣本都能準(zhǔn)確響應(yīng),但對(duì)新的輸入模式不能正確響應(yīng),僅實(shí)現(xiàn)了查表功能,不具備很好的泛化功能。31訓(xùn)練次數(shù)過(guò)少,網(wǎng)絡(luò)對(duì)訓(xùn)練和測(cè)試樣本均方誤差都很大。訓(xùn)練次數(shù)過(guò)多,訓(xùn)練誤差降低,但測(cè)試誤差會(huì)上升。

存在一個(gè)合適的訓(xùn)練次數(shù),使測(cè)試性能表現(xiàn)最佳。訓(xùn)練與測(cè)試交替進(jìn)行可以得到較好的網(wǎng)絡(luò)性能。32隱含單元對(duì)泛化能力的影響:

隱含單元個(gè)數(shù)越多,越容易記住所有包含噪聲的訓(xùn)練樣本,降低泛化能力。隱含單元個(gè)數(shù)越過(guò)少,對(duì)訓(xùn)練樣本不能很好擬合,談不上有好的泛化能力。隱含單元個(gè)數(shù)參數(shù)一般采用試湊法選擇,通過(guò)測(cè)試來(lái)驗(yàn)證。334.BP算法的加速技術(shù)

BP算法有兩個(gè)明顯的不足:緩慢的收斂速度,對(duì)算法參數(shù)的依賴(lài)性(如學(xué)習(xí)因子)。將數(shù)值優(yōu)化問(wèn)題的方法借用過(guò)來(lái)解決神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。最速下降法和共軛梯度法與誤差反向傳播結(jié)合形成神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的主要方法。神經(jīng)網(wǎng)絡(luò)訓(xùn)練就是調(diào)整w對(duì)性能指標(biāo)E(w)進(jìn)行優(yōu)化的過(guò)程。

P[k]表示搜素方向,α[k]表示學(xué)習(xí)率或搜索步長(zhǎng)。34(1)最速下降法

最速下降法也稱(chēng)梯度法,是最常用的非線(xiàn)性?xún)?yōu)化技術(shù)。

尋優(yōu)時(shí),希望每一步的搜索都能使指標(biāo)下降:一階泰勒展開(kāi)式表示E(w)在w[k]處的梯度即35

為使應(yīng)該因?yàn)樗?/p>

當(dāng)搜索方向p[k]指向負(fù)梯度方向最大,使E(w)下降最快。最速下降法的權(quán)值調(diào)整36(2)牛頓法

最速下降法采用E(w)的一階泰勒展開(kāi)式,如用二階泰勒展開(kāi)式H是海森矩陣,由E(w)對(duì)w的二階偏導(dǎo)構(gòu)成37對(duì)Δw求導(dǎo)并令它等于0,將那么牛頓-拉夫遜法稱(chēng)為牛頓步,方向稱(chēng)為牛頓方向。

如果H正定,E(w)是二次型函數(shù),牛頓法可以一步得到最優(yōu)解。如果E(w)不是二次型函數(shù),需重復(fù)使用牛頓法。能否收斂到最優(yōu)點(diǎn),由初始點(diǎn)和函數(shù)類(lèi)型決定。38

牛頓法的不足:收斂性H陣及其逆的計(jì)算。與最速下降法相比,牛頓法搜索過(guò)程復(fù)雜,可能不收斂。最速下降法只要學(xué)習(xí)率不太大,收斂有保證。

H陣計(jì)算與存儲(chǔ),H逆陣計(jì)算耗費(fèi)大量計(jì)算資源。許多學(xué)者研究了一些改進(jìn)算法,采用最速下降法和牛頓法結(jié)合與折衷。39(3)共軛梯度法

共軛梯度法不必計(jì)算二階導(dǎo)數(shù),但具有二階方法的性能,是廣泛使用的優(yōu)化算法。

1)共軛的定義

設(shè)Q是nxn的對(duì)稱(chēng)矩陣,pj

和pk(j≠k)是n維向量,如果,稱(chēng)pj

和pk

對(duì)Q互相共軛,或稱(chēng)Q-正交。若Q=I,pj

和pk

正交。若Q正定,n個(gè)相互共軛的非零向量pk

是線(xiàn)性獨(dú)立的。定義在n維空間的二次性能函數(shù),如果沿共軛方向pk

搜索,最多經(jīng)過(guò)n步迭代就能達(dá)到極小點(diǎn)。40考慮二次型性能函數(shù)α是k時(shí)刻沿方向p[k]搜索,使E(w)最小的學(xué)習(xí)率。梯度是二階梯度是Hessian矩陣梯度增量41對(duì)二次型性能函數(shù),最優(yōu)學(xué)習(xí)率

由共軛條件,并且α是標(biāo)量

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論