




已閱讀5頁(yè),還剩4頁(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)介
MATLAB程序代碼-bp神經(jīng)網(wǎng)絡(luò)通用代碼matlab 通用神經(jīng)網(wǎng)絡(luò)代碼學(xué)習(xí)了一段時(shí)間的神經(jīng)網(wǎng)絡(luò),總結(jié)了一些經(jīng)驗(yàn),在這愿意和大家分享一下,希望對(duì)大家有幫助,也希望大家可以把其他神經(jīng)網(wǎng)絡(luò)的通用代碼在這一起分享感應(yīng)器神經(jīng)網(wǎng)絡(luò)、線(xiàn)性網(wǎng)絡(luò)、BP神經(jīng)網(wǎng)絡(luò)、徑向基函數(shù)網(wǎng)絡(luò)%通用感應(yīng)器神經(jīng)網(wǎng)絡(luò)。P=-0.5 -0.5 0.3 -0.1 -40;-0.5 0.5 -0.5 1 50;%輸入向量T=1 1 0 0 1;%期望輸出plotpv(P,T);%描繪輸入點(diǎn)圖像net=newp(-40 1;-1 50,1);%生成網(wǎng)絡(luò),其中參數(shù)分別為輸入向量的范圍和神經(jīng)元感應(yīng)器數(shù)量hold onlinehandle=plotpc(net.iw1,net.b1);net.adaptparam.passes=3;for a=1:25%訓(xùn)練次數(shù)net,Y,E=adapt(net,P,T);linehandle=plotpc(net.iw1,net.b1,linehandle);drawnow;end%通用newlin程序%通用線(xiàn)性網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)time=0:0.025:5;T=sin(time*4*pi);Q=length(T);P=zeros(5,Q);%P中存儲(chǔ)信號(hào)T的前5(可變,根據(jù)需要而定)次值,作為網(wǎng)絡(luò)輸入。P(1,2:Q)=T(1,1:(Q-1);P(2,3:Q)=T(1,1:(Q-2);P(3,4:Q)=T(1,1:(Q-3);P(4,5:Q)=T(1,1:(Q-4);P(5,6:Q)=T(1,1:(Q-5);plot(time,T)%繪制信號(hào)T曲線(xiàn)xlabel(時(shí)間);ylabel(目標(biāo)信號(hào));title(待預(yù)測(cè)信號(hào));net=newlind(P,T);%根據(jù)輸入和期望輸出直接生成線(xiàn)性網(wǎng)絡(luò)a=sim(net,P);%網(wǎng)絡(luò)測(cè)試figure(2)plot(time,a,time,T,+)xlabel(時(shí)間);ylabel(輸出-目標(biāo)+);title(輸出信號(hào)和目標(biāo)信號(hào));e=T-a;figure(3)plot(time,e)hold onplot(min(time) max(time),0 0,r:)%可用plot(x,zeros(size(x),r:)代替hold offxlabel(時(shí)間);ylabel(誤差);title(誤差信號(hào));%通用BP神經(jīng)網(wǎng)絡(luò)P=-1 -1 2 2;0 5 0 5;t=-1 -1 1 1;net=newff(minmax(P),3,1,tansig,purelin,traingd);%輸入?yún)?shù)依次為:樣本P范圍,各層神經(jīng)元數(shù)目,各層傳遞函數(shù),訓(xùn)練函數(shù)%訓(xùn)練函數(shù)traingd-梯度下降法,有7個(gè)訓(xùn)練參數(shù).%訓(xùn)練函數(shù)traingdm-有動(dòng)量的梯度下降法,附加1個(gè)訓(xùn)練參數(shù)mc(動(dòng)量因子,缺省為0.9)%訓(xùn)練函數(shù)traingda-有自適應(yīng)lr的梯度下降法,附加3個(gè)訓(xùn)練參數(shù):lr_inc(學(xué)習(xí)率增長(zhǎng)比,缺省為1.05;% lr_dec(學(xué)習(xí)率下降比,缺省為0.7);max_perf_inc(表現(xiàn)函數(shù)增加最大比,缺省為1.04)%訓(xùn)練函數(shù)traingdx-有動(dòng)量的梯度下降法中賦以自適應(yīng)lr的方法,附加traingdm和traingda的4個(gè)附加參數(shù)%訓(xùn)練函數(shù)trainrp-彈性梯度下降法,可以消除輸入數(shù)值很大或很小時(shí)的誤差,附加4個(gè)訓(xùn)練參數(shù):% delt_inc(權(quán)值變化增加量,缺省為1.2);delt_dec(權(quán)值變化減小量,缺省為0.5);% delta0(初始權(quán)值變化,缺省為0.07);deltamax(權(quán)值變化最大值,缺省為50.0)% 適合大型網(wǎng)絡(luò)%訓(xùn)練函數(shù)traincgf-Fletcher-Reeves共軛梯度法;訓(xùn)練函數(shù)traincgp-Polak-Ribiere共軛梯度法;%訓(xùn)練函數(shù)traincgb-Powell-Beale共軛梯度法%共軛梯度法占用存儲(chǔ)空間小,附加1訓(xùn)練參數(shù)searchFcn(一維線(xiàn)性搜索方法,缺省為srchcha);缺少1個(gè)訓(xùn)練參數(shù)lr%訓(xùn)練函數(shù)trainscg-量化共軛梯度法,與其他共軛梯度法相比,節(jié)約時(shí)間.適合大型網(wǎng)絡(luò) % 附加2個(gè)訓(xùn)練參數(shù):sigma(因?yàn)槎吻髮?dǎo)對(duì)權(quán)值調(diào)整的影響參數(shù),缺省為5.0e-5);% lambda(Hessian陣不確定性調(diào)節(jié)參數(shù),缺省為5.0e-7)% 缺少1個(gè)訓(xùn)練參數(shù):lr%訓(xùn)練函數(shù)trainbfg-BFGS擬牛頓回退法,收斂速度快,但需要更多內(nèi)存,與共軛梯度法訓(xùn)練參數(shù)相同,適合小網(wǎng)絡(luò)%訓(xùn)練函數(shù)trainoss-一步正割的BP訓(xùn)練法,解決了BFGS消耗內(nèi)存的問(wèn)題,與共軛梯度法訓(xùn)練參數(shù)相同%訓(xùn)練函數(shù)trainlm-Levenberg-Marquardt訓(xùn)練法,用于內(nèi)存充足的中小型網(wǎng)絡(luò)net=init(net);net.trainparam.epochs=300; %最大訓(xùn)練次數(shù)(前缺省為10,自trainrp后,缺省為100)net.trainparam.lr=0.05; %學(xué)習(xí)率(缺省為0.01)net.trainparam.show=50; %限時(shí)訓(xùn)練迭代過(guò)程(NaN表示不顯示,缺省為25)net.trainparam.goal=1e-5; %訓(xùn)練要求精度(缺省為0)%net.trainparam.max_fail 最大失敗次數(shù)(缺省為5)%net.trainparam.min_grad 最小梯度要求(前缺省為1e-10,自trainrp后,缺省為1e-6)%net.trainparam.time 最大訓(xùn)練時(shí)間(缺省為inf)net,tr=train(net,P,t); %網(wǎng)絡(luò)訓(xùn)練a=sim(net,P) %網(wǎng)絡(luò)仿真%通用徑向基函數(shù)網(wǎng)絡(luò)%其在逼近能力,分類(lèi)能力,學(xué)習(xí)速度方面均優(yōu)于BP神經(jīng)網(wǎng)絡(luò)%在徑向基網(wǎng)絡(luò)中,徑向基層的散步常數(shù)是spread的選取是關(guān)鍵%spread越大,需要的神經(jīng)元越少,但精度會(huì)相應(yīng)下降,spread的缺省值為1%可以通過(guò)net=newrbe(P,T,spread)生成網(wǎng)絡(luò),且誤差為0%可以通過(guò)net=newrb(P,T,goal,spread)生成網(wǎng)絡(luò),神經(jīng)元由1開(kāi)始增加,直到達(dá)到訓(xùn)練精度或神經(jīng)元數(shù)目最多為止%GRNN網(wǎng)絡(luò),迅速生成廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)P=4 5 6;T=1.5 3.6 6.7;net=newgrnn(P,T);%仿真驗(yàn)證p=4.5;v=sim(net,p)%PNN網(wǎng)絡(luò),概率神經(jīng)網(wǎng)絡(luò)P=0 0 ;1 1;0 3;1 4;3 1;4 1;4 3;Tc=1 1 2 2 3 3 3;%將期望輸出通過(guò)ind2vec()轉(zhuǎn)換,并設(shè)計(jì)、驗(yàn)證網(wǎng)絡(luò)T=ind2vec(Tc);net=newpnn(P,T);Y=sim(net,P);Yc=vec2ind(Y)%嘗試用其他的輸入向量驗(yàn)證網(wǎng)絡(luò)P2=1 4;0 1;5 2;Y=sim(net,P2);Yc=vec2ind(Y)%應(yīng)用newrb()函數(shù)構(gòu)建徑向基網(wǎng)絡(luò),對(duì)一系列數(shù)據(jù)點(diǎn)進(jìn)行函數(shù)逼近P=-1:0.1:1;T=-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609.0.1336 -0.2013 -0.4344 -0.500 -0.3930 -0.1647 -0.0988.0.3072 0.3960 0.3449 0.1816 -0.0312 -0.2189 -0.3201;%繪制訓(xùn)練用樣本的數(shù)據(jù)點(diǎn)plot(P,T,r*);title(訓(xùn)練樣本);xlabel(輸入向量P);ylabel(目標(biāo)向量T);%設(shè)計(jì)一個(gè)徑向基函數(shù)網(wǎng)絡(luò),網(wǎng)絡(luò)有兩層,隱層為徑向基神經(jīng)元,輸出層為線(xiàn)性神經(jīng)元%繪制隱層神經(jīng)元徑向基傳遞函數(shù)的曲線(xiàn)p=-3:.1:3;a=radbas(p);plot(p,a)title(徑向基傳遞函數(shù))xlabel(輸入向量p)%隱層神經(jīng)元的權(quán)值、閾值與徑向基函數(shù)的位置和寬度有關(guān),只要隱層神經(jīng)元數(shù)目、權(quán)值、閾值正確,可逼近任意函數(shù)%例如a2=radbas(p-1.5);a3=radbas(p+2);a4=a+a2*1.5+a3*0.5;plot(p,a,b,p,a2,g,p,a3,r,p,a4,m-)title(徑向基傳遞函數(shù)權(quán)值之和)xlabel(輸入p);ylabel(輸出a);%應(yīng)用newrb()函數(shù)構(gòu)建徑向基網(wǎng)絡(luò)的時(shí)候,可以預(yù)先設(shè)定均方差精度eg以及散布常數(shù)sceg=0.02;sc=1; %其值的選取與最終網(wǎng)絡(luò)的效果有很大關(guān)系,過(guò)小造成過(guò)適性,過(guò)大造成重疊性net=newrb(P,T,eg,sc);%網(wǎng)絡(luò)測(cè)試plot(P,T,*)xlabel(輸入);X=-1:.01:1;Y=sim(net,X);hold onplot(X,Y);hold offlegend(目標(biāo),輸出)%應(yīng)用grnn進(jìn)行函數(shù)逼近P=1 2 3 4 5 6 7 8;T=0 1 2 3 2 1 2 1;plot(P,T,.,markersize,30)axis(0 9 -1 4)title(待逼近函數(shù))xlabel(P)ylabel(T)%網(wǎng)絡(luò)設(shè)計(jì)%對(duì)于離散數(shù)據(jù)點(diǎn),散布常數(shù)spread選取比輸入向量之間的距離稍小一些spread=0.7;net=newgrnn(P,T,spread);%網(wǎng)絡(luò)測(cè)試A=sim(net,P);hold onoutputline=plot(P,A,o,markersize,10,color,1 0 0);title(檢測(cè)網(wǎng)絡(luò))xlabel(P)ylabel(T和A)%應(yīng)用pnn進(jìn)行變量的分類(lèi)P=1 2;2 2;1 1; %輸入向量Tc=1 2 3; %P對(duì)應(yīng)的三個(gè)期望輸出%繪制出輸入向量及其相對(duì)應(yīng)的類(lèi)別plot(P(1,:),P(2,:),.,markersize,30)for i=1:3text(P(1,i)+0.1,P(2,i),sprintf(class %g,Tc(i)endaxis(0 3 0 3);title(三向量及其類(lèi)別)xlabel(P(1,:)ylabel(P(2,:)%網(wǎng)絡(luò)設(shè)計(jì)T=ind2vec(Tc);spread=1;
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廢玻璃混凝土火后殘余性能及TRC加固機(jī)理研究
- 基于深度學(xué)習(xí)的橋梁故障預(yù)測(cè)診斷研究
- 健康教案:變色龍主題教學(xué)設(shè)計(jì)
- 金融系統(tǒng)核心業(yè)務(wù)流程架構(gòu)
- 痔瘡的護(hù)理查房
- 腦出血康復(fù)健康指導(dǎo)
- 頸腰椎病健康講座課件
- 婦科護(hù)理知識(shí)年度總結(jié)
- 幼兒園家長(zhǎng)工作案例培訓(xùn)
- 《網(wǎng)頁(yè)設(shè)計(jì)與制作》課件-第4Fireworks綜合應(yīng)用
- 2025年廣東高考政治試卷真題答案詳解講評(píng)(課件)
- 卡口及道路交通智能監(jiān)控系統(tǒng)方案設(shè)計(jì)
- 2025年家庭照護(hù)師職業(yè)資格考試試題及答案
- 呼吸機(jī)相關(guān)性肺炎的預(yù)防和護(hù)理
- 2025年綏化市中考化學(xué)試題卷(含答案解析)
- 門(mén)診口腔院感基礎(chǔ)知識(shí)培訓(xùn)
- 論詠嘆調(diào)《媽媽不在》的形象刻畫(huà)與唱段處理
- 危重病人觀(guān)察和護(hù)理要點(diǎn)
- 砌體工程培訓(xùn)課件
- GB/T 45719-2025半導(dǎo)體器件金屬氧化物半導(dǎo)體(MOS)晶體管的熱載流子試驗(yàn)
- 2025-2030中國(guó)醫(yī)藥商業(yè)行業(yè)盈利態(tài)勢(shì)與投資潛力分析報(bào)告
評(píng)論
0/150
提交評(píng)論