Stdt = دستوری که sd (انحراف از میانگین) ماتریس t را برابر یک قرار داده است.
prestd (p,t) = دستور استاندارد کردن ماتریس ورودی و خروجی (کل دادهها)
سپس با بهره گرفتن از یک عملگر رگرسیون خطی، هر یک از متغیرها را مستقل خطی نموده (هنگامی که یکی از ستونهای ماتریس، حاصلضرب ستون دیگری از همان ماتریس در یک عدد یا ستون دیگر باشد، گفته شده که ستونهای ماتریس وابستگی خطی دارند).
در برخی مواقع ابعاد ماتریس ورودی خیلی بزرگ است و مؤلفه های بردار ماتریس ورودی با یکدیگر همبستگی بالایی دارند (تکراری بودهاند) و ممکن است همه مؤلفه های ورودی تأثیر زیادی بر مؤلفه پاسخ نداشته باشند. در چنین مواقعی برای کاهش ابعاد ماتریس ورودی و تنها استفاده از مؤلفه های مؤثر بر مؤلفه پاسخ، عمل آنالیز میزان اثر هر کدام از مؤلفه ها انجام شده و مؤلفه هایی که اثرشان از سطح معینی کمتر است و یا وابستگی خطی با هم دارند، بوسیله آنالیز مؤلفه های اصلی از دسته ماتریسهای ورودی حذف شده و به این منظور از دستور propca استفاده گردیده است. این روش دارای سه اثر بوده است:
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
۱) عناصر بردار ورودی را اورتوگونال کرده است (همبستگی بین آنها را از بین برده است).
۲) منجر به متعامد شدن مؤلفه های بنیادی در بردار ورودی گردیده است (استحکام در بردار ورودی).
۳) مؤلفه هایی را که اثرشان واریانس کوچکی را در دسته دادهها شامل شده از معادله حذف کرده است.
[ptrans, transmit] = propca (pn, 0.001)
Ptrans = ماتریس ورودی pca شده.
transmit = ماتریس خروجی pca شده.
propca = دستور حذف مولفههای تکراری از ماتریس ورودی و حذف مولفههای با واریانس کوچک ۰.۰۰۱ = مؤلفه هایی را که اثرشان، واریانس کوچکتر از ۰۰۱/۰ در دسته داده های ورودی را شامل شده از ماتریس ورودی حذف کرده است.
۳-۳-۳ تفکیک ماتریس پیشبینی از ماتریس کل
به منظور انجام پیشبینی، یک دسته ماتریس مربوط به رکوردهای موجود را بصورت تصادفی از بین کل داده های ورودی و متناظر آن در داده های خروجی، جدا نموده و جهت اطمینان از اینکه این داده ها در مجموع دادههایی که برای آموزش و آزمون و برآورد ارزش شبکه بهکار رفتهاند، وجود داشته باشند، مقادیر معادل آنها برابر تهی قرار داده شده است.
S = ptrans (, row column)
R= tn (, row : column)
ptrans (, row : column) = [ ]
tn (, row : column) = [ ]
بعد از این مرحله به جهت ساختن شبکه، نیاز داشته ابعاد ماتریس ورودی را مشخص ساخته که بدین منظور از دستور زیر در Matlab استفاده شده است:
[R, Q] = Size (Ptrans)
۳-۳-۴ تفکیک داده ها برای ارائه به ماتریس ورودی
از کل داده های موجود، تعدادی برای آموزش شبکه و تعدادی مربوط به آزمون و رکورد شبکه و تعدادی نیز برای برآورد ارزش شبکه، مورد استفاده قرار گرفته شده است.
iitst = 2:4:Q
مفهوم: از تمام رکوردهای موجود در نمونه از سطر دوم تا انتها با گام چهارتایی برای آزمون شبکه (tst) جدا شود.
iival = 4:4:Q
مفهوم: از تمام رکوردهای موجود در نمونه از سطر چهارم تا انتها با گام چهارتایی برای برآورد ارزش شبکه (val) جدا شود.
iitr = [1:4:Q 3:4:Q]
مفهوم: از تمام رکوردهای موجود در نمونه از سطراول و سوم تا انتها با گام چهارتایی برای آموزش شبکه (tr) جدا شود.
۳-۳-۵ ساختن شبکه
پس از انجام کلیه مراحل بالا، شبکه ای باید ساخته شود تا با داده های موجود، آموزش، آزمون و برآورد ارزش گردیده و سپس این شبکه برای شبیهسازی مورد استفاده قرار گیرد.
میتوان شبکه موردنظر را بادستور و مؤلفه های موصوف زیر ساخت:
Net = Newff (Minmax (ptr), , {’tansig’, ‘purelin’}, ‘trainlim’)
Net= دستور ساختن شبکه را داده است.
Newff = ساختن یک شبکه پیشخور پس انتشار خطا (bpff)
Minmax= به معنی ماتریسی متشکل از کمینه و بیشینه بردار ورودی بوده است.
Ptr = داده های آموزشی ورودی بوده است.
[۱۱ ۱] = به ترتیب تعداد نرونها در لایه خروجی و پنهان بوده است.
هر ورودی قبل از اینکه وارد هسته اصلی عنصر پردازشگر شود، وزندار گردیده است. پس از وارد شدن به هسته اصلی عنصر پردازشگر در یک وزن اولیه (w) که مقدار آن به طور معادل بین ۵/۰± در نظر گرفته شده و در یک مقدار اریب ضرب شده، سپس مجموع آنها در یک تابع انتقالی ضرب گردیدهاند. معمولاً تابع انتقالی در نظر گرفته شده برای لایه های ورودی و مخفی (پنهان) از نوع tansig و برای لایه خروجی از نوع purelin است و تابع آموزشی شبکه از نوع trainlim بوده است.
Tansig= تابع انتقال لایه ورودی، یک تابع محاسباتی است که لایه های خروجی را از روی ورودی شبکه محاسبه کرده است. این تابع به تانژانت هیپربولیک نیز مشهور است. الگوریتم tansig بصورت زیر است:
Tansig= تابع انتقال لایه پنهان (مخفی).
Purelin= تابع انتقال لایه خروجی، در واقع یک تابع انتقال خطی است که لایه های خروجی را از روی ورودی شبکه محاسبه می کند.
Tarinlim= تابع آموزشی شبکه bp (شبکه پیشخور پس انتشار خطا) بوده که مقادیر وزنها و مقادیر اریب شبکه را بر طبق روش لیوینبرگ- مارکواردت[۱۳۷] بهینهسازی کرده است.
[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)