【回归预测-FNN预测】基于蝙蝠算法优化前馈网络实现数据回归预测附Matlab代码

简介: 【回归预测-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代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


相关文章
|
10月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
378 4
|
10月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
10月前
|
机器学习/深度学习 算法
采用蚁群算法对BP神经网络进行优化
使用蚁群算法来优化BP神经网络的权重和偏置,克服传统BP算法容易陷入局部极小值、收敛速度慢、对初始权重敏感等问题。
572 5
|
10月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
360 0
|
10月前
|
机器学习/深度学习 算法 物联网
基于遗传方法的动态多目标优化算法
基于遗传方法的动态多目标优化算法
|
SQL 监控 安全
网络安全与信息安全:漏洞、加密与安全意识
随着互联网的迅猛发展,网络安全和信息安全问题日益受到关注。本文深入探讨了网络安全漏洞、加密技术以及提高个人和组织的安全意识的重要性。通过分析常见的网络攻击手段如缓冲区溢出、SQL注入等,揭示了计算机系统中存在的缺陷及其潜在威胁。同时,详细介绍了对称加密和非对称加密算法的原理及应用场景,强调了数字签名和数字证书在验证信息完整性中的关键作用。此外,还讨论了培养良好上网习惯、定期备份数据等提升安全意识的方法,旨在帮助读者更好地理解和应对复杂的网络安全挑战。
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
529 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
395 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。