RhinoFreak 发表于 2023-3-11 15:53

【MATLAB第23期】基于贝叶斯Bayes算法优化CNN-LSTM ...

## 基于贝叶斯Bayes算法优化CNN-LSTM长短期记忆网络的单列时间序列模型及多输入单输出回归预测模型


## 前言


前面在【MATLAB第8期】讲解了基于贝叶斯Bayes算法优化LSTM长短期记忆网络的时间序列预测模型,即单输入数据时间序列预测,见本人知乎主页。

前面在【MATLAB第14期】讲解了基于贝叶斯Bayes算法优化LSTM长短期记忆网络的多输入单输出回归预测模型思路框架,见本人知乎主页。

## 思路

本文分别使用单列时间序列数据及多输入单输出数据,进行BO-CNNLSTM预测。贝叶斯原理及内容不多介绍。

## 1.时间序列预测模型

时间序列数据:单列数据
超参数优化:有大量的超参数可供调整和优化,使用贝叶斯优化来优化CNN-LSTM参数

```bash
optimVars = [
    optimizableVariable('NoFilter1',,'Type','integer')                         %卷积层1卷积核数量
    optimizableVariable('NoFilter2',,'Type','integer')                         %卷积层2卷积核数量
    optimizableVariable('FilterSize1',,'Type','integer')                     %卷积层1卷积核大小
    optimizableVariable('FilterSize2',,'Type','integer')                     %卷积层2卷积核大小
    optimizableVariable('Lag',,'Type','integer')                              %时间滞后阶数范围               
    optimizableVariable('MiniBatchSize',{'16' '32' '48' },'Type','categorical')      %批处理范围选择
    optimizableVariable('learningrate',,'Type','real',"Transform","log")];%学习率优化选择
```


贝叶斯优化次数:10


贝叶斯优化结果:(参数简化,如最大运行时间仅设置为10*60)


测试集MAE=    1.3433
测试集RMSE=    1.9390

## 2.回归预测模型

使用多输入单输出数据
80%训练 20%测试
超参数优化:有大量的超参数可供调整和优化,使用贝叶斯优化来优化CNN-LSTM参数
%% 优化CNNLSTM结构参数
```bash
optimVars = [
    optimizableVariable('numHiddenUnits1',,'Type','integer')% LSTM第一层隐含层神经元数
    optimizableVariable('numHiddenUnits2',,'Type','integer')% LSTM第二层隐含层神经元数
    optimizableVariable('NoFilter1',,'Type','integer') %卷积层卷积核数量
    optimizableVariable('FilterSize1',,'Type','integer')%卷积层卷积核大小
];```




**

## 预测结果:


[*]CNNLSTM训练集均方根误差(RMSE):3.2152
[*]CNNLSTM训练集平均绝对误差(MAE):2.5149
[*]CNNLSTM训练集平均相对百分误差(MAPE):5.0728%
[*]CNNLSTM训练集R-square决定系数(R2):0.98159
[*]CNNLSTM测试集均方根误差(RMSE):2.9023
[*]CNNLSTM测试集平均绝对误差(MAE):2.1754
[*]CNNLSTM测试集平均相对百分误差(MAPE):3.4288%
[*]CNNLSTM测试集R-square决定系数(R2):0.96609
[*]BO-CNNLSTM训练集均方根误差(RMSE):1.6549
[*]BO-CNNLSTM训练集平均绝对误差(MAE):1.2913
[*]BO-CNNLSTM训练集平均相对百分误差(MAPE):2.9743%
[*]BO-CNNLSTM训练集R-square决定系数(R2):0.99484
[*]BO-CNNLSTM测试集均方根误差(RMSE):2.4997
[*]BO-CNNLSTM测试集平均绝对误差(MAE):2.098
[*]BO-CNNLSTM测试集平均相对百分误差(MAPE):3.5159%
[*]BO-CNNLSTM测试集R-square决定系数(R2):0.98186

## 代码获取方式

【获取下载链接】
点击上方可获取下载链接
页: [1]
查看完整版本: 【MATLAB第23期】基于贝叶斯Bayes算法优化CNN-LSTM ...