سه شنبه 23 مرداد 1397 | Tuesday 14 th of August 2018 صفحه اصلی گروه الکترونیکی کامپیوتر
3-4 روش کلاسه بندی شبکه های عصبی

     شبکه عصبی بوسیله الگوریتم پس انتشار خطا اموزش داده می شود. این شبکه از یک لایه ورودی، یک لایه خروجی و یک یا چند لایه نهان تشکیل شده است. هر گره در لایه ورودی معادل یکی از صفت های نمونه ورودی می باشد و گره های لایه خروجی نشان دهنده کلاس ها هستند. هر یال بین گره های این لایه ها دارای یک وزن می باشد که با یک مقدار تصادفی مقداردهی اولیه می شود(به عنوان مثال رنجی بین -1.0تا 1.0یا -0.5تا 0.5). در طول مرحله یادگیری، شبکه با تنظیم این وزن ها با استفاده از یک تابع اموزش و نمونه داده های اموزشی، عمل یادگیری را انجام می دهد.

     الگوریتم کلاسه بندی شبکه عصبی پرسپترون چند لایه (MLP[1])، اساس شبکه های عصبی جلو برنده می باشد. نمونه ای از این شبکه دو لایه ای در شکل 3-3 مشاهده می شود. 

   جلو برنده[2]، به این معنی است که مقدار پارامتر خروجی براساس پارامترهای ورودی و یک سری وزن های اولیه تعیین می گردد. مقادیر ورودی با هم ترکیب شده و در لایه های نهان استفاده می شوند و مقادیر این لایه های نهان نیز برای محاسبه مقادیر خروجی ترکیب می شوند.

شکل 3-3-  شبکه عصبی با یک لایه نهان

شکل 3-3-  شبکه عصبی با یک لایه نهان 

     به هر بار اجرای الگوریتم یادگیری برای تمام نمونه های اموزشی یک دوره[1] گفته می شود. این دوره ها انقدر ادامه می یابد که دیگر مقدار خطا تغییر نکند.

     یادگیری Backpropagationبا تکرار پردازش روی نمونه های مجموعه اموزشی در هر دوره و مقایسه پیشگویی حاصل با برچسب کلاس واقعی هر نمونه انجام می گیرد.

     در هر دوره، برای هر نمونه اموزشی وزن ها دستکاری و تصحیح می شوند تا میانگین مربع خطاها میان مقدار پیشگویی شبکه و کلاس واقعی ان نمونه کمینه شود. این دستکاری ها به صورت عقب گرد[2] انجام می گیرند یعنی تصحیح شبکه و تغییر وزن ها از لایه خروجی به سمت لایه های نهان و در پایان نیز اولین لایه نهان صورت می پذیرد. به همین دلیل به این روشBackpropagationگفته می شود. اگر چه هیچ تضمینی وجود ندارد ولی بالاخره وزن ها به هم نزدیک می شوند و فرایند یادگیری متوقف می شود. الگوریتم این روش در شکل 3-4 نشان داده شده است

شکل 3-4- الگوریتم  Backpropagation

شکل 3-4- الگوریتم  Backpropagation 

     هر نمونه اموزشی X، به صورت زیر پردازش می شود:

     در ابتدا نمونه اموزشی به لایه ورودی شبکه خورانده می شود. ورودی هر گره در لایه های نهان و خروجی به صورت یک ترکیب خطی از ورودی هایش محاسبه می شود که در شکل 3-5 نشان داده شده است. ورودی های گره، خروجی های گره هایی از لایه قبلی هستند که به این گره متصل شده اند. برای محاسبه ورودی، هر گره مقدار هر ورودی اتصال یافته به خود را در وزن یال مربوطه ان ورودی ضرب می کند و حاصل این ضرب ها را با هم جمع می کند. 

شکل 3-5- یک گره در لایه نهان یا خروجی

شکل 3-5- یک گره در لایه نهان یا خروجی 

     برای یک گره داده شده ی jدر یک لایه نهان یا خروجی، مقدار ورودی()برای گره j  بصورت زیر بدست می اید :

