资源简介
利用粒子群算法(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
评论
共有 条评论