導航:首頁 > 編程大全 > matlabbp神經網路預測

matlabbp神經網路預測

發布時間:2022-09-28 06:54:29

⑴ bp神經網路在matlab中的預測結果是直線

缺少歸一化和反歸一化過程,訓練失敗。應將[2.5,3.0]范圍內的數據歸一專化。

在最新版的屬matlab裡面共有兩個歸一化函數:mapminmax()和mapstd(),其中第一個函數是歸一化到[0 1]范圍,後一個為統計歸一化。
各自的歸一化格式如下:
[pn,ps]=mapminmax(P)或=mapstd(P) %P是輸入向量
[tn, ts]=mapminmax(t)或=mapstd(t) %t 是目標向量
在訓練完後,對測試樣本歸一化格式為:
pnt=mapminmax('apply',pt,ps)或=mapstd('apply',pt,ps)
模擬後反歸一化格式則為:
out=mapminmax('reverse',An,ts)或=mapstd('reverse',An,ts);其中An為sim函數的輸出

⑵ Matlab BP神經網路預測錯誤,怎麼辦

Matlab BP神經網路預測錯誤的原因可能有下列因素:
1、數據本身問題
2、訓練參數不夠合理
所以,題主應從上述因素去改進。

⑶ matlab BP神經網路預測下一組數據問題

樓主用的MATLAB是什麼版本
這段代碼在2008b中會報錯,雖然可以排除,但修改後在你的系統上未必兼容,所以最好用和你比較接近的版本來調試分析。

⑷ Matlabbp神經網路預測出來的數據有時候會連續錯誤,有時候連續正確,要怎麼辦,可以平均一點!

Matlab BP神經網路預測出現您這情況,可能有是數據本身問題或訓練參數不夠合理的原因,可從從上述兩個原因去改進。

⑸ 關於構建一個三層BP神經網路對葯品的銷售進行預測(程序由matlab編寫)

clear all;
close all;
clc;
%p = [2056 2395 2600 2298 1634 1600 1837 1478 1900 2395 2600 2298 1634 1600 1873 1478 1900 1500 2600 2298 1634 1600 1873 1478 1900 1500 2046];
t = [1873 1478 1900 1500 2046 1556];
p = [ 2056 2395 2600 2298 1634 1600];
%--歸一化輸入輸出-- 映射到[0,1]--%
pmax = max(p);
pmin = min(p);
P = (p-pmin)./(pmax-pmin);
tmax = max(t);
tmin = min(t);
T = (t-tmin)./(tmax-tmin);

net =newff(P,T,5,{'tansig','purelin'},'traingdx');
%--設置訓練參數--%
net.trainParam.show =50;
net.trainParam.lr = 0.05;
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-3;
net.divideFcn= '';

[net,tr] = train(net,P,T);
A =sim(net,P);
a =A.*(tmax - tmin)+tmin;
x = 7:12;
figure
plot(x,t,'+');
hold on;
plot(x,a,'or');
hold off;
xlabel('month');
ylabel('**')
legend('實際','預測')

⑹ matlab中的BP神經網路

從原理抄上來說,神經網路是可以預測襲未來的點的。
實際上,經過訓練之後,神經網路就擬合了輸入和輸出數據之間的函數關系。只要訓練的足夠好,那麼這個擬合的關系就會足夠准確,從而能夠預測在其他的輸入情況下,會有什麼樣的輸出。
如果要預測t=[6
7]兩點的R值,先以t=[1
2
3
4
5]作為輸入,R=[12
13
14
14
15]作為輸出,訓練網路。訓練完成之後,用t=[2
3
4
5
6]作為輸入,這樣會得到一個輸出。不出意外的話,輸出的數組應該是[13
14
14
15
X],這里的X就是預測t=6時的R值。然後以t=[3
4
5
6
7]作為輸入,同理得到t=7時候的R值。
根據我的神經網路預測,t=6時,R=15,t=7時,R=15。我不知道這個結果是否正確,因為神經網路通常需要大量的數據來訓練,而這里給的數據似乎太少,可能不足以擬合出正確的函數。

⑺ 求一個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]

⑻ 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,'.')

⑼ 用matlab做BP神經網路,進行數據預測,全部都為正數,但是反歸一化後得到負數是什麼原因

你這是將結果反歸一化以後出現了負值,我覺得原因不在傳遞函數,是由於整個神經網路預測性能不佳導致的。考慮重新優化網路結構或者對樣本數據進行處理吧。

⑽ 如何利用matlab進行神經網路預測

matlab 帶有神經網路工具箱,可直接調用,建議找本書看看,或者MATLAB論壇找例子。回
核心調用語句如下:答
%數據輸入

%選連樣本輸入輸出數據歸一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%% BP網路訓練
% %初始化網路結構
net=newff(inputn,outputn,[8 8]);
net.trainParam.epochs=100;
net.trainParam.lr=0.01;
net.trainParam.goal=0.01;
%網路訓練
net=train(net,inputn,outputn);
%% BP網路預測
%預測數據歸一化
inputn_test=mapminmax('apply',input_test,inputps);
%網路預測輸出
an=sim(net,inputn_test);
%網路輸出反歸一化
BPoutput=mapminmax('reverse',an,outputps);
%% 結果分析

閱讀全文

與matlabbp神經網路預測相關的資料

熱點內容
中華萬年歷源代碼 瀏覽:489
富聊最新版本更新 瀏覽:288
新零售方面的數據去哪裡找 瀏覽:740
聯想平板數據網路開關在哪裡 瀏覽:434
燕秀工具箱cad2017 瀏覽:598
蛇女懷孕三個月生產是什麼電影 瀏覽:165
國產古裝盜墓電影大全 瀏覽:776
沈陽大悅城影院 瀏覽:455
好看的電影中文字幕 瀏覽:9
母女齊收的小說 瀏覽:327
編程貓怎麼讓角色點擊子彈 瀏覽:894
火狐載入不了javascript 瀏覽:867
mathtype69安裝教程 瀏覽:964
企石文件櫃多少錢 瀏覽:444
關於超狗的電影 瀏覽:603
哪裡可以看被封的40部網路小說 瀏覽:960
韓國電影和別人老婆偷情 瀏覽:133
keil怎麼下載程序 瀏覽:872
神馬電影九 瀏覽:200
推廣app如何裂變 瀏覽:800

友情鏈接