1、GA-BP神經網路模型預測的MATLAB程序問題
Matlab神經網路工具箱提供了一系列用於建立和訓練bp神經網路模型的函數命令,很難一時講全。下面僅以一個例子列舉部分函數的部分用法。更多的函數和用法請仔細查閱Neural Network Toolbox的幫助文檔。 例子:利用bp神經網路模型建立z=sin(x+y)的模型並檢驗效果 %第1步。隨機生成200個采樣點用於訓練 x=unifrnd(-5,5,1,200); y=unifrnd(-5,5,1,200); z=sin(x+y); %第2步。建立神經網路模型。其中參數一是輸入數據的范圍,參數二是各層神經元數量,參數三是各層傳遞函數類型。 N=newff([-5 5;-5 5],[5,5,1],{'tansig','tansig','purelin'}); %第3步。訓練。這里用批訓練函數train。也可用adapt函數進行增長訓練。 N=train(N,[x;y],z); %第4步。檢驗訓練成果。 [X,Y]=meshgrid(linspace(-5,5)); Z=sim(N,[X(:),Y(:)]'); figure mesh(X,Y,reshape(Z,100,100)); hold on; plot3(x,y,z,'.')
2、如何提高BP神經網路模型的預測精度
直接調用歸一化函數就可以啦,不會的話看一下這個帖子吧:遺傳演算法優化BP神經版網路權的案例(matlab代碼分享)
http://www.ilovematlab.cn/forum. ... &fromuid=679292
3、如何建立bp神經網路預測 模型
建立BP神經網路預測 模型,可按下列步驟進行:
1、提供原始數據
2、訓專練數據預測數據提取及歸一屬化
3、BP網路訓練
4、BP網路預測
5、結果分析
現用一個實際的例子,來預測2015年和2016年某地區的人口數。
已知2009年——2014年某地區人口數分別為3583、4150、5062、4628、5270、5340萬人
執行BP_main程序,得到
[ 2015, 5128.631704710423946380615234375]
[ 2016, 5100.5797325642779469490051269531]
代碼及圖形如下。
4、bp神經網路預測問題,有3個自變數1個因變數150組數據,要得到一個訓練模型預測因變數(Matlab實現)
Matlab實現過程:
1、自變數數據
x1=[。。。]';x2=[。。。]';x3=[。。。]';
X=[x1 x2 x3];
2、因變數數據
y=[。。。]';
3、創建一個前饋網路
net=newff(X,y,[3,3,1],{'tansig','tansig','purelin'}, 'trainlm');
net.trainParam.epochs=1000;
net.trainParam.goal=10^專(-6);
4、調用相應屬演算法訓練BP網路
[net,tr,yy]=train(net,X,y);%調用相應演算法訓練BP網路
5、對BP網路進行模擬
y_sim=sim(net,p);
5、求用matlab編BP神經網路預測程序
P=[。。。];輸入T=[。。。];輸出
% 創建一個新的前向神經網路
net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm')
% 當前輸入層權值和閾值
inputWeights=net_1.IW{1,1}
inputbias=net_1.b{1}
% 當前網路層權值和閾值
layerWeights=net_1.LW{2,1}
layerbias=net_1.b{2}
% 設置訓練參數
net_1.trainParam.show = 50;
net_1.trainParam.lr = 0.05;
net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 1e-3;
% 調用 TRAINGDM 演算法訓練 BP 網路
[net_1,tr]=train(net_1,P,T);
% 對 BP 網路進行模擬
A = sim(net_1,P);
% 計算模擬誤差
E = T - A;
MSE=mse(E)
x=[。。。]';%測試
sim(net_1,x)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
不可能啊 我2009
6、求預測一組數據的bp神經網路模型的matlab代碼
用matlab求預測一組數據的bp神經網路模型,可以分
1、給定已經數據,作為一個原始序列;
2、設定自回歸階數,一般2~3,太高不一定好;
3、設定預測某一時間段
4、設定預測步數
5、用BP自定義函數進行預測
6、根據預測值,用plot函數繪制預測數據走勢圖
其主要實現代碼如下:
clc
% x為原始序列(行向量)
x=[208.72 205.69 231.5 242.78 235.64 218.41];
%x=[101.4 101.4 101.9 102.4 101.9 102.9];
%x=[140 137 112 125 213 437.43];
t=1:length(x);
% 自回歸階數
lag=3;
%預測某一時間段
t1=t(end)+1:t(end)+5;
%預測步數為fn
fn=length(t1);
[f_out,iinput]=BP(x,lag,fn);
P=vpa(f_out,5);
A=[t1' P'];
disp('預測值')
disp(A)
% 畫出預測圖
figure(1),plot(t,iinput,'bo-'),hold on
plot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid on
title('BP神經網路預測某地鐵線路客流量')
xlabel('月號'),ylabel('客流量(百萬)');
運行結果:
7、想利用excel實現BP神經網路預測模型,求指導啊!
Excel是表格,真不知道為什麼要用它實現BP神經網路
建議你用用MATLAB,相當方便
8、求一個bp神經網路預測模型的MATLAB程序
BP神經網路預測的步驟:
1、輸入和輸出數據。
2、創建網路。fitnet()
3、劃分訓練,測試和驗證數據的版比例。net.divideParam.trainRatio;權 net.divideParam.valRatio;net.divideParam.testRatio
4、訓練網路。 train()
5、根據圖表判斷擬合好壞。ploterrcorr();parcorr();plotresponse()
6、預測往後數據。net()
7、畫出預測圖。plot()
執行下列命令
BP_prediction
得到結果:
[ 2016, 14749.003045557066798210144042969]
[ 2017, 15092.847215188667178153991699219]
[ 2018, 15382.150005970150232315063476562]
[ 2019, 15398.85769711434841156005859375]
[ 2020, 15491.935150090605020523071289062]
9、BP神經網路預測模型在matlab下編程如何顯示出它的預測值
%畫出預測輸出結果和期望輸出結果圖
figure;
plot(output_fore,':og');
hold on;
plot(output2_lianghua','-*');
legend('預測輸出內','期望輸出');
title('BP網路預測輸出','fontsize',12);
ylabel('函數輸出','fontsize',12);
xlabel('樣本','fontsize',12);
%畫出預測結果容誤差圖
figure
plot(error,'-*')
title('BP網路預測誤差','fontsize',12)
ylabel('誤差','fontsize',12)
xlabel('樣本','fontsize',12)