多輸入多輸出 | 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