时序预测 | MATLAB实现贝叶斯优化CNN-BiLSTM时间序列预测(股票价格预测)
效果一览
基本介绍
MATLAB实现贝叶斯优化CNN-BiLSTM(卷积长短期记忆神经网络)时间序列预测,Bayes-CNN-LSTM模型股票价格预测/BO-CNN-LSTM模型股票价格预测。
模型结构
- LSTM模块
- CNN-BiLSTM模块
程序架构
- 伪代码
- 在对 CNN-BiLSTM 使用贝叶斯优化时,不同的参数组合的 CNN-BiLSTM 作为自变量,平均误差(MAE)作为贝叶斯框架的输出y。
- 通过调整优化算法调整模型参数,学习重复率和贝叶斯优化超参数来调整模型参数。
程序设计
- 完整程序获取方式:MATLAB实现贝叶斯优化CNN-BiLSTM时间序列预测(股票价格预测)。
% CNN-BiLSTM
% 网络架构
layers = [...
% 输入层
sequenceInputLayer([numFeatures 1 1],'Name','input')
sequenceFoldingLayer('Name','fold')
% 卷积层1
convolution2dLayer(optVars.FilterSize1,optVars.NoFilter1,'Padding','same',...
'WeightsInitializer','he','Name','conv1');
% 激活函数
eluLayer('Name','elu1')
% 卷积层2
convolution2dLayer(optVars.FilterSize2,optVars.NoFilter2,'Padding','same',...
'WeightsInitializer','he','Name','conv2');
% 激活函数
eluLayer('Name','elu2')
% 池化层
maxPooling2dLayer(5,'Padding','same','Name','MPL')
% 展开层
sequenceUnfoldingLayer('Name','unfold')
flattenLayer('Name','flatten')
% BiLSTM层1
bilstmLayer(128,'Name','lstm1','RecurrentWeightsInitializer','he')
dropoutLayer(0.25,'Name','drop1')
% BiLSTM层2
bilstmLayer(64,'OutputMode',"last",'Name','lstm2',...
'RecurrentWeightsInitializer','he')
% 全连接层
fullyConnectedLayer(1,'Name','fc')
% 回归层
regressionLayer('Name','output') ];
参考资料
[1] https://blog.csdn.net/kjm13182345320/article/details/127313031?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/127626816?spm=1001.2014.3001.5502
[3] https://blog.csdn.net/kjm13182345320/article/details/127601808?spm=1001.2014.3001.5502
往期精彩
MATLAB实现贝叶斯优化CNN-LSTM时间序列预测(股票价格预测)
MATLAB实现基于Adam算法优化LSTM长短期记忆神经网络时间序列预测
MATLAB实现CNN-BiLSTM(卷积双向长短期记忆神经网络)时间序列预测