bp神經(jīng)網(wǎng)絡(luò)算法_第1頁
bp神經(jīng)網(wǎng)絡(luò)算法_第2頁
bp神經(jīng)網(wǎng)絡(luò)算法_第3頁
bp神經(jīng)網(wǎng)絡(luò)算法_第4頁
bp神經(jīng)網(wǎng)絡(luò)算法_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

BP神經(jīng)網(wǎng)絡(luò)算法三層BP神經(jīng)網(wǎng)絡(luò)如圖:目標(biāo)輸出向量312n目標(biāo)輸出向量312n設(shè)網(wǎng)絡(luò)的輸入模式為x€(x,x,...x)T,隱含層有h個(gè)單元,隱含層的輸出為12ny€(y,y,…y)T,輸出層有m個(gè)單元,他們的輸出為z=(z,z,…z)T,目標(biāo)輸出為12h12mt€(t,t,...,t)T設(shè)隱含層到輸出層的傳遞函數(shù)為f,輸出層的傳遞函數(shù)為g12m于是:y€f(工wx,6)€f(工wx):隱含層第j個(gè)神經(jīng)元的輸出;其中jijiijii€1i€0W€—0,X€10j0z€g(為wy):輸出層第k個(gè)神經(jīng)元的輸出kjkjj€0此時(shí)網(wǎng)絡(luò)輸出與目標(biāo)輸出的誤差為?€1區(qū)(t,z)2,顯然,它是w和w的函數(shù)。2kkijjkk€1下面的步驟就是想辦法調(diào)整權(quán)值,使?減小。由高等數(shù)學(xué)的知識(shí)知道:負(fù)梯度方向是函數(shù)值減小最快的方向因此,可以設(shè)定一個(gè)步長…,每次沿負(fù)梯度方向調(diào)整…個(gè)單位,即每次權(quán)值的調(diào)整為:

€?Aw=-…,…在神經(jīng)網(wǎng)絡(luò)中稱為學(xué)習(xí)速率pq€wpq可以證明:按這個(gè)方法調(diào)整,誤差會(huì)逐漸減小。BP神經(jīng)網(wǎng)絡(luò)(反向傳播)的調(diào)整順序?yàn)椋?)先調(diào)整隱含層到輸出層的權(quán)值設(shè)v為輸出層第k個(gè)神經(jīng)元的輸入V,工wykkjkjj,o2區(qū)(t-2區(qū)(t-Z)22遲(t2kk2,k=1,€w€wjkjk復(fù)合函數(shù)偏導(dǎo)公式€?◎€zk-Z)2ffkk€z€vkk-€v€wkjk,-(tk-zk)g'(vk)yj1e-v若取1e-v若取g(x)=f(x)=k,則叫=吋正11-(1--),Z(1-z)1+e-vk1+e-vkkk于是隱含層到輸出層的權(quán)值調(diào)整迭代公式為:w(t+1),w(t)+…z(1-z)yjkjkkkj2)從輸入層到隱含層的權(quán)值調(diào)整迭代公式為:€?€wij€?€wij-遲(t-Z)22k/€wij-遲(t-z)22k/k^—€yj€u€wjij其中u為隱含層第j個(gè)神經(jīng)元的輸入:u,工wxjjijii,0注意:隱含層第j個(gè)神經(jīng)元與輸出層的各個(gè)神經(jīng)元都有連接’即詈涉及所有的權(quán)值jj€?因此€€?因此€yj于是:瓦€(tk-zk)2乞翌,-]E(t-z)f'(u)w€u€ykkkjkkjk,0k,0€zk1遲1遲(t€?2k,k,1€w€wijij-zk)2遲{(t-z)f'(u)w}f'(u)x,-dxkkkjkjijik,0因此從輸入層到隱含層的權(quán)值調(diào)整迭代為公式為w(t+1)=w(t)+…6xijijji

%機(jī)動(dòng)車數(shù)(單位:萬輛)sqjdcs=[0.60.750.850.91.051.351.451.61.71.852.152.22.252.352.52.6...2.72.852.953.1];%公路面積(單位:萬平方公里)sqglmj=[0.090.110.110.140.200.230.230.320.320.340.360.360.380.49...0.560.590.590.670.690.79];%公路客運(yùn)量(單位:萬人)glkyl=[5126621777309145104601138712353157501830419836210241949020433...22598251073344236836405484292743462];%公路貨運(yùn)量(單位:萬噸)glhyl=[123713791385139916631714183443228132893611099112031052411115...133201676218673207242080321804];[Samln,minp,maxp,tn,mint,maxt]=premnmx(p,t);%原始樣本對(duì)(輸入和輸出)初始化%噪聲強(qiáng)度為0.01(添加噪聲的目的是為了防止網(wǎng)絡(luò)NoiseVar=0.01;過度擬合)Noise=NoiseVar*randn(2,SamNum);[Samln,minp,maxp,tn,mint,maxt]=premnmx(p,t);%原始樣本對(duì)(輸入和輸出)初始化%噪聲強(qiáng)度為0.01(添加噪聲的目的是為了防止網(wǎng)絡(luò)NoiseVar=0.01;過度擬合)Noise=NoiseVar*randn(2,SamNum);SamOut=tn+Noise;%生成噪聲%這里取輸入樣本與測(cè)試樣本相同因?yàn)?也取輸出樣本與測(cè)試樣本相同%這里取輸入樣本與測(cè)試樣本相同因?yàn)?也取輸出樣本與測(cè)試樣本相同TestSamIn=SamIn;樣本容量偏少%最多訓(xùn)練次數(shù)為%最多訓(xùn)練次數(shù)為50000%學(xué)習(xí)速率為0.035%目標(biāo)誤差為0.65*10人(-3)MaxEpochs=50000;lr=0.035;E0=0.65*10人(-3);W1=0.5*rand(HiddenUnitNum,InDim)-0.1;%初始化輸入層與隱含層之間的權(quán)值B1=0.5*rand(HiddenUnitNum,1)-0.1;%初始化輸入層與隱含層之間的閾值%給中間變量預(yù)先占據(jù)內(nèi)存W2=0.5*rand(OutDim,HiddenUnitNum)-0.1;%初始化輸出層與隱含層之間的權(quán)值B2=0.5*rand(OutDim,1)-0.1;%%給中間變量預(yù)先占據(jù)內(nèi)存ErrHistory=[];fori=1:MaxEpochsHiddenOut=logsig(W1*SamIn+repmat(B1,1,SamNum));%隱含層網(wǎng)絡(luò)輸出NetworkOut=W2*HiddenOut+repmat(B2,1,SamNum);%輸出層網(wǎng)絡(luò)輸出Error=SamOut-NetworkOut;%實(shí)際輸出與網(wǎng)絡(luò)輸出之差SSE=sumsqr(Error)%能量函數(shù)(誤差平方和)

