(۳-۴)
(۳-۵)
= مقدار خروجی مطلوب
=مقدار خروجی به دست آمده
=نرخ یادگیری (پارامتر تنظیم سرعت یادگیری شبکه می باشد)
= وزن مربوطه
=ورودی به نرون وخروجی از نرون
اثبات این قانون از روش تندترین فرود میباشد که بیان میکند با حرکتهای پی در پی خلاف جهت بردار گرادیان خطا میتوان به نقطه حداقل خطا رسید. این ادعا را نیز می توان با بهره گرفتن از بسط تیلور تایید کرد (هیکین،۱۹۹۹). در این شیوه وزنها به وسیله یک مقدار با مشتق (گرادیان) اول خطای بین خروجی مطلوب و خروجی واقعی و با توجه به مقدار وزنها تعدیل مییابد. در این روش هدف کاهش تابع خطا و رسیدن به حداقل مطلق است .
(۳-۶)
(۳-۷)
(۳-۸)
(۳-۹)
= ورودی به نرون وخروجی از نرون در لایه ماقبل آخر
= بردار گرادیان محلی در لایه آخر
فرایند یادگیری و محاسبات در نرون ها و لایه های پنهان، با بهره گرفتن از معادلهی ورودی-خروجی زیر صورت می گیرد:
(۳-۱۰)
جائیکه وزن ارتباطی بین نرون iام در لایهی (۱-k) و نرون pام در لایهی kام؛ خروجی نرون pام در لایهی kام و تابع فعال سازی سیگموئید نرون pام در لایهی kام است.
همچنین تابع فعال سازی سیگموئید به صورت زیر است:
(۳-۱۱)
ساختار یک شبکهی MLP سه لایه با چهار ورودی، یک لایهی پنهان و یک خروجی در نگارهی ۳-۱ نشان داده شده است.
شکل۳-۱:ساختار MLP
به منظور آموزش شبکهی MLP، و دستیابی به پیش بینی مطلوب، باید شبکه را تحت پارامترهای مختلف که همان ویژگی های شبکه است مورد آموزش و یادگیری قرار داد. به عبارت دیگر با تغییر دادن این پارامترها، شبکه وزنهای خروجی متفاوتی خواهد داد که در نهایت وزنی که کمترین خطا را منجر شود، به عنوان وزن نهایی و پارامترهایی که موجب دستیابی به این وزن شدند به عنوان پارامترها و مشخصه های شبکه معرفی می شوند. این پارامترها به صورت زیر است:
تعداد لایه ها ی شبکه
استفاده از یک شبکه تک لایه نمیتواند پیش بینی خوبی برای ما در حل مسائل پیچیده غیر خطی ارائه کند (زیرا تابع فعالسازی آن خطی می باشد). در واقع تمام شبکه های عصبی با بیش از یک لایه، در بخشی از کار خود از توابع غیر خطی فعال ساز استفاده میکنند. استفاده از توابع غیرخطی فعال ساز باعث میشود که توانایی شبکه های عصبی در مدلکردن مسائل غیرخطی بروز نماید و جوابهای مطلوبی در خروجی به ما بدهند. این ویژگی با یک تابع فعال سازی غیر خطی مشتق پذیر و پیوسته اتفاق میافتد. بنابراین برای یک پیش بینی دقیق بایستی از شبکه های عصبی با بیش از یک لایه استفاده شود، که در لایه های میانی آن توابع غیرخطی وجود داشته باشد. البته توجه کرد که افزایش بیش از حد لایه های شبکه های عصبی (بیش از ۳ لایه ) نیز اصلاً توصیه نمی شود.
تعداد نرون های هرلایه
مسئله بعدی تعیین تعداد نرونهای لایه های میانی و خروجی است. اگر هدف از استفاده از شبکه های عصبی پیشبینی باشد، در لایه خروجی بایستی یک نرون داشته باشیم. اما اگر به منظور طبقه بندی یا شناسایی الگو از شبکه های عصبی استفاده شود، میتوان در لایه خروجی از چند نرون استفاده کرد. در تعیین تعداد نرونهای لایه میانی نیز روش های متعددی ارائه شده است که هیچ کدام از آنها عموما کلیت ندارد. اما بهترین روش برای تعیین تعداد نرون ها، روش آزمون و خطا می باشد. با افزایش تعداد نرونهای لایه پنهان از یک مقدار کوچک به مقادیر بزرگ، ابتدا مجموع خطا کاهش می یابد اما پس از رسیدن مقدار نرونها به اندازه معین این خطا دوباره افزایش می یابد. بدین روش می توان بهترین اندازه شبکه را انتخاب نمود.
نرخ یادگیری
نرخ یادگیری یکی از پارامترهای تعیین کننده در سرعت یادگیری شبکه های عصبی است و در کارائی یادگیری شبکه نقش مؤثری دارد. این نرخ در فاصلهی بین ۰ و ۱ اختیار می شود. عموماً نرخ یادگیری شبکه های عصبی به صورت تصادفی و آزمون و خطا بدست می آید. اما در اکثر کاربردهای عملی، این نرخ بین ۱/۰ و ۳/۰ اختیار میشود. نرخ یادگیری بالاتر باعث میشود شبکه سریعتر یادگیری کند اما وقتی که تنوع داده های ورودی زیاد باشد، شبکه به جای یادگیری حفظ خواهد کرد و کارائی شبکه پائین خواهد آمد.
تعداد تکرار