0
点赞
收藏
分享

微信扫一扫

git 提交代码流程

天悦哥 2024-11-07 阅读 7

基于Tent混沌映射改进的麻雀搜索算法SSA优化BP神经网络预测

1 普通BP网络

代码如有需要,联系 596520206
%构建网络
net=newff(inputn,outputn,hiddennum);
% 网络参数
net.trainParam.epochs=100; % 训练次数
net.trainParam.lr=0.01; % 学习速率
net.trainParam.goal=0.0001; % 训练目标最小误差
% 网络训练
net=train(net,inputn,outputn);
an0=sim(net,inputn); %仿真结果
mse0=mse(outputn,an0); %仿真的均方误差
disp(['隐含层节点数为',num2str(hiddennum),'时,训练集的均方误差为:',num2str(mse0)])
隐含层节点的确定过程...
隐含层节点数为4时,训练集的均方误差为:0.18502
隐含层节点数为5时,训练集的均方误差为:0.25439
隐含层节点数为6时,训练集的均方误差为:0.15501
隐含层节点数为7时,训练集的均方误差为:0.33841
隐含层节点数为8时,训练集的均方误差为:0.18279
隐含层节点数为9时,训练集的均方误差为:0.23381
隐含层节点数为10时,训练集的均方误差为:0.15169
隐含层节点数为11时,训练集的均方误差为:0.16844
隐含层节点数为12时,训练集的均方误差为:0.5154
隐含层节点数为13时,训练集的均方误差为:0.35645
最佳的隐含层节点数为:10,相应的均方误差为:0.15169

标准的BP神经网络:
平均绝对误差mae为: 0.10768
均方误差mse为: 0.03105
均方误差根rmse为: 0.17621
平均绝对百分比误差mape为: 11.9947 %

2 使用Tent-SSA优化网络

%% Tent混沌映射初始化种群位置
k=3; %
k为1到n的正整数,Tent映射初始化k*popsize个种群,从中选出适应度最好的popsize个个体作为初始种群
X0 = tentInitialization(popsize*k,dim,ub,lb);
X=X0;

% 计算初始适应度值
fit = zeros(1,popsize*k);
for i = 1:popsize*k
fit(i) = fitness(X(i,:),inputnum,hiddennum_best,outputnum,net,inputn,outputn,output_train,inputn_test,outputps,output_test);
end
平均绝对误差mae为: 0.074413
均方误差mse为: 0.012718
均方误差根rmse为: 0.11278
平均绝对百分比误差mape为: 8.7977 %

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

举报

相关推荐

0 条评论