资源简介

利用粒子群算法(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

评论

共有 条评论