多输入多输出 | Matlab实现GA-CNN遗传算法优化卷积神经网络多输入多输出预测
目录
- 多输入多输出 | Matlab实现GA-CNN遗传算法优化卷积神经网络多输入多输出预测
- 预测效果
- 基本介绍
- 程序设计
- 参考资料
预测效果
基本介绍
Matlab实现GA-CNN遗传算法优化卷积神经网络多输入多输出预测(完整源码和数据)
1.data为数据集,输入10个特征,输出3个变量。
2.main.m为程序主文件,其他为函数文件无需运行。
3.命令窗口输出MBE、MAE、RMSE、R^2和MAPE,可在下载区获取数据和程序内容。
4.优化参数为学习率、批处理样本大小和正则化参数。
注意程序和数据放在一个文件夹,运行环境为Matlab2018及以上。
程序设计
- 完整源码和数据获取方式:私信博主回复Matlab实现GA-CNN遗传算法优化卷积神经网络多输入多输出预测。
%% 参数设置
% ---------------------- 修改模型参数时需对应修改fical.m中的模型参数 --------------------------
options = trainingOptions('adam', ... % Adam 梯度下降算法'MaxEpochs', 300, ... % 最大训练次数 'MiniBatchSize',best_MiniBatchSize, ...%批大小,每次调整参数前所选取的样本数量'InitialLearnRate', best_lr, ... % 初始学习率 best_lr'LearnRateSchedule', 'piecewise', ... % 学习率下降'LearnRateDropFactor', 0.5, ... % 学习率下降因子 0.1'LearnRateDropPeriod', 200, ... % 经过训练后 学习率为 best_lr * 0.5'Shuffle', 'every-epoch', ... % 每次训练打乱数据集'ValidationPatience', Inf, ... % 关闭验证'L2Regularization', best_l2, ... % 正则化参数'Plots', 'training-progress', ... % 画出曲线'Verbose', false);%% 训练模型
net = trainNetwork(p_train, t_train, layers, options);%% 仿真验证
t_sim1 = predict(net, p_train);
t_sim2 = predict(net, p_test );%% 数据反归一化
T_sim1 = mapminmax('reverse', t_sim1', ps_output);
T_sim2 = mapminmax('reverse', t_sim2', ps_output);
参考资料
[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