منابع و ماخذ پایان نامه داده های ورودی، استان اصفهان، مقدار خطا

دانلود پایان نامه ارشد

براي آزمون شبکه (tst) جدا شود.
iival = 4:4:Q
مفهوم: از تمام رکوردهاي موجود در نمونه از سطر چهارم تا انتها با گام چهارتايي براي برآورد ارزش شبکه (val) جدا شود.
iitr = [1:4:Q 3:4:Q]
مفهوم: از تمام رکوردهاي موجود در نمونه از سطراول و سوم تا انتها با گام چهارتايي براي آموزش شبکه (tr) جدا شود.

3-3-5 ساختن شبکه
پس از انجام کلية مراحل بالا، شبکهاي بايد ساخته شود تا با دادههاي موجود، آموزش، آزمون و برآورد ارزش گرديده و سپس اين شبکه براي شبيهسازي مورد استفاده قرار گيرد.
مي‌توان شبکه موردنظر را بادستور و مؤلفههاي موصوف زير ساخت:
Net = Newff (Minmax (ptr), [11 1], {‘tansig’, ‘purelin’}, ‘trainlim’)
Net= دستور ساختن شبکه را داده است.
Newff = ساختن يک شبکه پيشخور پس انتشار خطا (bpff)
Minmax= به معني ماتريسي متشکل از کمينه و بيشينه بردار ورودي بوده است.
Ptr = دادههاي آموزشي ورودي بوده است.
[11 1] = به ترتيب تعداد نرونها در لايه خروجي و پنهان بوده است.

هر ورودي قبل از اينکه وارد هسته اصلي عنصر پردازشگر شود، وزندار گرديده است. پس از وارد شدن به هسته اصلي عنصر پردازشگر در يک وزن اوليه (w) که مقدار آن به طور معادل بين 5/0± در نظر گرفته شده و در يک مقدار اريب ضرب شده، سپس مجموع آنها در يک تابع انتقالي ضرب گرديده‌اند. معمولاً تابع انتقالي در نظر گرفته شده براي لايههاي ورودي و مخفي (پنهان) از نوع tansig و براي لايه خروجي از نوع purelin است و تابع آموزشي شبکه از نوع trainlim بوده است.
Tansig= تابع انتقال لاية ورودي، يک تابع محاسباتي است که لايههاي خروجي را از روي ورودي شبکه محاسبه کرده است. اين تابع به تانژانت هيپربوليک نيز مشهور است. الگوريتم tansig بصورت زير است:

Tansig= تابع انتقال لايه پنهان (مخفي).
Purelin= تابع انتقال لاية خروجي، در واقع يک تابع انتقال خطي است که لايههاي خروجي را از روي ورودي شبکه محاسبه ميکند.
Tarinlim= تابع آموزشي شبکه bp (شبکه پيش‌خور پس انتشار خطا) بوده که مقادير وزنها و مقادير اريب شبکه را بر طبق روش ليوينبرگ- مارکواردت137 بهينهسازي کرده است.
[net, tr] = train (net, ptr, ttr, [ ], [ ], val, tst)
[net, tr] = اين دستور شبکه ساخته را آموزش داده است.
Ptr = ورودي شبکه (داده‌هاي آموزشي ورودي)
ttr= هدف شبکه با پيش فرض صفر
[ ] = شرايط تأخير ورودي و لاية آغازين با پيش فرض صفر
Val= ساختار بردار اعتبار سنجي شبکه با پيش فرض [ ]
tst= ساختار بردار آزمون شبکه با پيش فرض [ ]
جهت نمايش پيش‌بيني شبکه بصورت نمودار از دستور زير استفاده شده است:
plot ( tr. Epoch, tr.pref, tr. Epoch, tr.pref) pref
دستور زير گفته است نموداري رسم شود که در آن متغيرها هر کدام بر حسب قبلي رسم شده باشد.
legend (traninig, validation, test, -1)
دستور زير براي قرار دادن فهرست و اسم خطوط در کنار يا درون صفحه‌اي که نمودار آن رسم شده بکار برده شده است.
Ylable (square err); Xlable (epoch)
اين دستور نوع متغيرهاي مورد نظر را روي بردار X و Y مشخص کرده است. روي بردار X متغير epoch و روي بردار Y مربع خطا (square err) رسم شده است. براي آناليز پاسخ شبکه روي مجموع داده‌هاي شبکه دستور زير نوشته شده تا يک رگرسيون خطي بين خروجيهاي شبکه و پاسخ هدف متناظر با آن را دهد، در واقع نشان دهنده اين است که دادهها چقدر همگرا شدهاند.
دستور زير شبکه را با يک ورودي شبيهسازي کرده و يک خروجي داده است.
an = sim (net, ptrans)
پس از شبيهسازي بايستي دادهها را از حالت نرماليزه خارج کرده که اين کار با دستور poststd صورت گرفته است.
a = poststd (an, meant, std)
[m,b,r] = postreg(a2,t)
دستور بالا يک رگرسيون خطي را بين پاسخ شبکه و پاسخ هدف انجام داده که در آن:
m = شيب خط رگرسيون
b = عرض از مبدأ
r = ارزش همبستگي رگرسيون (r=1 يعني همبستگي خيلي خوب)
a = پاسخ شبکه
t = بردار هدف
با توجه به استفاده از version7.4 نرم‌افزار Matlab و قابليتهاي بيشتر آن نسبت به نسخه‌هاي قبلي در برنامه اصلي مربوط به پروژه حاضر که در ادامه آورده خواهد شد، از دستور mapstd جهت نرماليزه کردن داده‌ها استفاده شده است.
پس از تعيين همگرايي شبکه، يک شبيه‌سازي مانند شبيهسازي قبلي براي دادههايي که قرار است پيش‌بيني روي آنها انجام شود صورت گرفته است. دستور اين شبيهسازي مانند دستور قبلي است با اين تفاوت که در دستور آخر به جاي a و t به ترتيب دو ماتريس s و R را قرار داده شده است.
براي آناليز پاسخ شبکه روي مجموع دادهها در شبکه، عملياتي را انجام داده شد که يک رگرسيون خطي بين خروجيهاي شبکه و پاسخ هدف متناظر با آنرا بدهد. در واقع نشان داده شده که دادههاي پيش‌بيني با مقادير واقعي چقدر همگرا شدهاند. براي اين کار شبکه با يک ورودي شبيهسازي شده و يک خروجي حاصل شده است. پس از شبيهسازي، دادهها بايستي از حالت نرماليزه خارج شده، که اين کار با عکس عمل نرماليزه کردن صورت گرفته شده است. و در آخر يک رگرسيون خطي بين پاسخ شبکه و بين پاسخ هدف بدست آورده شده است.
پس از تعيين همگرايي شبکه، يک شبيهسازي براي دادههايي که قرار است پيشبيني بر روي آنها انجام شود صورت گرفته و دادههاي پيش‌بيني شده حاصل به صفحه گسترده Excel منتقل گرديده است.

