多输入多输出 | MATLAB实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测

目录

    • 多输入多输出 | MATLAB实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测
      • 预测效果
      • 基本介绍
      • 模型背景
      • 程序设计
      • 参考资料

预测效果



基本介绍

MATLAB实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测,运行环境Matlab2018b及以上。

模型背景

卷积神经网络是1989 年由纽约大学Lecun 提出的一种专门用来处理具有类似网格结构的数据的神经网络,例如时间序列数据和图像数据等。卷积神经网络可以看作是传统神经网络的改进,都采用了层级网络结构。其本质是一种从输入到输出的映射,能够学习大量的映射关系。CNN 网络主要由输入层、卷积层、池化层和输出层构成,其中输入层主要是对原始数据进行预处理,包括去均值、归一化。卷积计算层有两个重要的操作: 局部关联和窗口滑动。池化层位于两个卷积层中间,用于压缩数据,减小过拟合。全连接层在CNN 网络的尾部,将池化层的输出数据进行拼接。CNN 网络最主要的优势在于权值共享的特殊结构,降低了网络的复杂性,对高维数据的处理无压力。同时CNN 也避免了传统神经网络反向传播梯度损失过快的缺点。

程序设计

  • 完整源码和数据获取方式:私信博主回复MATLAB实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测
%%数据平铺% 将数据平铺成1维数据只是一种处理方式% 也可以平铺成2维数据,以及3维数据,需要修改对应模型结构% 但是应该始终和输入层数据结构保持一致p_train =double(reshape(P_train, 10, 1, 1, M));p_test=double(reshape(P_test , 10, 1, 1, N));t_train =double(T_train)';t_test=double(T_test )';%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------%%构造网络结构layers = [ imageInputLayer([10, 1, 1]) % 输入层 输入数据规模[10, 1, 1]convolution2dLayer([3, 1], 16)% 卷积核大小 3*1 生成16张特征图 batchNormalizationLayer % 批归一化层 reluLayer % Relu激活层convolution2dLayer([3, 1], 32)% 卷积核大小 3*1 生成32张特征图 batchNormalizationLayer % 批归一化层 reluLayer % Relu激活层 dropoutLayer(0.2) % Dropout层 fullyConnectedLayer(3)% 全连接层 regressionLayer]; % 回归层%%参数设置options = trainingOptions('adam', ...% ADAM 梯度下降算法'MiniBatchSize', 30, ... % 批大小,每次训练样本个数30'MaxEpochs', 100, ...% 最大训练次数 100'InitialLearnRate', 1e-2, ...% 初始学习率为0.01'LearnRateSchedule', 'piecewise', ...% 学习率下降'LearnRateDropFactor', 0.5, ...% 学习率下降因子'LearnRateDropPeriod', 50, ... % 经过100次训练后 学习率为 0.01 * 0.5'Shuffle', 'every-epoch', ...% 每次训练打乱数据集'Plots', 'training-progress', ...% 画出曲线'Verbose', false);

参考资料

[1] https://blog.csdn.net/kjm13182345320/category_11003178.html?spm=1001.2014.3001.5482
[2] https://blog.csdn.net/kjm13182345320/article/details/117378431
[3] https://blog.csdn.net/kjm13182345320/article/details/118253644