نمايش پست تنها
قديمي ۰۴-۲۸-۱۳۹۰, ۰۹:۲۸ بعد از ظهر   #1 (لینک دائم)
hasan.gh Male
عضو جدید
 
آواتار hasan.gh
 
تاريخ عضويت: تير ۱۳۹۰
پست ها: 2
تشكرها: 0
0 تشكر در 0 پست
پيش فرض مشکل در برنامه نویسی شبکه عصبی با الگوریتم آموزشی lm


برنامه زیر برای پیش بینی آلاینده های موتور نوشتم ولی موقع ران خطای زیر را نشان میدهد اونم وقتی که val,test تو دستور trainباشد(دستوری که با خط قرمز نوشته شده است رو اون خطا نشان میده) خطای زیر را را نشان میدهد. خیلی هم تلاش کردم نتونستم به جایی برسم وخطای نشان داده شده را قبل برنامه گذاشتم از مهندسین عزیز کسی در این مورد کمکم کنه ممنون میشم خیلی مخلصیم

كد:
??? Error using ==> v51_train_arg6 at 11
كد:
VV.P must be defined or VV must be [].

Error in ==> network.train at 133
  case 6, [net,tr,Y,E,Xf,Af] =
  v51_train_arg6(net,X,T,Xi,Ai,arg6); return

Error in ==> ANNs at 31
[net,tr]=train(net,ptrn,ttrn,[],[],val);%,test
); >>
كد:
clear
echo on
%8888888888888888888888888888888888
load('D:\data engine\input.txt');
p=input;
load('D:\data engine\outputemission.txt');
t=outputemission;
%===========================================
%[pn,meanp,stdp,tn,meant,stdt] = prestd(p,t);
%[ptrans,transMat] = prepca(p,0.001);
%[R,Q] = size(ptrans);
%R=3;
%Q=32;
iitst = 2 : 4 : 32;
iival = 4 : 4 : 32;
iitr = [1 : 4 : 32 3 : 4 : 32];
val.p = p(:,iival); val.t = t(:,iival);
test.p = p(:,iitst); test.t = t(:,iitst);
ptr = p(:,iitr); ttr = t(:,iitr);
[ptrn,minp,maxp,ttrn,mint,maxt]=premnmx(ptr,ttr); %normalizes 
[val.pn,minp,maxp,val.tn,mint,maxt]=premnmx(val.p,val.t);
[test.pn,minp,maxp,test.tn,mint,maxt]=premnmx(test.p,test.t);  %normalizes
net = newff(minmax(ptrn),[10 6 5],{'tansig' 'tansig' 'purelin'},'traingdx');
net.trainParam.epochs=10000;
net.trainParam.show=50;
net.trainParam.lr=0.3;
net.trainParam.mc=0.3
net.trainParam.goal=.001;
net.performFcn='mse';
[net,tr]=train(net,ptrn,ttrn,[],[],val);%,test);
plot(tr.epoch,tr.perf,tr.epoch,tr.vperf,tr.epoch,tr.tperf)
legend('Training','Validation','Test',-1);
ylabel('Squared Error'); xlabel('Epoch')
an = sim(net,test.pn);
a = postmnmx(an,mint,maxt);
[m,b,r]=postreg(a,test.t);
for i=1 : 1 : 5
figure(i)
[m(i),b(i),r(i)] = postreg(a(i, : ),test.t(i, : ));
end
m,b,r
err = 100*abs(test.t - a)./test.t;
me = mean(mean(err));
hasan.gh آفلاين است   پاسخ با نقل قول

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online