首页 > 编程语言 >时序预测 | MATLAB实现SSA-GRU(麻雀算法优化门控循环单元)时间序列预测

时序预测 | MATLAB实现SSA-GRU(麻雀算法优化门控循环单元)时间序列预测

时间:2022-12-15 15:36:07浏览次数:51  
标签:GRU 加入者 算法 麻雀 MATLAB fMin LSTM SSA


时序预测 | MATLAB实现SSA-GRU(麻雀算法优化门控循环单元)时间序列预测

目录

  • ​​时序预测 | MATLAB实现SSA-GRU(麻雀算法优化门控循环单元)时间序列预测​​
  • ​​预测效果​​
  • ​​基本介绍​​
  • ​​模型介绍​​
  • ​​程序设计​​
  • ​​参考资料​​

预测效果

时序预测 | MATLAB实现SSA-GRU(麻雀算法优化门控循环单元)时间序列预测_门控循环单元


时序预测 | MATLAB实现SSA-GRU(麻雀算法优化门控循环单元)时间序列预测_时间序列_02


时序预测 | MATLAB实现SSA-GRU(麻雀算法优化门控循环单元)时间序列预测_SSA-GRU_03

时序预测 | MATLAB实现SSA-GRU(麻雀算法优化门控循环单元)时间序列预测_时间序列_04

时序预测 | MATLAB实现SSA-GRU(麻雀算法优化门控循环单元)时间序列预测_时间序列预测_05

基本介绍

SSA-GRU(麻雀算法优化长短期记忆神经网络)时间序列预测,运行环境matlab2020及以上。

模型介绍

优化问题是科学研究和工程实践领域中的热门问题。智能优化算法大多是受到人类智能、生物群体社会性或自然现象规律的启发,在解空间内进行全局优化。麻雀算法于2020年由薛建凯首次提出,是基于麻雀种群的觅食和反捕食行为的一种新型智能优化算法。

  • 发现者通常拥有较高的能源储备并且在整个种群中负责搜索到具有丰富食物的区域,为所有的加入者提供觅食的区域和方向。在模型建立中能量储备的高低取决于麻雀个体所对应的适应度值(Fitness Value)的好坏。
  • 发现了捕食者,个体开始发出鸣叫作为报警信号。当报警值大于安全值时,发现者会将加入者带到其它安全区域进行觅食。
  • 发现者和加入者的身份是动态变化的。
  • 加入者的能量越低,它们在整个种群中所处的觅食位置就越差。
  • 在觅食过程中,加入者总是能够搜索到提供最好食物的发现者,然后从最好的食物中获取食物或者在该发现者周围觅食。
  • 当意识到危险时,群体边缘的麻雀会迅速向安全区域移动,以获得更好的位置,位于种群中间的麻雀则会随机走动,以靠近其它麻雀。

GRU(Gate Recurrent Unit)是循环神经网络(Recurrent Neural Network, RNN)的一种。和LSTM(Long-Short Term Memory)一样,也是为了解决长期记忆和反向传播中的梯度等问题而提出来的。
GRU输入输出的结构与普通的RNN相似,其中的内部思想与LSTM相似。与LSTM相比,GRU内部少了一个”门控“,参数比LSTM少,但是却也能够达到与LSTM相当的功能。考虑到硬件的计算能力和时间成本,因而很多时候我们也就会选择更加”实用“的GRU

程序设计

  • 完整源码私信博主
%捕食者站整个种群规模的百分比    The population size of producers accounts for "P_percent" percent of the total population size       
P_percent = 0.2;

%捕食者的人口规模 百分比*中群内个体数量
pNum = round( pop * P_percent ); % The population size of the producers

%下限/界限/向量
lb= c.*ones( 1,dim ); % Lower limit/bounds/ a vector
%上限/界限/向量
ub= d.*ones( 1,dim ); % Upper limit/bounds/ a vector

%Initialization 初始化
for i = 1 : pop%对各异进行遍历
%初始化个体以及适应度函数
x( i, : ) = lb + (ub - lb) .* rand( 1, dim );
fit( i ) = fobj( x( i, : ) ) ;
end

pFit = fit;

%与pfit对应的个人最佳值
pX = x; % The individual's best position corresponding to the pFit
%fMin表示全局最优适应度值
[ fMin, bestI ] = min( fit ); % fMin denotes the global optimum fitness value
%bestX 表示对应于fMin全局最优位置的
bestX = x( bestI, : ); % bestX denotes the global optimum position corresponding to fMin

参考资料

[1] Chung J, Gulcehre C, Cho K, et al. Empirical evaluation of gated recurrent neural networks on sequence modeling[J]. arXiv: Neural and Evolutionary Computing, 2014.
[2] https://enpedia.org/wiki/G


标签:GRU,加入者,算法,麻雀,MATLAB,fMin,LSTM,SSA
From: https://blog.51cto.com/u_15735367/5940141

相关文章