【BA-FNN】基于蝙蝠优化的模糊神经网络FNN研究(Matlab代码实现)

 👨‍🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

自然界中,蝙蝠在搜寻猎物时,具有先进的回声定位能力,通过发出超回声定位,检测猎物,躲避障碍,并在黑暗中找寻自己的栖息地。Yang教授受蝙蝠回声定位的启发,于2010年提出蝙蝠算法[102]。蝙蝠算法可用于实现搜索全局最优解,是一种结构简单、参数较少、搜索能力较强、稳定性较强的优化算法,通过模拟蝙蝠在检测目标时所发出的脉冲频率、响度、发射率变化,从而实
现函数优化。
 

为更方便地模拟蝙蝠检测猎物、躲
避障碍物的行为,蝙蝠算法提出了以下几
个近似理想化的假设:
(1)所有蝙蝠均通过回声来判断距离猎物的远近,并能够区别所搜寻的猎物和障碍物;
(2)蝙蝠以速度v,在位置x,随机飞行,频率f固定,通过改变脉冲频率r和脉冲响度A掌握猎物的空间位置。在搜寻猎物过程中,根据接近程度自动调整脉冲频率r与速率 v;
(3)脉冲响度变化方式多样,选择将响度从最大逐渐变到最小作为蝙蝠算法的通用方法。

 模糊神经网络(FNN,Fuzzy Neural Networks)汇集神经网络与模糊理论优点,对于处理细胞培养过程非线性、模糊性的系统具有很大的优越性。T-S模糊模型是一种易于表达复杂系统动态特性的非线性模型,推理规则采用“if then”模式,即

式中:A 为模糊系统的模糊集,p为模糊系统的参数,y为根据模糊规则所得的输出,if、then分别是模糊规则的前件和后件,输入(即f部分)是模糊项,输出(即then部分)为确定项,输出是输入的线性组合。T-S模糊神经网络的基本结构如4.4所示,其主要分为输入层、模糊化层、模糊规则层和输出层四层。根据专家经验,本文主要以温度、pH 值、溶解氧含量、溶解二氧化碳含量为输入,培养液等级为输出,构建一个输入层含4个神经元和输出层含1个神经元的FNN模型。


 流程图:

📚2 运行结果

 部分代码:

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;
% Performance Evaluaion of FNN and BAT-FNN
fprintf('Performance Evaluaion of FNN and BAT-FNN using Normalized Root Mean Square Error \n');
NRMSE_FNN = (abs( sqrt( mean(mean((FNN_Pred - YTest).^2) )) )) / (max(YTest)-min(YTest))
NRMSE_BAT_FNN = (abs( sqrt( mean(mean((BAT_FNN_Pred - YTest).^2) ) ) )) / (max(YTest)-min(YTest))
figure;
semilogy(BAT_Cg_curve, 'LineWidth',2, 'Color','r')
title('Objective Space Optimization Progress')
xlabel('Iteration');
ylabel('Best Fitness');
axis tight
grid on
box on

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]SANA (2023). Matlab Code of Bat Optimization based Feed Forward Network.

[2]谢雨霜. 基于改进BA-FNN的多参数生物反应器智能监测技术与系统研究[D].湖南大学,2021.DOI:10.27135/d.cnki.ghudu.2021.000099.

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值