多輸入多輸出 | Matlab實現RIME-BP霜冰算法優化BP神經網絡多輸入多輸出預測
目錄
- 多輸入多輸出 | Matlab實現RIME-BP霜冰算法優化BP神經網絡多輸入多輸出預測
- 預測效果
- 基本介紹
- 程序設計
- 往期精彩
- 參考資料
預測效果
基本介紹
多輸入多輸出 | Matlab實現RIME-BP霜冰算法優化BP神經網絡多輸入多輸出預測
1.data為數據集,10個輸入特征,3個輸出變量。
2.main.m為主程序文件。
3.命令窗口輸出MBE、MAE和R2,可在下載區獲取數據和程序內容。
程序設計
- 完整程序和數據下載方式私信博主回復Matlab實現RIME-BP霜冰算法優化BP神經網絡多輸入多輸出預測。
M = size(P_train, 2);P_test = res(temp(501: end), 1 : 10)';
T_test = res(temp(501: end), 11: 13)';
N = size(P_test, 2);
%% 數據歸一化
[p_train, ps_input] = mapminmax(P_train,0,1);
p_test = mapminmax('apply',P_test,ps_input);[t_train, ps_output] = mapminmax(T_train,0,1);
t_test = mapminmax('apply',T_test,ps_output);%% 節點個數
inputnum = size(p_train, 1); % 輸入層節點數
hiddennum = 15; % 隱藏層節點數
outputnum = size(t_train, 1); % 輸出層節點數%% 構建網絡
net = newff(p_train, t_train, hiddennum);%% 設置訓練參數
net.trainParam.epochs = 50; % 訓練次數
net.trainParam.goal = 1e-4; % 目標誤差
net.trainParam.lr = 0.01; % 學習率
net.trainParam.showWindow = 0; % 關閉窗口%% 參數設置
fun = @getObjValue; % 目標函數
dim = inputnum * hiddennum + hiddennum * outputnum + ...hiddennum + outputnum; % 優化參數個數
lb = -1 * ones(1, dim); % 優化參數目標下限
ub = 1 * ones(1, dim); % 優化參數目標上限
pop = 20; % 數量
Max_iteration = 20; % 最大迭代次數 %% 優化算法
[Best_score,Best_pos,curve] = RIME(pop, Max_iteration, lb, ub, dim, fun);
往期精彩
MATLAB實現RBF徑向基神經網絡多輸入多輸出預測
MATLAB實現BP神經網絡多輸入多輸出預測
MATLAB實現DNN神經網絡多輸入多輸出預測
參考資料
[1] https://blog.csdn.net/kjm13182345320/article/details/116377961
[2] https://blog.csdn.net/kjm13182345320/article/details/127931217
[3] https://blog.csdn.net/kjm13182345320/article/details/127894261