BP神经网络matlab代码
生活随笔
收集整理的這篇文章主要介紹了
BP神经网络matlab代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. BP神經網絡matlab代碼分享
1. BP神經網絡matlab代碼分享
%%隨機權重→前向計算→誤差→權重更新,再來一遍→達到誤差限,停止%% 初始化 clear close all clc%% 讀取數據 input=rand(2,200); output=input(1,:).*input(2,:);%% 訓練集、測試集 input_train = input(:,1:150); output_train =output(1:150); input_test =input(:,151:end); output_test =output(151:end);%% 數據歸一化 [inputn,inputps]=mapminmax(input_train,0,1); [outputn,outputps]=mapminmax(output_train); inputn_test=mapminmax('apply',input_test,inputps);%% 構建BP神經網絡 net=newff(inputn,outputn,8);% 網絡參數 net.trainParam.epochs=1000; % 訓練次數 net.trainParam.lr=0.01; % 學習速率 net.trainParam.goal=0.000001; % 訓練目標最小誤差 % net.dividefcn=''; %% BP神經網絡訓練 net=train(net,inputn,outputn);%% BP神經網絡測試 an=sim(net,inputn_test); %用訓練好的模型進行仿真 test_simu=mapminmax('reverse',an,outputps); % 預測結果反歸一化error=test_simu-output_test; %預測值和真實值的誤差%%真實值與預測值誤差比較 figure(1) plot(output_test,'bo-') hold on plot(test_simu,'r*-') hold on plot(error,'square','MarkerFaceColor','b') legend('期望值','預測值','誤差') xlabel('數據組數'),ylabel('值'),title('測試集預測值和期望值的誤差對比'),set(gca,'fontsize',12) %計算誤差 [~,len]=size(output_test); MAE1=sum(abs(error./output_test))/len; MSE1=error*error'/len; RMSE1=MSE1^(1/2); disp(['-----------------------誤差計算--------------------------']) disp(['平均絕對誤差MAE為:',num2str(MAE1)]) disp(['均方誤差MSE為: ',num2str(MSE1)]) disp(['均方根誤差RMSE為: ',num2str(RMSE1)])總結
以上是生活随笔為你收集整理的BP神经网络matlab代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从Delphi应用程序创建发票,可视化报
- 下一篇: Norton Internet Secu