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

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

时间:2024-09-09 21:49:18浏览次数:3  
标签:输出 神经网络 train BP net 输入

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

目录

预测效果

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

在这里插入图片描述

在这里插入图片描述

基本介绍

多输入多输出 | 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); 

往期精彩

MATLAB实现RBF径向基神经网络多输入多输出预测
MATLAB实现BP神经网络多输入多输出预测
MATLAB实现DNN神经网络多输入多输出预测

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/116377961
[2] https://blog.csdn.net/kjm13182345320/article/details/127931217
[3] https://blog.csdn.net/kjm13182345320/article/details/127894261

标签:输出,神经网络,train,BP,net,输入
From: https://blog.csdn.net/kjm13182345320/article/details/142070300

相关文章

  • C++入门基础知识58——【关于C++基本的输入输出】
    成长路上不孤单......
  • python怎么输入中文
    解决中文输入的两种应用:在脚本中加语言编码声明“-*-coding:uft-8-*-”应用一:print中出现中文方法一:用unicode('',encoding='utf-8')或者unicode("",encoding="utf-8")。方法二:用u''或者u""。应用二:函数输入中出现中文,如raw_input()......
  • 重定向日志输出
     ./demo>>a1.log2>&1    在CentOS7或其他类Unix系统中,当你想要将命令的标准输出(stdout)和标准错误输出(stderr)都重定向到同一个文件中时,你确实可以使用你所提到的重定向结构。这里是一个准确的例子,以及它的解释:bash复制代码 ./demo>a1.log2>&1这......
  • kubectl top输出与Linux free命令不一致原因
    kubectltop命令和Linux的free命令都用于查看系统资源的使用情况,但它们的输出可能不一致,原因主要包括以下几点:1.数据来源不同kubectltop:该命令从Kubernetes的MetricsServer收集节点和Pod的资源使用情况。MetricsServer会定期收集容器的CPU和内存使用数据,并......
  • 如何在Spark键值对数据中,对指定的Key进行输出/筛选/模式匹配
    在用键值对RDD进行操作时,经常会遇到不知道如何筛选出想要数据的情况,这里提供了一些解决方法目录1、对固定的Key数据进行查询2、对不固定的Key数据进行模糊查询1、对固定的Key数据进行查询代码说明:SparkConf:配置Spark应用程序的一些基本信息。SparkContext:创建Spark......
  • C# 调用 exe 输出日志
    C#调用exe输出日志ProcessStartInfousingSystem;usingSystem.Diagnostics;usingNLog;classProgram{staticvoidMain(){ProcessStartInfostartInfo=newProcessStartInfo("your_exe_path.exe");startInfo.UseShellExecute=......
  • fmt.Printf 函数用于格式化并打印信息到标准输出
    在Go语言中,fmt.Printf函数用于格式化并打印信息到标准输出。%c和%d是格式化参数中的占位符,用于指定输出的格式。以下是一些常用的格式化参数:%v:默认格式,根据变量的类型自动选择输出格式。%+v:类似 %v,但会输出字段名。%#v:类似 %v,但会输出Go语法表示。%T:输出变量的类型......
  • 子进程的输出重定向到父进程
     intservice_mgmt_start(structservice_base*service){pthread_mutex_lock(&(sg_service_mgmt.data_lock));//lockif(service->running){pthread_mutex_unlock(&(sg_service_mgmt.data_lock));//unlockreturn0;}......
  • 解决vscode终端输出中文乱码问题图文教程
    由于系统终端默认编码为GBK,所以需要修改为UTF-8方法一打开cmd输入chcp查看编码格式,查看以及修改如下图所示:方法二        ......
  • 基于ONSEMI电源管理芯片NCP1607之AC300V高输入电压36W调色温智能电源
    NCP1607PFC在LED智能电源PFC处理部分性价比高,输入电压范围宽到AC90-300V,母线电压420V导致高压低电流整机光效高,成熟芯片可靠新高,没有任何纹波与频闪,智能护眼。►场景应用图►产品实体图►展示板照片►方案方块图►核心技术优势1.输入AC300V/50HZ电源无损坏无发......