همچنین تابع فعال سازی سیگموئید به صورت زیر است:

(۳-۱۱)
ساختار یک شبکه­ MLP سه لایه با چهار ورودی، یک لایه­ی پنهان و یک خروجی در نگاره­ی ۳-۱ نشان داده شده است.
شکل­۳-۱:ساختار MLP
به منظور آموزش شبکه­ MLP، و دستیابی به پیش بینی مطلوب، باید شبکه را تحت پارامترهای مختلف که همان ویژگی های شبکه است مورد آموزش و یادگیری قرار داد. به عبارت دیگر با تغییر دادن این پارامترها، شبکه وزن­های خروجی متفاوتی خواهد داد که در نهایت وزنی که کمترین خطا را منجر شود، به عنوان وزن نهایی و پارامترهایی که موجب دستیابی به این وزن شدند به عنوان پارامترها و مشخصه های شبکه معرفی می شوند. این پارامترها به صورت زیر است:
تعداد لایه ها ی شبکه
استفاده از یک شبکه تک لایه نمی­تواند پیش بینی خوبی برای ما در حل مسائل پیچیده غیر خطی ارائه کند (زیرا تابع فعال­سازی آن خطی می باشد). در واقع تمام شبکه های عصبی با بیش از یک لایه، در بخشی از کار خود از توابع غیر خطی فعال ساز استفاده می­ کنند. استفاده از توابع غیر­خطی فعال ساز باعث می­ شود که توانایی شبکه ­های عصبی در مدل­کردن مسائل غیرخطی بروز نماید و جواب­های مطلوبی در خروجی به ما بدهند. این ویژگی با یک تابع فعال سازی غیر خطی مشتق پذیر و پیوسته اتفاق می­افتد. بنابراین برای یک پیش بینی دقیق بایستی از شبکه های عصبی با بیش از یک لایه استفاده شود، که در لایه­ های میانی آن توابع غیر­خطی وجود داشته باشد. البته توجه کرد که افزایش بیش از حد لایه­ های شبکه ­های عصبی (بیش از ۳ لایه ) نیز اصلاً توصیه نمی شود.

(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))

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

    1. تولید نسل اول:

تولید پاسخ تصادفی برای مسئله، که هر یک از این پاسخ ها در قالب یک کروموزوم بصورت مناسبی کد می شوند.

    1. ارزش گذاری:

تابع معیار با توجه به میزان موفقیت هر کروموزوم در حل مسئله ارزش آنها را معین می­ کند. به بهترین کروموزوم هر نسل کروموزوم نخبه[۱۱۰] گفته می شود.

    1. کروموزم ها بر حسب تابع معیار به صورت نزولی مرتب شده و فقط X % از کروموزوم ها حفظ شده و بقیه به دور ریخته می شوند. احتمال حفظ هر کروموزوم با میزان شایستگی آن می باشد به نحوی که کروموزوم هایی که ارزش بیشتری داشته باشند، احتمال بیشتری برای بقا دارند. برای جایگزینی کروموزوم های دور ریخته شده، کروموزوم های باقیمانده بصورت دوبدو به عنوان والدین انتخاب می شوند تا کروموزوم های فرزند را تولید کنند. برای انتخاب والدین روش های متفاوتی وجود دارد. در این پژوهش از روش Tournament Selection استفاده شده است. در این روش ابتدا مجموعه کوچکی از کروموزوم ها به صورت تصادفی انتخاب شده و سپس از بین این کروموزوم ها ، دو کروموزومی که دارای ارزش بیشتری هستند به عنوان والدین انتخاب می شوند.
    1. تبادل ژنتیکی[۱۱۱]:

کروموزوم های والدین با مبادله کردن ژن های خود کروموزوم های فرزند راایجاد می کنند. برای مبادله ژن ها روش های مختلفی وجود دارد. در این پژوهش از روش Two Point Crossover استفاده شده است. در این روش که در نگاره ۳-۲ قابل مشاهده است دو مکان از کروموزوم های والدین انتخاب می شود. در این حالت برای تشکیل کروموزوم فرزند، رشته های ژن از آغاز تا اولین مکان تعیین شده از یک والد، رشته های ژن بین دو مکان تعیین شده، از والد دوم و بقیه ژن ها از والد اولی کپی می شوند.

کروموزوم والد۱
کروموزوم والد۲
کروموزوم فرزند

Two Point Crossover شکل۳-۲:

    1. جهش[۱۱۲]:

تعدادی از ژن های کروموزوم های نسل جدید[۱۱۳] به غیر از کروموزوم نخبه به صورت تصادفی انتخاب شده و مقادیر آنها تغییر داده می شود. بدین وسیله می توان به کروموزوم های کاملاً جدید دست یافت.

    1. بازگشت به مرحله ۲ و تکرار مراحل تا زمانی که شرایط توقف که عبارتند از همگرایی الگوریتم و عدم تغییر بهترین کروموزوم برای تعداد نسل های از پیش تعریف شده و تکمیل شدن تعداد نسل های از پیش تعریف شده فراهم گردد. ساختار الگوریتم ژنتیک بصورت نگاره ۳-۳ می باشد.

تعیین تابع معیار، نوع کروموزوم ها، پارامترها و عملگرهای الگوریتم ژنتیک
تولید نسل اول

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...