3-3-6 برنامه مربوط به شبکه عصبي مصنوعي
load ‘data.mat’
[pn,ps1] = mapstd(p);
[ptrans,ps2] = processpca(pn,0.001);
[tn,ts] = mapstd(t);
[R,Q] = size(ptrans);
iitst = 2:4:Q;
iival = 4:4:Q;
iitr = [1:4:Q 3:4:Q ];
val.P = ptrans(:,iival); val.T = tn(:,iival)
test.P = ptrans(:,iitst); test.T = tn(:,iitst)
ptr = ptrans(:,iitr); ttr = tn(:,iitr);
net=newff(minmax(ptr),[25 1],{‘tansig’,’purelin’},’trainlm’);
net.trainParam.show = 5;
net.trainParam.epochs = 3000;
net.trainParam.goal = 1e-6;
[net,tr]=train(net,ptr,ttr,[],[],val,test);
figure(2)
an = sim(net,ptrans);
a2 = mapstd(‘reverse’,an,ts);
[m,b,r] = postreg(a2,t)

3-3-7 آزمون حساسيت سنجي
فرآيند آناليز حساسيت، ميزان حساسيت مدل را نسبت به متغيرهاي ورودي آن نشان ميدهد. در اين تحقيق براي انجام آناليز حساسيت مدل از روش Statsoft استفاده گرديده است. در اين روش مقادير ضريب حساسيت متغيرهاي ورودي از تقسيم نمودن خطاي کل شبکه در غياب يک متغير بر خطاي کل شبکه در حضور تمامي متغيرهاي ورودي، بدست آمده است. بر اين اساس اگر مقدار ضريب حساسيت يک متغير بيشتر از يک باشد، آن متغير سهم زيادي در توزيع تغييرپذيري مؤلفههاي عملکرد داشته و حذف آن باعث بالارفتن ميزان خطاي شبيهسازي ميگردد و چنانچه مقدار ضريب حساسيت متغيري کمتر از يک باشد، آن متغير تأثير و نقش کمتري در مدل ايفا مينمايد [163].

3-4 بهينه‌سازي با الگوريتم ژنتيک
براي بهينه‌سازي مدل شبکه عصبي مصنوعي از ابزار 138GATool استفاده شده است. ابتدا پس از آنکه تابع هدف و قيود با استفاده از شبکه عصبي مصنوعي مدل شده، آنها از محيط NNTool به فضاي کاري139 نرم افزار Matlab فرستاده شده و سپس در يک فايل Matlab با پسوند .matذخيره کرده، با استفاده از m-file توابع مذکور را فراخواني کرده و سپس با تعيين شروط مناسب و کافي بر روي توابع در جهت رسيدن به دقيقترين پاسخ، کار ادامه داده شده است. در ادامه با استفاده از ابزار الگوريتم ژنتيک در Matlab با نام gatool، فرآيند بهينهسازي انتخاب شده است در پنجره بازشده، m-file ذخيره شده را فراخوني کرده و به عنوان تابع بهينه هدف140 به آن ارجاع گرديده است. تعداد متغيرهاي ورودي، 11 عدد (پارامترهاي کيفي آب)، تعداد جمعيت141 50 عدد و تعداد نسلها 100 عدد در نظر گرفته شده است. برنامه مربوط به تنظيمات و نتايج حاصل در ادامه آورده شده است.

