首页 > 编程语言 >多输入多输出 | Matlab实现DBO-BP蜣螂算法优化BP神经网络多输入多输出预测

多输入多输出 | Matlab实现DBO-BP蜣螂算法优化BP神经网络多输入多输出预测

时间:2024-09-19 11:53:01浏览次数:12  
标签:输出 DBO %% train BP 输入


多输入多输出 | Matlab实现DBO-BP蜣螂算法优化BP神经网络多输入多输出预测


目录

  • 多输入多输出 | Matlab实现DBO-BP蜣螂算法优化BP神经网络多输入多输出预测
  • 预测效果
  • 基本介绍
  • 程序设计
  • 往期精彩
  • 参考资料


预测效果

多输入多输出 | Matlab实现DBO-BP蜣螂算法优化BP神经网络多输入多输出预测_神经网络


多输入多输出 | Matlab实现DBO-BP蜣螂算法优化BP神经网络多输入多输出预测_蜣螂算法优化BP神经网络_02

多输入多输出 | Matlab实现DBO-BP蜣螂算法优化BP神经网络多输入多输出预测_多输入多输出_03

多输入多输出 | Matlab实现DBO-BP蜣螂算法优化BP神经网络多输入多输出预测_蜣螂算法优化BP神经网络_04

基本介绍

多输入多输出 | Matlab实现DBO-BP蜣螂算法优化BP神经网络多输入多输出预测
1.data为数据集,10个输入特征,3个输出变量。
2.main.m为主程序文件。
3.命令窗口输出MBE、MAE和R2,可在下载区获取数据和程序内容。

程序设计

  • 完整程序和数据下载方式:私信博主回复Matlab实现DBO-BP蜣螂算法优化BP神经网络多输入多输出预测
%%  数据归一化
[p_train, ps_input] = mapminmax(P_train,0,1);
p_test = mapminmax('apply',P_test,ps_input);

[t_train, ps_output] = mapminmax(T_train,0,1);
t_test = mapminmax('apply',T_test,ps_output);

%% 节点个数
inputnum  = size(p_train, 1); % 输入层节点数
hiddennum = 15;                % 隐藏层节点数
outputnum = size(t_train, 1); % 输出层节点数

%% 构建网络
net = newff(p_train, t_train, hiddennum);

%% 设置训练参数
net.trainParam.epochs     = 50;      % 训练次数
net.trainParam.goal       = 1e-4;     % 目标误差
net.trainParam.lr         = 0.01;     % 学习率
net.trainParam.showWindow = 0;        % 关闭窗口

%%  参数设置
fun = @getObjValue;                                 % 目标函数
dim = inputnum * hiddennum + hiddennum * outputnum + ...
    hiddennum + outputnum;                          % 优化参数个数
lb  = -1 * ones(1, dim);                            % 优化参数目标下限
ub  =  1 * ones(1, dim);                            % 优化参数目标上限
pop = 20;                                            % 数量
Max_iteration = 20;                                 % 最大迭代次数   

%% 优化算法
[Best_score,Best_pos,curve] = DBO(pop, Max_iteration, lb, ub, dim, fun);

标签:输出,DBO,%%,train,BP,输入
From: https://blog.51cto.com/u_15735367/12055546

相关文章