資源簡介
基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化算法,MATLAB智能算法30個案例分析的例程,正確完整

代碼片段和文件信息
function?err=Bpfun(xPThiddennumP_testT_test)
%%?訓(xùn)練&測試BP網(wǎng)絡(luò)
%%?輸入
%?x:一個個體的初始權(quán)值和閾值
%?P:訓(xùn)練樣本輸入
%?T:訓(xùn)練樣本輸出
%?hiddennum:隱含層神經(jīng)元數(shù)
%?P_test:測試樣本輸入
%?T_test:測試樣本期望輸出
%%?輸出
%?err:預(yù)測樣本的預(yù)測誤差的范數(shù)
inputnum=size(P1);???????%?輸入層神經(jīng)元個數(shù)
outputnum=size(T1);??????%?輸出層神經(jīng)元個數(shù)
%%?新建BP網(wǎng)絡(luò)
net=newff(minmax(P)[hiddennumoutputnum]{‘tansig‘‘logsig‘}‘trainlm‘);
%%?設(shè)置網(wǎng)絡(luò)參數(shù):訓(xùn)練次數(shù)為1000,訓(xùn)練目標為0.01,學(xué)習(xí)速率為0.1
net.trainParam.epochs=1000;
net.trainParam.goal=0.01;
LP.lr=0.1;
net.trainParam.show=NaN;
%?net.trainParam.showwindow=false;??%高版MATLAB
%%?BP神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值
w1num=inputnum*hiddennum;?%?輸入層到隱層的權(quán)值個數(shù)
w2num=outputnum*hiddennum;%?隱層到輸出層的權(quán)值個數(shù)
w1=x(1:w1num);???%初始輸入層到隱層的權(quán)值
B1=x(w1num+1:w1num+hiddennum);??%初始隱層閾值
w2=x(w1num+hiddennum+1:w1num+hiddennum+w2num);?%初始隱層到輸出層的閾值
B2=x(w1num+hiddennum+w2num+1:w1num+hiddennum+w2num+outputnum);?%輸出層閾值
net.iw{11}=reshape(w1hiddennuminputnum);
net.lw{21}=reshape(w2outputnumhiddennum);
net.b{1}=reshape(B1hiddennum1);
net.b{2}=reshape(B2outputnum1);
%%?訓(xùn)練網(wǎng)絡(luò)以
net=train(netPT);
%%?測試網(wǎng)絡(luò)
Y=sim(netP_test);
err=norm(Y-T_test);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1282??2010-11-14?00:48??chapter3?基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化算法\BPfun.m
?????文件???????1864??2011-03-31?19:30??chapter3?基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化算法\callbackfun.m
?????目錄??????????0??2018-01-19?12:20??chapter3?基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化算法
-----------?---------??----------?-----??----
?????????????????3146????????????????????3
評論
共有 條評論