%% This is an auto generated M file to do optimization with the Genetic Algorithm and
% Direct Search Toolbox. Use GAOPTIMSET for default GA options structure.

%%Fitness function
fitnessFunction = @me;
%%Number of Variables
nvars = 11;
%Linear inequality constraints
Aineq = [];
Bineq = [];
%Linear equality constraints
Aeq = [];
Beq = [];
%Bounds
LB = [];
UB = [];
%Nonlinear constraints
nonlconFunction = [];
%Start with default options
options = gaoptimset;
%%Modify some parameters
options = gaoptimset(options,’PopInitRange’،[ 0 0 0 0 0 0 0 0 0 0 ; 1 1 1 1 1 1 1 1 1 1 ]);
options = gaoptimset(options,’PopulationSize’،50);
options = gaoptimset(options,’EliteCount’،5 );
options = gaoptimset(options,’StallGenLimit’،100);
options = gaoptimset(options,’StallTimeLimit’،Inf);
options = gaoptimset(options,’MutationFcn’،{ @mutationuniform 0.11881 });
options = gaoptimset(options,’Display’،’off’);
options = gaoptimset(options,’PlotFcns’،{ @gaplotbestf @gaplotbestindiv });
%%Run GA
[X,FVAL,REASON,OUTPUT,POPULATION,SCORES] = ga(fitnessFunction,nvars,Aineq,Bineq,Aeq,Beq,LB,UB,nonlconFunction,options);

4-1 نتايج مربوط به برنامه شبکه عصبي مصنوعي
4-2 حساسيت مدل نسبت به پارامترهاي ورودي (آزمون حساسيت سنجي)
4-3 نتايج مربوط به بهينه‌سازي با الگوريتم ژنتيک
4-4 مقدار نيترات در آبهاي زيرزميني مناطق مختلف در سطح استان اصفهان در سالهاي 1379 و1380
4-5 بررسي آلودگي نيترات در مناطق کشاورزي, شهري و صنعتي مناطق مختلف در سالهاي 1379 و 1380
4-6 بررسي آلودگي نيترات در چاه‌هاي آب شرب منطقه مورد مطالعه در سال 1379 و 1380
4-7 بررسي نقشه‌هاي هم‌نيترات مناطق مورد مطالعه در مراحل زماني مختلف طي سالهاي 1379 و 1380 و 1386 و 1387

4-1 نتايج مربوط به برنامه شبکه عصبي مصنوعي
براي تهيه مدل شبکه عصبي از مقادير نيترات اندازهگيري شده به عنوان تابع هدف و مقادير کيفي نمونههاي آب اندازهگيري شده (شامل کلر, بي‌کربنات, سديم, پتاسيم, کلسيم, منيزيم, سولفات, هدايت الکتريکي، سختي کل، نسبت جذبي سديم و PH) به عنوان توابع ورودي استفاده گرديده است و با استفاده از ابزار NNtool نرم افزار Matlab و بهرهگيري از شبکه پرسپترون سه لايه (يک لايه ورودی با 11 نرون, يک لايه پنهان با تعداد نرون 1 تا 23 و يک لايه خروجی با 1 نرون که همان مقادير نيترات است) قاعده آموزشي انتشار به عقب (BP) و تابع فعاليت سيگموئيد براي فرآيند آموزش, براي دستيابي به بهترين مدل با خطاي حداقل, چندين بار برنامه اجرا شده است. 60 درصد داده های ورودی (داده های 105 حلقه چاه) برای آموزش, 20 درصد داده های ورودی (داده های 35 حلقه چاه) برای ارزيابی و 20 درصد داده های ورودی (داده های 35 حلقه چاه) برای آزمون به صورت کاملاً تصادفی توسط نرم افزار انتخاب گرديده شده است. در نهايت شبکهاي با يک لايه پنهان و ۱۹ نرون در اين لايه، کمترين مقدار خطا را در روند آموزش شبکه، ارزيابي و اعتبارسنجي ايجاد نموده است. بهترين اعتبار سنجي در گام 3 آموزش (epoch 3) و MSE (ميانگين مربعات خطا) برابر مقدار 020979/0 حاصل گرديده (شکل 4-1) و مقدار ضريب همبستگي مدل (R)، 89/0 بدست آمده است.

شکل 4-1 نتيجه آموزش شبکه در حالت استفاده از داده های ورودی نرمال شده

برای مقايسه ميزان خطای شبيه سازی,

پایان نامه
Previous Entries منابع و ماخذ پایان نامه ورودي، اندازه‌گيري، Matlab، دادههاي Next Entries منابع مقاله با موضوع آموزش الکترونیک، آموزش الکترونیکی، آزمون فرضیه، رسانه های آموزشی