小弟,使用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),以下是代碼,麻煩幫忙看看:
% 定義訓(xùn)練樣本
% P 為輸入矢量
P=[0.007,0.003,0.063,0.032,0.003;0.338,0.003,0.375,0.677,0.668;0.669,0.003,0.688,0.677,0.668;0.669,0.003,0.688,0.677,0.668;1,1,0.063,0.677,0.668];
% T 為目標(biāo)矢量
T=[0.106,0.498,0.95;0.066,0.05,0.05;0.05,0.95,0.513;0.95,0.94,0.907];
% 創(chuàng)建一個(gè)新的前向神經(jīng)網(wǎng)絡(luò)
net=newff(minmax(P),[10,3],{'tansig','purelin'},'traingdm')
% 當(dāng)前輸入層權(quán)值和閾值
inputWeights=net.IW{1,1};
inputbias=net.b{1};
% 當(dāng)前網(wǎng)絡(luò)層權(quán)值和閾值
layerWeights=net.LW{2,1};
layerbias=net.b{2};
% 設(shè)置訓(xùn)練參數(shù)
net.trainParam.show = 50;
net.trainParam.lr = 0.001;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 2000;
net.trainParam.goal = 1e-5;
% 調(diào)用 TRAINGDM 算法訓(xùn)練 BP 網(wǎng)絡(luò)
net=train(net,P,T);
% 對(duì) BP 網(wǎng)絡(luò)進(jìn)行仿真
A = sim(net,P);
% 計(jì)算仿真誤差
E = T - A;
MSE=mse(E);
figure,
plot((1:5),T,'-*',(1:5),A,'-o');
錯(cuò)誤如下:
??? net.trainParam.lr = 0.001; 學(xué)習(xí)速率
|
Error: Missing variable or function.
![]()
360截圖20121225205218893.jpg
[ Last edited by westlifexp on 2012-12-26 at 18:26 ] |