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

 


目录

 1 概述

2 萤火虫算法

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

3.1 基本思想

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

4 运行结果

5 参考文献 

6 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代码及文章

你可能感兴趣的:(神经网络预测,matlab,算法,神经网络,BP)