همچنین تابع فعال سازی سیگموئید به صورت زیر است:
(۳-۱۱)
ساختار یک شبکه MLP سه لایه با چهار ورودی، یک لایهی پنهان و یک خروجی در نگارهی ۳-۱ نشان داده شده است.
شکل۳-۱:ساختار MLP
به منظور آموزش شبکه MLP، و دستیابی به پیش بینی مطلوب، باید شبکه را تحت پارامترهای مختلف که همان ویژگی های شبکه است مورد آموزش و یادگیری قرار داد. به عبارت دیگر با تغییر دادن این پارامترها، شبکه وزنهای خروجی متفاوتی خواهد داد که در نهایت وزنی که کمترین خطا را منجر شود، به عنوان وزن نهایی و پارامترهایی که موجب دستیابی به این وزن شدند به عنوان پارامترها و مشخصه های شبکه معرفی می شوند. این پارامترها به صورت زیر است:
تعداد لایه ها ی شبکه
استفاده از یک شبکه تک لایه نمیتواند پیش بینی خوبی برای ما در حل مسائل پیچیده غیر خطی ارائه کند (زیرا تابع فعالسازی آن خطی می باشد). در واقع تمام شبکه های عصبی با بیش از یک لایه، در بخشی از کار خود از توابع غیر خطی فعال ساز استفاده می کنند. استفاده از توابع غیرخطی فعال ساز باعث می شود که توانایی شبکه های عصبی در مدلکردن مسائل غیرخطی بروز نماید و جوابهای مطلوبی در خروجی به ما بدهند. این ویژگی با یک تابع فعال سازی غیر خطی مشتق پذیر و پیوسته اتفاق میافتد. بنابراین برای یک پیش بینی دقیق بایستی از شبکه های عصبی با بیش از یک لایه استفاده شود، که در لایه های میانی آن توابع غیرخطی وجود داشته باشد. البته توجه کرد که افزایش بیش از حد لایه های شبکه های عصبی (بیش از ۳ لایه ) نیز اصلاً توصیه نمی شود.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
تعداد نرون های هرلایه
مسئله بعدی تعیین تعداد نرونهای لایه های میانی و خروجی است. اگر هدف از استفاده از شبکه های عصبی پیش بینی باشد، در لایه خروجی بایستی یک نرون داشته باشیم. اما اگر به منظور طبقه بندی یا شناسایی الگو از شبکه های عصبی استفاده شود، میتوان در لایه خروجی از چند نرون استفاده کرد. در تعیین تعداد نرونهای لایه میانی نیز روشهای متعددی ارائه شده است که هیچ کدام از آنها عموما کلیت ندارد. اما بهترین روش برای تعیین تعداد نرون ها، روش آزمون و خطا می باشد. با افزایش تعداد نرونهای لایه پنهان از یک مقدار کوچک به مقادیر بزرگ، ابتدا مجموع خطا کاهش می یابد اما پس از رسیدن مقدار نرونها به اندازه معین این خطا دوباره افزایش می یابد. بدین روش می توان بهترین اندازه شبکه را انتخاب نمود.
نرخ یادگیری
نرخ یادگیری یکی از پارامترهای تعیین کننده در سرعت یادگیری شبکه های عصبی است و در کارائی یادگیری شبکه نقش مؤثری دارد. این نرخ در فاصلهی بین ۰ و ۱ اختیار می شود. عموماً نرخ یادگیری شبکه های عصبی به صورت تصادفی و آزمون و خطا بدست می آید. اما در اکثر کاربردهای عملی، این نرخ بین ۱/۰ و ۳/۰ اختیار می شود. نرخ یادگیری بالاتر باعث می شود شبکه سریعتر یادگیری کند اما وقتی که تنوع داده های ورودی زیاد باشد، شبکه به جای یادگیری حفظ خواهد کرد و کارائی شبکه پائین خواهد آمد.
تعداد تکرار
الگوریتم یادگیری وزنهای خروجی را پس از محاسبهی هر دسته خروجی تغییر میدهد و به اصطلاح به روز می کند. این الگوریتم به تکرار فرایند آموزش برای رسیدن به اوزان نیاز دارد. تعداد تکرار هر فرایند آموزش نیز از طریق آزمون و خطا بدست می آید. نقطهی بهینه تعداد تکرار، نقطه ای است که شبکه بهترین یادگیری را داشته باشد.
شتاب شبکه
پارامتر شتاب برای افزایش سرعت همگرایی شبکه استفاده می شود. به هر حال، اگر شتاب شبکه بیش از حد زیاد انتخاب شود، می تواند خطر دور شدن از هدف را افزایش دهد که می تواند باعث ناپایداری و عدم ثبات شبکه گردد. معمولاً ضریب شتاب پایین عملکرد بهتری در آموزش بهینه شبکه از خود نشان می دهد.
۳-۶-۳: الگوریتم ژنتیک
انسان ها همیشه با الهام از طبیعت دست به ساخت وسایل مورد نیاز و ارائه روشهایی زده اند که اکثرا در بین موارد مشابه خود بهترین بوده اند. طبیعت همواره بزرگترین و بهترین معلم انسان ها بوده است و الگوریتم ژنتیک یکی از روشهایی است که بشر از طبیعت الهام گرفته و در جهت نیل به اهداف خود از آن بهره برده است. الگوریتم ژنتیک یک روش بهینه سازی عددی است که برپایه اصول تکامل داروین بوده و در آن از ژنتیک طبیعی الهام گرفته شده است. این روش یکی از روشهای مجموعه الگوریتم های تکاملی است.
در طبیعت افراد یک جامعه برای دستیابی به منابعی از قبیل غذا، آب و سرپناه با یکدیگر رقابت می کنند. در این بین افرادی که به منابع بیشتری دست یابند، امکان بیشتری جهت بقا، نسبت به سایر افراد برای خود ایجاد کرده اند و با تولید نسل بیشتر نسبت به افراد ضعیف، نمایندگان بیشتری نسبت به سایر افراد در نسلهای بعدی خواهند داشت. دسترسی به منابع بیشتر بیانگر توانایی بیشتر این افرد نسبت به سایرین در سازگاری با شرایط محیط زندگی میباشد.
الگوریتم ژنتیک با الهام از تئوری تکامل و اصول ژنتیک و وراثت به جستجوی راه حل مناسب برای مسائل می پردازد(گلدبرگ[۱۰۸]،۱۹۸۹). بدین منظور ابتدا چندین پاسخ تصادفی برای مسئله مورد نظر تولید شده و در مراحل بعدی این پاسخهای ابتدایی با بهره گرفتن از اصول ژنتیک به تکامل رسیده و به پاسخ مناسب تبدیل می شوند.
در ادامه مراحل الگوریتم ژنتیک شرح داده می شود(هوبت[۱۰۹]،۱۹۸۰)
-
- تولید نسل اول:
تولید پاسخ تصادفی برای مسئله، که هر یک از این پاسخ ها در قالب یک کروموزوم بصورت مناسبی کد می شوند.
-
- ارزش گذاری:
تابع معیار با توجه به میزان موفقیت هر کروموزوم در حل مسئله ارزش آنها را معین می کند. به بهترین کروموزوم هر نسل کروموزوم نخبه[۱۱۰] گفته می شود.
-
- کروموزم ها بر حسب تابع معیار به صورت نزولی مرتب شده و فقط X % از کروموزوم ها حفظ شده و بقیه به دور ریخته می شوند. احتمال حفظ هر کروموزوم با میزان شایستگی آن می باشد به نحوی که کروموزوم هایی که ارزش بیشتری داشته باشند، احتمال بیشتری برای بقا دارند. برای جایگزینی کروموزوم های دور ریخته شده، کروموزوم های باقیمانده بصورت دوبدو به عنوان والدین انتخاب می شوند تا کروموزوم های فرزند را تولید کنند. برای انتخاب والدین روش های متفاوتی وجود دارد. در این پژوهش از روش Tournament Selection استفاده شده است. در این روش ابتدا مجموعه کوچکی از کروموزوم ها به صورت تصادفی انتخاب شده و سپس از بین این کروموزوم ها ، دو کروموزومی که دارای ارزش بیشتری هستند به عنوان والدین انتخاب می شوند.
-
- تبادل ژنتیکی[۱۱۱]:
کروموزوم های والدین با مبادله کردن ژن های خود کروموزوم های فرزند راایجاد می کنند. برای مبادله ژن ها روش های مختلفی وجود دارد. در این پژوهش از روش Two Point Crossover استفاده شده است. در این روش که در نگاره ۳-۲ قابل مشاهده است دو مکان از کروموزوم های والدین انتخاب می شود. در این حالت برای تشکیل کروموزوم فرزند، رشته های ژن از آغاز تا اولین مکان تعیین شده از یک والد، رشته های ژن بین دو مکان تعیین شده، از والد دوم و بقیه ژن ها از والد اولی کپی می شوند.
کروموزوم والد۱
کروموزوم والد۲
کروموزوم فرزند
Two Point Crossover شکل۳-۲:
-
- جهش[۱۱۲]:
تعدادی از ژن های کروموزوم های نسل جدید[۱۱۳] به غیر از کروموزوم نخبه به صورت تصادفی انتخاب شده و مقادیر آنها تغییر داده می شود. بدین وسیله می توان به کروموزوم های کاملاً جدید دست یافت.
-
- بازگشت به مرحله ۲ و تکرار مراحل تا زمانی که شرایط توقف که عبارتند از همگرایی الگوریتم و عدم تغییر بهترین کروموزوم برای تعداد نسل های از پیش تعریف شده و تکمیل شدن تعداد نسل های از پیش تعریف شده فراهم گردد. ساختار الگوریتم ژنتیک بصورت نگاره ۳-۳ می باشد.
تعیین تابع معیار، نوع کروموزوم ها، پارامترها و عملگرهای الگوریتم ژنتیک
تولید نسل اول
[سه شنبه 1401-04-14] [ 03:53:00 ب.ظ ]
|