偏微分方程求解:基于鲸鱼优化算法优化BP神经网络的偏微分方程求解研究(提供MATLAB代码)

一、鲸鱼优化算法

鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提出的一种新的群体智能优化算法。鲸鱼优化算法
偏微分方程求解:基于鲸鱼优化算法优化BP神经网络的偏微分方程求解研究(提供MATLAB代码)_第1张图片

偏微分方程求解:基于鲸鱼优化算法优化BP神经网络的偏微分方程求解研究(提供MATLAB代码)_第2张图片

偏微分方程求解:基于鲸鱼优化算法优化BP神经网络的偏微分方程求解研究(提供MATLAB代码)_第3张图片

二、偏微分方程

求解定义在[0,1]x[0,1]的如下偏微分方程
偏微分方程求解:基于鲸鱼优化算法优化BP神经网络的偏微分方程求解研究(提供MATLAB代码)_第4张图片

通过鲸鱼优化算法(WOA)优化BP神经网络的权值阈值,目标函数为上述偏微分方程的真实目标值和BP神经网络的输出预测值的均方误差(MSE)。

三、求解结果

部分代码:

close all
clear
clc
global inputnum hiddennum outputnum TrainNum 
inputnum=2;%神经网络输入层神经元个数(输入样本维度)
hiddennum=10;%神经网络隐藏层神经元个数(可以自己修改) 
outputnum=1;%神经网络输出层神经元个数(输出样本维度)
TrainNum=1156;%训练集数目 
%% 鲸鱼优化算法WOA优化BP神经网络求解偏微分方程,目标函数是均方误差MSE
SearchAgents_no=50; %种群大小(可以修改)
Function_name='F1'; 
Max_iteration=500; %最大迭代次数(可以修改)
[lb,ub,dim,fobj]=fun_info(Function_name);% 在fun_info.m中可以查看上下限及目标函数
[fMin,bestX,WOA_curve]=WOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);  %鲸鱼优化算法WOA优化BP神经网络的权值阈值 bestX是最优权值阈值
save bestX bestX %保留鲸鱼优化算法WOA优化BP神经网络得到的最优权值阈值
save WOA_curve WOA_curve
%%
TrainPre(bestX) %训练集预测
%% 画出鲸鱼优化算法WOA优化BP神经网络的均方误差随迭代次数的图
figure
semilogy(WOA_curve,'Color','g')
title('Objective space')
xlabel('Iteration');
ylabel('MSE');
grid on
box on
legend('WOA')
%%
display(['The best solution obtained by SSA is : ', num2str(bestX)]);
display(['The best optimal value of the objective funciton found by SSA is : ', num2str(fMin)]);%fMin越小说明鲸鱼优化算法WOA优化BP神经网络效果越好

MSE随迭代次数图:
偏微分方程求解:基于鲸鱼优化算法优化BP神经网络的偏微分方程求解研究(提供MATLAB代码)_第5张图片

真实值与预测值:
偏微分方程求解:基于鲸鱼优化算法优化BP神经网络的偏微分方程求解研究(提供MATLAB代码)_第6张图片

由此可见,WOA优化BP神经网络得到的预测值与该偏微分方程的真实值十分接近,误差很小,效果非常理想。

四、参考代码

你可能感兴趣的:(单目标应用,MATLAB,IT技术,算法,神经网络,matlab)