时序预测 | MATLAB实现IWOA-GRU和GRU时间序列预测(改进的鲸鱼算法优化门控循环单元)
目录
预测效果
基本介绍
MATLAB实现IWOA-GRU和GRU时间序列预测,改进的鲸鱼算法优化门控循环单元时间序列预测。
模型描述
鲸鱼优化算法(WOA)是由Mirjalili等提出的一种新算法.世界上最大的须鲸之一是座头鲸,座头鲸最有趣的就是他们的气泡网觅食方法.其基本原理分为三个阶段:包围猎物、泡网攻击、搜寻猎物。针对鲸鱼优化算法( whale optimization algorithm,WOA) 容易陷入局部最优和收敛精度低的问题进行了研究,提出一种改进的鲸鱼优化算法( IWOA) 。该算法通过准反向学习方法来初始化种群,提高种群的多样性;然后将线性收敛因子修改为非线性收敛因子,有利于平衡全局搜索和局部开发能力;另外,通过增加自适应权重改进鲸鱼优化算法的局部搜索能力,提高收敛精度;最后,通过随机差分变异策略及时调整鲸鱼优化算法,避免陷入局部最优。
程序设计
- 完整程序私信博主回复IWOA-GRU和GRU时间序列预测(改进的鲸鱼算法优化门控循环单元)。
clike
%% 基础GRU测试
numHiddenUnits = 20;
layers = [ ...
sequenceInputLayer(numFeatures)
gruLayer(numHiddenUnits)
dropoutLayer(0.2)
gruLayer(numHiddenUnits)
dropoutLayer(0.2)
reluLayer('name','relu')
fullyConnectedLayer(numResponses)
regressionLayer];
%指定训练选项
options = trainingOptions('adam', ...
'MaxEpochs',20, ...
'ExecutionEnvironment' ,'cpu',...
'GradientThreshold',1, ...
'InitialLearnRate',0.01, ...
'L2Regularization',0.01,...
'Plots','training-progress',...
'Verbose',1);
%训练GRU
参考资料
[1] Mirjalili S,Lewis A. The whale optimization algorithm[J]. Advancesin Engineering Software,2016,95( 5) : 51-67.
[2] https://blog.csdn.net/article/details/126086399?spm=1001.2014.3001.5501