資源簡介
粒子群優化BP神經網絡的權值和閾值,內含詳細的代碼說明,方便大家閱讀

代碼片段和文件信息
function?error?=?fun(xinputnumhiddennumoutputnumnetinputnoutputn)
%該函數用來計算適應度值
%x??????????input?????個體
%inputnum???input?????輸入層節點數
%outputnum??input?????隱含層節點數
%net????????input?????網絡
%inputn?????input?????訓練輸入數據
%outputn????input?????訓練輸出數據
%error??????output????個體適應度值
%提取?BP神經網絡初始權值和閾值,x為個體
w1=x(1:inputnum*hiddennum);
B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);
w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);
B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);
?
%網絡權值賦值
net.iw{11}=reshape(w1hiddennuminputnum);
net.lw{21}=reshape(w2outputnumhiddennum);
net.b{1}=reshape(B1hiddennum1);
net.b{2}=B2;
%BP神經網絡構建
net=newff(inputnoutputnhiddennum);
net.trainParam.epochs=100;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00001;
net.trainParam.show=100;
net.trainParam.showWindow=0;
%BP神經網絡訓練
net=train(netinputnoutputn);
%網絡訓練
an=sim(netinputn);
error=sum(abs(an-outputn));
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-06-17?16:49??新建文件夾\
?????文件???????89946??2015-06-16?14:53??新建文件夾\data.mat
?????文件????????1139??2015-06-09?09:54??新建文件夾\fun.m
?????文件??????469909??2015-06-16?10:26??新建文件夾\input_test.mat
?????文件??????469909??2015-06-16?10:26??新建文件夾\input_train.mat
?????文件??????469909??2015-06-16?10:26??新建文件夾\output_test.mat
?????文件??????469909??2015-06-16?10:26??新建文件夾\output_train.mat
?????文件????????3284??2015-06-17?16:39??新建文件夾\PSO.m
- 上一篇:ucos+USB+RS232
- 下一篇:計算機組成原理實驗報告.docx
評論
共有 條評論