資源簡介
基于遺傳算法的BP神經網絡優化算法,MATLAB智能算法30個案例分析的例程,正確完整

代碼片段和文件信息
function?err=Bpfun(xPThiddennumP_testT_test)
%%?訓練&測試BP網絡
%%?輸入
%?x:一個個體的初始權值和閾值
%?P:訓練樣本輸入
%?T:訓練樣本輸出
%?hiddennum:隱含層神經元數
%?P_test:測試樣本輸入
%?T_test:測試樣本期望輸出
%%?輸出
%?err:預測樣本的預測誤差的范數
inputnum=size(P1);???????%?輸入層神經元個數
outputnum=size(T1);??????%?輸出層神經元個數
%%?新建BP網絡
net=newff(minmax(P)[hiddennumoutputnum]{‘tansig‘‘logsig‘}‘trainlm‘);
%%?設置網絡參數:訓練次數為1000,訓練目標為0.01,學習速率為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神經網絡初始權值和閾值
w1num=inputnum*hiddennum;?%?輸入層到隱層的權值個數
w2num=outputnum*hiddennum;%?隱層到輸出層的權值個數
w1=x(1:w1num);???%初始輸入層到隱層的權值
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);
%%?訓練網絡以
net=train(netPT);
%%?測試網絡
Y=sim(netP_test);
err=norm(Y-T_test);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1282??2010-11-14?00:48??chapter3?基于遺傳算法的BP神經網絡優化算法\BPfun.m
?????文件???????1864??2011-03-31?19:30??chapter3?基于遺傳算法的BP神經網絡優化算法\callbackfun.m
?????目錄??????????0??2018-01-19?12:20??chapter3?基于遺傳算法的BP神經網絡優化算法
-----------?---------??----------?-----??----
?????????????????3146????????????????????3
- 上一篇:汽車車速智能模糊控制
- 下一篇:SVM神經網絡的數據分類預測-matlab
評論
共有 條評論