【回归预测-FNN预测】基于蝙蝠算法优化前馈网络实现数据回归预测附Matlab代码
1 内容介绍
强大的非线性映射能力使得人工神经网络越来越多地应用于数值预测、工程控制中,但神经网络在学习过程中,不可避免的存在着全局搜索能力差、容易跳入局部最优等不足,因而用神经网络技术预测的数据并不精确.蝙蝠算法(Bat Algorithm,简称BA)是近年来智能计算领域最受关注的研究方向之一,它算法简单、收敛速度快、全局寻优能力好,得到了广泛的应用.本文采用基于蝙蝠算法优化前馈网络实现数据回归预测。
2 仿真代码
clc;
% Generating random correlated data
mu = 50;
sigma = 5;
M = mu + sigma * randn(300, 2);
R = [1, 0.75; 0.75, 1];
L = chol(R);
M = M*L;
x = M(:,1); % Example Inputs, Replace by your data inputs for your own experiments
y = M(:,2); % Example labels, Replace by your data labels for your own experiments
% Min-max normalization of data
m = max(x); mn = min(x); mm = m-mn;
X = ((x-mn)/mm); Y = ((x-mn)/mm);
% 90%:10% splitting of data for training and testing
sz = (ceil(size(X,1))*0.9);
inputs = (X(1:sz))';
targets = (Y(1:sz))';
XTest = (X(sz+1:end))';
YTest = Y(sz+1:end)';
% number of neurons
n = 4;
tic;
% create a neural network
net = feedforwardnet(n);
% configure the neural network for this dataset
net = configure(net, inputs, targets);
% Denormalizaion and Prediction by FNN
FNN_Pred = ((net(XTest))' * mm) + mn;
%% BAT algorithms
%% Problem Definition
N = 20; % Number of Bats
Max_iter = 30; % Maximum number of iterations
fobj = @(x) NMSE(x, net, inputs, targets);
% Load details of the selected benchmark function
lb = -1; ub = 1;
dim = n^2 + n + n + 1;
[bestfit,x,fmax,BAT_Cg_curve]=newBAT(N,Max_iter,lb,ub,dim,fobj);
net = setwb(net, x');
% Denormalizaion and Prediction by BAT_FNN
BAT_FNN_Pred = ((net(XTest))' * mm) + mn;
YTest = (YTest * mm) + mn;
BAT_FNN_Execution_Time_Seconds = toc
% Plotting prediction results
figure;
plot(YTest,'LineWidth',2, 'Marker','diamond', 'MarkerSize',8);
hold on;
plot(FNN_Pred, 'LineWidth',2, 'Marker','x', 'MarkerSize',8);
plot(BAT_FNN_Pred, 'LineWidth',2, 'Marker','pentagram', 'MarkerSize',8);
title('BAT Optimization based Feed-Forward Neural Network');
xlabel('Time Interval');
ylabel('Values');
legend('Actual Values', 'FNN Predictions', 'BAT-FNN Predictions');
hold off;
3 运行结果
4 参考文献
[1]郝光杰, 俞孟蕻, 苏贞. 基于蝙蝠算法优化模糊神经网络的耙吸挖泥船耙头吸入密度研究[J]. 计算机与数字工程, 2022, 50(2):6.
[2]常青. 基于蝙蝠算法的神经网络优化及其应用[D]. 西安工程大学.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
【回归预测-FNN预测】基于蝙蝠算法优化前馈网络实现数据回归预测附Matlab代码相关推荐
- 【预测模型-ELAMN预测】基于蝙蝠算法优化ELMAN神经网络实现数据回归预测
1 简介 风能,作为一种重要,有潜力,无污染,可再生.可持续的能源,已经成为全球发电最为迅速的能源之一,越来越受到世界各国的青睐.近年来,为缓解能源短缺问题,改善环境,实现经济乃至人类的可持续发展,世 ...
- 【PNN分类】基于灰狼鹰算法优化pnn神经网络实现数据分附matlab代码
1 简介 概率神经网络(Probabilistic Neural Network,简称PNN)是利用贝叶斯定理和基于风险最小的贝叶斯决策规则对新样本进行分类的神经网络,具有训练时间短且不易收敛到局部极 ...
- 【预测模型-ELM分类】基于鲸鱼算法优化核极限学习机实现数据分类附matlab代码
1 内容介绍 极限学习机(extreme learning machine,ELM)作为一种新兴的机器学习方法,已经成为了一个热门的研究方向. ELM 随机确定单隐含层网络的输入权值和隐含层节点偏置, ...
- 【回归预测-BP预测】基于灰狼算法优化BP神经网络实现数据回归预测附matlab代码
1 内容介绍 Mirjalili 等在 2014 年 提 出 了 灰 狼 优 化 ( Grey Wolf Optimizer,GWO) 算法,是一种新型群智能优化算法,通过模拟自然界中灰狼寻找.包围和 ...
- 【ELM预测】基于鲸鱼算法优化极限学习机实现数据回归预测附matlab代码
1 简介 为判断中国是否能够实现2030年碳排放强度下降60%-65%的承诺,以及碳排放总量是否能够在2030年达到峰值,论文构建了一个基于鲸鱼优化算法改进的极限学习机模型,对2019-2040年的碳 ...
- 【ELAMN预测】基于灰狼算法优化ELMAN神经网络实现数据回归预测matlab代码
1 简介 风能,作为一种重要,有潜力,无污染,可再生.可持续的能源,已经成为全球发电最为迅速的能源之一,越来越受到世界各国的青睐.近年来,为缓解能源短缺问题,改善环境,实现经济乃至人类的可持续发展,世 ...
- 基于BAS算法实现复杂网络社区发现问题——附python代码
基于智能优化算法的复杂网络社区发现问题 第一章 基于天牛须算法求解复杂网络社区发现问题 文章目录 基于智能优化算法的复杂网络社区发现问题 前言 一.基本天牛须算法 二.关于社区发现 基本问题 总结 前 ...
- 【WSN】基于COMPOW协议下的网络连通率和覆盖率附matlab代码
1 简介 COMPOW (COMMON POWER)协议是一种简单的将功率控制与路由协议相结合的解决方案,其基本思想是:所有的传感器节点使用一致的发射功率,在保证网络连通的前提下将功率最小化.COMP ...
- 【综合评价】基于黏菌算法优化投影寻踪模型的综合评价附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
最新文章
- qt发布后 mysql数据库_qt发布后 mysql数据库
- SoapUI实践:自动化测试、压力测试、持续集成
- [导入]注意!玩具也能成危险
- C#与.NET程序员面试宝典 1.4.3 笔试(举例微软、雅虎笔试题目)
- Unix信号处理一些笔记
- 【Flutter】Dart 面向对象 ( 命名构造方法 | 工厂构造方法 | 命名工厂构造方法 )
- 如何有效控制 Go 线程数?
- C++中关于cons和字符串t的一些注意事项
- Web.config的配置
- c语言第三章知识点讲解,C语言考试最新知识点总结讲解.doc
- matlab引擎下载,安装用于 Python 的 MATLAB 引擎 API
- while语句 ///do...while语句/// for语句/// foreach语句
- mysql 命令行关闭fuw_网络管理 - eSight V300R009C00 维护指南 12 - 华为
- 获取京东JDCookie
- 大型网站技术架构 读书笔记2 核心架构要素
- java猜拳小游戏心得体会_java实现猜拳小游戏
- office办公软件题库1
- streamx编译,streamx-console初始化启动踩坑
- 想要通过炒币财富自由?先看看这篇文章吧!
- 【行业应用】浅谈AI如何在电力行业落地