ErrHistory=[ErrHistorySSE];ifSSE<E0,break,end%如果達(dá)到誤差要求則跳出學(xué)習(xí)循環(huán)%以下六行是BP網(wǎng)絡(luò)最核心的程序%他們是權(quán)值(閾值)依據(jù)能量函數(shù)負(fù)梯度下降原理所作的每一步動(dòng)態(tài)調(diào)整量Delta2=Error;Delta1=W2'*Delta2.*HiddenOut.*(1-HiddenOut);dW2=Delta2*HiddenOut';dB2=Delta2*ones(SamNum,1);dW1=Delta1*SamIn';dB1=Delta1*ones(SamNum,1);%對(duì)輸出層與隱含層之間的權(quán)值和閾值進(jìn)行修正W2=W2+lr*dW2;B2=B2+lr*dB2;%對(duì)輸入層與隱含層之間的權(quán)值和閾值進(jìn)行修正W1=W1+lr*dW1;B1=B1+lr*dB1;endHiddenOut=logsig(W1*SamIn+repmat(B1,1,TestSamNum));%隱含層輸出最終結(jié)果%還原網(wǎng)絡(luò)輸出層的結(jié)果%時(shí)間軸刻度%%還原網(wǎng)絡(luò)輸出層的結(jié)果%時(shí)間軸刻度%網(wǎng)絡(luò)輸出客運(yùn)量%網(wǎng)絡(luò)輸出貨運(yùn)量%繪值公路客運(yùn)量對(duì)比圖;%繪制公路貨運(yùn)量對(duì)比圖a=postmnmx(NetworkOut,mint,maxt);x=1990:2009;newk=a(1,:);newh=a(2,:);figure;subplot(2,1,1);plot(x,newk,'r-o',x,glkyl,'b--+')Iegend('網(wǎng)絡(luò)輸出客運(yùn)量','實(shí)際客運(yùn)量');xlabel('年份');ylabel(喀運(yùn)量/萬人');subplot(2,1,2);plot(x,newh,'r-o',x,glhyl,'b--+')legend('網(wǎng)絡(luò)輸出貨運(yùn)量','實(shí)際貨運(yùn)量');xlabel('年份');ylabel('貨運(yùn)量/萬噸');%利用訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)%當(dāng)用訓(xùn)練好的網(wǎng)絡(luò)對(duì)新數(shù)據(jù)pnew進(jìn)行預(yù)測(cè)時(shí),也應(yīng)作相應(yīng)的處理pnew=[73.3975.553.96354.09750.98801.0268];%2010年和2011年的相關(guān)數(shù)據(jù);pnewn=tramnmx(pnew,minp,maxp);%利用原始輸入數(shù)據(jù)的歸一化參數(shù)對(duì)新數(shù)據(jù)進(jìn)行歸一化;Hidde

溫馨提示

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

評(píng)論

0/150

提交評(píng)論