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