基于麻雀算法优化LSTM回归预测(matlab)
概述:
- 麻雀算法构思
- lstm原理
- 麻雀优化lstm原理
- 代码及结果展示
第一部分 麻雀算法构思
众所周知,麻雀是常见的留鸟而且非常喜欢群居。这种生物是非常聪明的,有很强的记忆力,有别于许多其它的小型雀。麻雀中有两种不同类型的麻雀,即:发现者(Producer)和加入者(Scrounger)。发现者在种群中负责寻找食物并为整个麻雀种群提供觅食区域和方向,而加入者则是利用发现者来获取食物。鸟类通常可以灵活地使用这些行为策略,也就是能够在发现者和加入者这两种个体行为之间进行转换。为了获得食物,麻雀通常可以采用发现者和加入者这两种行为策略进行觅食。种群中的个体会监视群体中其它个体的行为,并且该种群中的攻击者会与高摄取量的同伴争夺食物资源,以提高自己的捕食率。此外,处在种群外围的鸟更容易受到捕食者的攻击,因此这些外围的鸟需要不断地调整位置以此来获得更好的位置!。
麻雀算法将麻雀群分为发现者和加入者。发现者的作用是引导整个麻雀群搜索和捕食。其位置公式为:
加入者的作用是跟随发现者,获取更好的适应 能力,其位置公式为:
部分加入者会作为预警麻雀帮助发现者进行觅食,当面临危险时,会进行反捕或撤回靠近其他麻雀。其位置更新公式为:
第二部分 lstm原理
LSTM是递归神经网络(Recursive Neural Net--work,RNN)的一种特殊实现,由于RNN在反向传播期间容易产生梯度消失,因而对其隐含层进行改进,并在RNN神经网络的基础上引入了时序的概念,使得上一刻的输出能对下一刻的输入产生直接影响,得到了在处理和预测具有较长间隔和延迟事件的时间序列方面应用效果显著的LSTM网络。
LSTM相较于RNN增加了遗忘门,输入门和输出门,通过门的控制对细胞状态添加或删除信息,让信息有选择性的通过,使相关信息在序列中传递下去,因而早期时间步长的信息也能携带到后期时间步长的细胞中去。
第三部分 麻雀算法优化LSTM原理
以最小化LSTM网络的误差为适应度函数,麻雀算法的作用就是尽量去找一组最优超参数使得网络误差最小化。本文中优化超参数为学习率和隐藏层节点数
第四部分 训练结果
完整代码加微信:z1430933554
如下代码也可以加微信获取:
优化LSTM(长短期记忆网络)分类
PS0优化LSTM(长短期记忆网络)分类/粒子群
GA优化L STM(长短期记忆网络)分类/遗传算法
GWO优化L STM(长短期记忆网络)分类/灰狼算法
烟花算法优化LSTM(长短期记忆网络)分类
麻雀搜索算法优化L STM(长短期记忆网络)分类
差分进化算法优化L STM(长短期记忆网络)分类
布谷鸟算法优化L STM(长短期记忆网络)分类