基于萤火虫算法优化的BP神经网络预测模型(Matlab代码实现)

简介: 基于萤火虫算法优化的BP神经网络预测模型(Matlab代码实现)

1 概述

现实的世界中混沌现象无处不在,大至宇宙,小到基本粒子,都受到混沌理论支配.如气候变化会出

现混沌现象,数学、物理、化学和生物中也存在混狸现象,混沌的出现,打破了学科之间的界限,是一门

新兴的交叉学科.随着非线性动力学领域的发展,混沌时间序列预测已成为混沌领域研究的热点.许多

专家学者在这一领域做了许多研究工作,如 EMD算法[1]、联合嫡扩维法[2]、支持向量机3l、Volterra滤波器[4]、BP神经网络模型 5]、RBF神经网络模型!6以及一些混合模型[783.在这些预测算法中,神经网络因具有良好的泛化能力与强大的学习能力,成为许多专家学者研究的热点.但在实际应用中,神经网络中初始权值和阈值的取值对其优化性能有着较大的影响3].萤火虫优化算法(Glowworm SwarmOptimization,GSO)是模拟萤火虫求偶或觅食行为而提出的一种新的群智能算法[10],它不仅具有很强的全局寻优能力,而且不需要目标函数的梯度信息,具有易用性、鲁棒性和容易实现等特点,非常适用于神经网络的参数优化.

本文从非线性时间序列出发,提出了一种采用萤火虫算法优化BP神经网络的算法(GSOBPNN),该算法利用萤火虫算法得到更优的网络初始权值和阈值,该方法利用萤火虫算法来弥补BP神经网络连接权值和阈值选择上的随机性缺陷.利用该方法对Duffing 系统产生的混沌时间序列预测分析,仿真结果表明该算法具有更高的预测准确性.


2 萤火虫算法


基本萤火虫算法是Krishnanad等人在2005年提出的一种新型群智能优化算法[8,它是将搜索和寻优过程模拟成萤火虫个体的吸引和移动过程,通过求解问题的目标函数量化萤火虫个体所处位置的优劣.在萤火虫算法中,每只萤火虫分布在目标函数的定义空间内,这些萤火虫个体都有自己的决策半径且自身携带荧光粉,萤火虫的亮度是由自己所在的位置的目标函数值决定,某处的亮度越大说明该处的萤火虫具有越好的目标函数值,从而可以吸引更多的萤火虫往该方向移动,由于每个萤火虫拥有各自的决策半径,决策半径同时会受到相邻的萤火虫影响,当其周围的萤火虫的数量较少时,萤火虫的决策半径就会增大,从而能够吸引周围更多的萤火虫.当周围的萤火虫的数量比较多的时候,决策半径就会变小.最终,绝大多数萤火虫会聚集在若干个具有较优目标函数值的位置.


3 萤火虫算法优化BP神经网络的算法设计

3.1 基本思想

GSOBPNN的基本思想是:根据输入输出参数确定BPNN的网络结构,从而确定萤火虫算法每个个体的编码长度.种群中的每个个体都包含了BPNN 的所有权值和阈值,通过适应度函数计算个体适应度函数值,并通过位置更新、决策半径更新以及荧光素更新找到最佳函数值对应的个体.将GSO优化得到的个体对BPNN的初始权值和阈值进行赋值,再利用BPNN 网络模型进行优化,从而得到具备全局最优解的BPNN预测值.


3.2 萤火虫算法优化BP神经网络算法

 

4 运行结果


5 参考文献

[1]侯越,赵贺,路小娟.基于萤火虫优化的BP神经网络算法研究[J].兰州交通大学学报,2013,32(06):24-27.

6 Matlab代码及文章

相关文章
|
5月前
|
机器学习/深度学习 数据可视化 网络架构
PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
PINNs训练难因多目标优化易失衡。通过设计硬约束网络架构,将初始与边界条件内嵌于模型输出,可自动满足约束,仅需优化方程残差,简化训练过程,提升稳定性与精度,适用于气候、生物医学等高要求仿真场景。
625 4
PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
|
5月前
|
机器学习/深度学习 算法
采用蚁群算法对BP神经网络进行优化
使用蚁群算法来优化BP神经网络的权重和偏置,克服传统BP算法容易陷入局部极小值、收敛速度慢、对初始权重敏感等问题。
447 5
|
5月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
5月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
240 0
|
5月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
513 0
|
5月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
339 2
|
6月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
312 3
|
6月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
222 6
|
5月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
264 8
|
5月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
302 8