資源簡介
利用粒子群算法(PSO)對BP神經網絡模型進行優化,可以對數據進行仿真訓練,可以對變形監測以及其他領域的數據進行預測,實驗結果表明粒子群算法(PSO)對BP神經網絡模型比BP神經網絡模型有著更好的預測精度以及在預測時間上也大大加快,代碼是基于matlab語言自己寫的。

代碼片段和文件信息
function?error=fun(xinputnumhiddennumoutputnumnetinputnoutputn)
%該函數用來計算適應度值
%x??????????input?????個體
%inputnum???input?????輸入層節點數
%outputnum??input?????隱含層節點數
%net????????input?????網絡
%inputn?????input?????訓練輸入數據
%outputn????input?????訓練輸出數據
%error??????output????個體適應度值
%提取
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);
%網絡權值賦值
W1=reshape(w1hiddennuminputnum);
W2=reshape(w2outputnumhiddennum);
B1=reshape(B1hiddennum1);
B2=reshape(B2outputnum1);
[m?n]=size(inputn);
A1=tansig(W1*inputn+repmat(B11n));?%需與main函數中激活函數相同
A2=purelin(W2*A1+repmat(B21n));?%需與main函數中激活函數相同??
error=sumsqr(outputn-A2);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-04-23?19:57??PSO優化BP神經網絡模型\
?????文件?????????975??2020-03-03?13:04??PSO優化BP神經網絡模型\fun.m
?????文件????????4523??2020-03-16?16:02??PSO優化BP神經網絡模型\PSO_BP.m
評論
共有 條評論