【BP数据预测】基于matlab布谷鸟算法优化BP神经网络数据预测【含Matlab源码 1121期】

举报
海神之光 发表于 2022/05/29 00:47:43 2022/05/29
【摘要】 一、布谷鸟算法简介 布谷鸟算法,英文叫做Cuckoo search (CS algorithm)。首先还是同样,介绍一下这个算法的英文含义, Cuckoo是布谷鸟的意思,啥是布谷鸟呢,是一种叫做布谷的鸟...

一、布谷鸟算法简介

布谷鸟算法,英文叫做Cuckoo search (CS algorithm)。首先还是同样,介绍一下这个算法的英文含义, Cuckoo是布谷鸟的意思,啥是布谷鸟呢,是一种叫做布谷的鸟,o(∩_∩)o ,这种鸟她妈很懒,自己生蛋自己不养,一般把它的宝宝扔到别的种类鸟的鸟巢去。但是呢,当孵化后,遇到聪明的鸟妈妈,一看就知道不是亲生的,直接就被鸟妈妈给杀了。于是这群布谷鸟宝宝为了保命,它们就模仿别的种类的鸟叫,让智商或者情商极低的鸟妈妈误认为是自己的亲宝宝,这样它就活下来了。
布谷鸟搜索算法(Cuckoo Search, CS)是2009年Xin-She Yang 与Suash Deb在《Cuckoo Search via Levy Flights》一文中提出的一种优化算法。布谷鸟算法是一种集合了布谷鸟巢寄生性和莱维飞行(Levy Flights)模式的群体智能搜索技术,通过随机游走的方式搜索得到一个最优的鸟巢来孵化自己的鸟蛋。这种方式可以达到一种高效的寻优模式。

1 布谷鸟的巢寄生性
在这里插入图片描述
2 莱维飞行
在这里插入图片描述
图1.模拟莱维飞行轨迹示意图

3 布谷鸟搜索算法的实现过程
在这里插入图片描述
4 CS-BP神经网络
CS算法具有提高算法的局部和全局寻优的等优点。为了改善BP神经网络对初始权值和阈值的依赖问题,将CS算法运用到BP神经网络中,在网络进行训练前,运用CS算法对网络初始权值和阈值进行寻优,得到的最优解再赋
值给网络进行训练,这种方法可以有效地避免BP神经网络 因为初始权值和阈值而容易陷入局部最小的问题,同时改善了BP神经网络的收敛速度。 总算法流程如图2所示。CS算法优化 BP神经网络算法步骤: 1)初始化鸟巢数n、Pa 及最大迭代次数Nmax等参数; 2)随机产生n个鸟巢的初始位置:qi(0)= [x(0) 1 ,x(0) 2 , …,xn(0)]T ,该位置与BP神经网络初始阈值和权值相对应,BP神经网络训练得到的误差作为其适应度值,计算鸟巢初
始位置的适应度值; 3)根据适应度值找出当代的最佳鸟巢的位置xd(0),并 根据式 (15)更新鸟巢位置,得到新的鸟巢位置; 4)计算新鸟巢位置,得 出 较 优 的 一 组 鸟 巢 位 置ek = [x(k) 1 ,x(k) 2 ,…,xn(k)]T ; 5)将r与Pa 进行比较,保留ek 中较小的的Pa 鸟巢, 并更新较大Pa 鸟巢位置,得出一组新鸟巢位置,并用好的 替代ek 中较差的鸟巢位置,得出新一组较佳鸟巢位置qk= [x(k) 1 ,x(k) 2 ,…,xn(k)]T ; 6)找出qk 中最佳的一个鸟巢位置xd(k),如果达到最大 迭代次数,则停止搜索,并输出最佳位置xd(k),否则,回到 步骤3)继续执行;
在这里插入图片描述
7)根据最佳鸟巢位置xd(k) 对应的参数作为 BP 神经网 络初始阈值和权值,对训练集进行训练。

二、部分源代码

%% 初始化
clear
close all




  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

三、运行结果

在这里插入图片描述

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.
[5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018.
[6]魏新尧,佘世刚,容伟,刘爱琦.基于布谷鸟算法优化BP神经网络的锂电池健康状态预测[J].计算机测量与控制. 2021,29(04)

文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。

原文链接:qq912100926.blog.csdn.net/article/details/124577685

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。