شبکه عصبی خود سازمان ده
درشبکه ی خودسازمان ده، از روش یادگیری رقابتی برای آموزش استفاده می شود. این شبکه الهام گرفته از عملکرد مغز در دسته بندی و تشخیص حس های ورودی یکسان می باشد( مانند حس لامسه، شنوائی و …) که با ترکیب هندسی معنی دار به نواحی مختلف مرتبط هستند.
نقشههای خودسازماندهنده (SOM) یا نگاشت ویژگیهای خود سازمان دهنده (SOFM) یا شبکههای عصبی خودسازمان دهنده یک روش تجسم داده است که توسط پروفسور «توو کوهونن» اختراع شده است. در این روش ابعاد دادهها را از طریق کاربرد شبکه عصبی خود سازمان دهنده کاهش میدهند.
هدف اصلی این تکنیک کاهش ابعاد دادهها به یک یا دو بعد است.
انواع شبکه های خود سازمان ده
این شبکهها دو نوع هستند:
- شبکههای خودسازمانده دارای وزن ثابت
- کوهونن شبکهای طراحی کرد که تنها پارامتر معلوم آن نرونهای ورودی است در حالی که وزنها و نرونهای خروجی پارامترهای مجهول مساله می باشد.
واحد ها در یک فرآیند یادگیری رقابتی نسبت به الگوهای ورودی منظم می شوند. محل واحدهای تنظیم شده در شبکه به گونه ای نظم می یابد که برای ویژگیهای ورودی، یک دستگاه مختصات معنی دار روی شبکه ایجاد شود. لذا یک نقشه ی خود سازمان ده، یک نقشه ی توپوگرافیک از الگوهای ورودی را تشکیل می دهد که در آن، محل قرار گرفتن واحدها، متناظر ویژگیهای ذاتی الگوهای ورودی است.
یادگیری رقابتی که در این قیبل شبکه ها بکار گرفته می شود بدین صورت است که در هر قدم یادگیری، واحدها برای فعال شدن با یکدیگر به رقابت می پردازند. در پایان یک مرحله رقابت تنها یک واحد برنده می شود، که وزنهای آن نسبت به وزنهای سایر واحدها به شکل متفاوتی تغییر داده می شود. این نوع از یادگیری را یادگیری بی نظارت (Unsupervised) می نامند.
مثالی از شبکه کوهونن
برای آشنایی بهتر با این نوع شبکه به مثال پیاده سازی شده در متلب دقت کنید. برای این مساله تعداد 1000 داده ورودی به صورت تصادفی انتخاب کرده ایم که پس از رسم شکل به صورت زیر خواهد بود:
برای تعریف شبکه خود سازمانده با در نظر گرفتن همسایگی ها ، از تابع:
net = newsom ([0 1;0 1] ,100)
استفاده شده است. صد واحد خوشه برای آن در نظر گرفته شده است و داده ها نیز مطابق شکل بالا، در محدوده 0 تا یک می باشند (x,y).
با توجه به صورت سوال که وزن ها به صورت تصادفی مورد نظر می باشد وزن های اولیه به صورت زیر خواهند بود .
تنها پس از یک epoch وزون های شبکه سعی در تفکیک داده های ورودی دارد.
اما همانطور که نشان داده شده لگوی تشخیص داده شده تمام داده ها را شامل نمی شود.
بنابراین باید مقدار epoch را بالاتر برده تا شکل زیر حاصل شود. (مقدار epoch برابر با 20 می باشد )
با افزایش تعداد تکرار های شبکه خود سازمان کوهونن دقت الگو ها بالا تر می رود و سعی در در بر گرفتن تمام داده های ورودی خواهد داشت.
کد های متلب این مقاله آموزشی موجود است.
.
ممنون مهندس بابت زحماتی که می کشید