基于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 %

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

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

11-11 19:06