(3-9)                                                   

که وزن یال از گره iدر لایه قبلی به گره jاست.  بایاس گره است. مقدار ورودی هر گره در لایه های نهان و خروجی بدست می اید و سپس یک تابع از پیش تعیین شده بنام تابع فعال سازی[1] روی این حاصل اعمال می کند و نتیجه را به عنوان خروجی به گره های لایه بعد می دهد. برای این تابع معمولاً از تابع logisticاستفاده می شود. برای مقدار ورودی برای گره j، خروجی گره jیعنیo به صورت زیر محاسبه می شود:

(3-10)                                                

     برای یک گره jدر لایه خروجی، میزان خطا () بصورت زیر بدست می اید:

(3-11)                                    

که oj مقدار خروجی محاسبه شده برای گره j  و tj خروجی صحیح و واقعی که با توجه به برچسب کلاس نمونه اموزشی داده شده مشخص است می باشد. برای محاسبه خطای یک گره j‌ در لایه نهان،  باید مجموع وزنی خطاهای گره های اتصال یافته به گرهjدرلایه بعدی محاسبه شوند. خطای گره j‌ در لایه نهان برابر است با :

(3-12)                                     که

وزن یال از گرهj  به گره kدر لایه نهان بعدی و  خطای گره kمی باشد.

وزن ها برای انعکاس خطاهای انتشار یافته توسط رابطه (3-14) تصحیح می شوند :                                        

                                               

     در این رابطه ، متغیرl نرخ یادگیری[2] است که معمولاً مقداری بین 0و 1.0‌ دارد. اگر مقدارlخیلی کوچک باشد انگاه یادگیری با گام های خیلی کند جلو می رود و اگر مقدار l خیلی بزرگ باشد انگاه نوسان میان جواب های نادرست اتفاق می افتد.

     تصحیح بایاس نیز با استفاده از رابطه (3-16) زیر انجام می گیرد :                                             

                                

     اموزش در صورتی متوقف می شود که یک از شرایط زیر برقرار باشد:

1- همه  ها در دوره های قبلی انقدر کوچک باشند که از استانه تعیین شده کمتر باشند.

2- درصد کلاسه بندی های نادرست نمونه ها در دوره های قبلی کمتر از استانه باشد.

3- تعداد دوره های انجام شده  از تعداد دوره هایی که در ابتدا تعیین شده بیشتر گردد.

 

     پس از اموزش شبکه، در مرحله بعدی این شبکه برای کلاسه بندی نمونه های جدید به کار می رود. در صورتی که تعداد Mکلاس وجود داشته باشد، نمونه جدید وارد شبکه می شود و خروجی های نرمال شده O1,O2,…,OMدر لایه خروجی شبکه تولید می گردد. احتمال مرتبط به این که نمونه جدید متعلق به کلاس Ciباشد، عبارتست از:

(3-17)                                                

     در این حالت برچسب کلاسی با بیشترین مقدار Oiبه عنوان بر چسب کلاس نمونه ورودی انتخاب می گردد.

     شبکه های عصبی اجرای موفق و رضایت بخشی روی دیتای واقعی زیادی داشته اند. اخیراً چندین الگوریتم برای استخراج قوانین از شبکه های عصبی اموزش داده شده، ارائه و توسعه یافته اند. یکی از مهمترین فواید شبکه های عصبی قابلیت اجرای انها روی کامپیوترهای موازی می باشد.

     زمان یادگیری در شبکه های عصبی طولانی است. از انجایی که تعداد پارامترها در این شبکه ها زیاد می باشد، محاسبات این شبکه ها می تواند وقت گیر باشد. ولی اگر این شبکه ها به مدت کافی اجرا گردند معمولاً موفقیت امیز خواهند بود.



 

 



 

Compatability by:
آخرین به روز رسانی سایت: سه شنبه, 22 اسفند 1391 - 00:26