資源簡介
matlab代碼實現BP神經網絡。實現對所需信息進行預測,擬合等目的。
代碼片段和文件信息
clear;?%清空環境變量
clc;
%?訓練集/測試集的產生,這里采用xlsread(‘‘);
paifangshuju=xlsread(‘E:\paifangshuju2.xlsx‘);
NIR=paifangshuju(:1:2);
octane=paifangshuju(:3:6);
%?%?隨機產生訓練集和測試集
temp?=?randperm(size(NIR1));
%訓練集--80個樣本
P_train?=?NIR(temp(1:80):)‘;
T_train?=?octane(temp(1:80):)‘;
%測試集--10個樣本
P_test?=?NIR(temp(81:end):)‘;
T_test?=?octane(temp(81:end):)‘;
N?=?size(P_test2);
%驗證、訓練數據歸一化
[p_trainps_input]=mapminmax(P_train01);
p_test=mapminmax(‘apply‘P_testps_input);
[t_trainps_output]=mapminmax(T_train01);
%?%?BP神經網絡的創建、訓練及仿真測試
%創建網絡
net?=?newff(p_traint_train[48]);%2為隱含層的層數
%設置訓練參數
net.trainParam.epochs=1000;
net.trainParam.goal=1e-3;
net.trainParam.lr=0.01;
%訓練網絡
net=train(netp_traint_train);
%仿真測試
t_sim=sim(netp_test);
%數據反歸一化
T_sim=mapminmax(‘reverse‘t_simps_output);
%%性能評價
%相對誤差
error=abs(T_sim-T_test)./T_test;
%均方根誤差
for?i=1:4j=1:N;
????A(ij)=T_test(ij)-T_sim(ij);
end
MSE_HC=sqrt(sum(A(1:).^2));
MSE_CO=sqrt(sum(A(
評論
共有 條評論