آیا کدهای عصبی من مناسبه؟
با عرض سلام خدمت دوستان عزیز
قصد ساخت یک شبکه عصبی دارم که قادر به پیش بینی باشه. 3 پارامتر ورودی دارم و یک خروجی، کلاً 305 دسته داده دارم میخوام 25% تست و مابقی رو برای آموزش بکار ببرم.
آیا دستور NEWFF که با خوندن راهنمای متلب بهش رسیدم مناسبه؟
ابتدا داده هامو با استفاده از رابطه زیر در بازه [1,1-] نرمالزه کردم.
minp = min(p) ; maxp = max(p); pn = (p - minp)/(maxp - minp) * 2 - 1;
mint = min(t) ; maxt = max(t); tn = (t - mint)/(maxt - mint) * 2 - 1;
در مرحله بعد از بردارهای pn و tn نرمالیزه، دو دسته داده 76 تایی (25% از 305 کل) برای آموزش و تست جدا کردم، pnew و tnew نامیدم.
در ادامه کارم، معماری، آموزش و تست مدل به شکل زیر انجام شد.
net=newff(minmax(pn),[5 5 1],{'tansig' 'tansig' 'purelin'},'trainscg','learngdm','mse');
[W,b]=initp(pn,tn)
net.inputweights{1,1}.initFcn='rands';
net.biases{1}.initFcn='rands';
net=init(net);
net.trainParam.epochs=2000;
net.trainParam.show=50;
net.trainParam.goal=1e-4;
net1=train(net,pn,tn);
a=sim(net1,pnew);
[m,b,r]=postreg(a,tnew)
از دستورهای بالا استفاده کردم، اما رگرسیون تست شبکه خیلی پایین در میاد (0.5>R)
ممنون میشم کمکم کنید و نظرتون را بگید
با تشکر
|