شبکه های عصبی مصنوعی، بر اساس مدل بیولوژیکی مغز جانوران بوجود آمده اند. این شبکه ها در اصل یک سیستم داده پردازی اطلاعات است که از تعمیم یافتن مدل های ریاضی آنها بوجود آمده است. شبکه های عصبی مصنوعی سیستم هایی هستند که قادرند انجام عملیاتی همانند مغز انسان را به نمایش در آورند. نرون ها بر اساس ساختارهایی که بین آنها پیام ها هدایت می شوند به سه دسته نرونهای حسی، نرونهای محرک و نرونهای ارتباطی تقسیم بندی می شوند. شبکه های عصبی مصنوعی یا به زبان ساده تر شبکه های عصبی سیستم ها و روش های محاسباتی نوینی هستند برای یادگیری ماشینی، نمایش دانش و در انتها اعمال دانش به دست آمده در جهت پیش بینی پاسخ های خروجی از سامانه های پیچیده. ایده اصلی این گونه شبکه ها (تا حدودی) الهام گرفته از شیوه کارکرد سیستم عصبی زیستی، برای پردازش داده ها و اطلاعات به منظور یادگیری و ایجاد دانش قرار دارد. در این مقاله به ارائه آموزش کلیات شبکه عصبی مصنوعی و نیز دانلود کد متلب شبکه عصبی با الگوریتم زنبور عسل پرداخته می شود
عنصر کلیدی این ایده، ایجاد ساختارهایی برای سامانه پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پردازشی فوق العاده بهم پیوسته با نام نورون تشکیل شده که برای حل یک مسئله با هم هماهنگ عمل می کند. با استفاده از دانش برنامه نویسی رایانه می توان ساختار داده ای طراحی کرد که همانند یک نرون عمل نماید. سپس با ایجاد شبکه ای از این نورون های مصنوعی به هم پیوسته، ایجاد یک الگوریتم آموزشی برای شبکه و اعمال این الگوریتم به شبکه آن را آموزش داد. شبکه های عصبی مصنوعی از تعدادی پردازشگر به نام نرون یا سلول یا واحدها تشکیل می شوند که بطور موازی عمل می کنند. نرونها، بخودی خود توابع آزمونی هستند ولی بصورت مجموعه در قالب شبکه، می توانند مسائل پیچیده از مساله ارزیابی نرخهای پیشرفت کار گرفته تا تخمین پیش تنیدگی کابلهای بالابر را حل نمایند (آبراهام، 2005).
یک نرون، کوچکترین واحد پردازشگر اطلاعات است که اساس عملکرد شبکه های عصبی مصنوعی را تشکیل می دهد، نرون مصنوعی برای تقلید مشخصات اولیه نرون بیولوژیکی طراحی شد.
گرچه یک نرون تنها توابع محرک با طرح ساده معینی را نشان می دهد ولی توان اصلی محاسبات عصبی بواسطه اتصالات نرونها در شبکه است. ساده ترین شبکه گروهی از نرونهای تنظیم شده، در یک لایه است.
شبکه عصبی مصنوعی از تعدادی واحد محاسباتی به نام نرون تشکیل شده است. شبکه عصبی مصنوعی نوعی سیستم پردازشگر موازی جهت دار بوده و دارای خصوصیات زیر است:
قابلیت یادگیری یعنی توانایی تنظیم پارامترهای شبکه در مسطر زمان وقتی که محیط شبکه تغییر می کند و شبکه شرایط جدید را تجربه می کند. اکثر الگوریتم های آموزشی بکار رفته بر مبنای آموزش با نظارت می باشد. همگرایی این الگوریتمها از دیدگاه ریاضی ثابت شده است، بطوری که در روش دلتای تعمیم یافته مشتق اول خطای کل، برای تعدیل وزن ها بکار برده می شود، که با اعمال این تعدیل خطای کل کاهش می یابد.
هدف از آموزش ایجاد تخمین قابل قبول در محدوده مطلوب مساله است. عوامل موثر در توان تعمیم دهی شبکه عصبی عبارتند از: نوع شبکه و الگوریتم آموزشی، تعداد و بافت نرون های میانی، تعداد و پراکندگی الگوهای آموزشی، توان تعمیم دهی شبکه های عصبی مصنوعی بر درونیابی استوار است. با وجود این توان تعمیم بر مبنای برون یابی نیز مهم است. می توان گفت که شبکه تابع را یاد می گیرد، الگوریتم را می آموزد و یا رابطه مناسبی را برای برخی نقاط در فضا بدست می آورد.
در حالت کلی، هیچ روش مستقیمی برای تعیین مناسبترین تعداد برای نرونهای لایه میانی وجود ندارد و این مساله، به خصوص وقتی پیچیده تر می شود که تعداد لایه های میانی بیشتر گردد. هرگاه نرون های میانی بسیار کمی در شبکه وجود داشته باشند، بدست آوردن مدل دقیق همه شکل های سطح پاسخ، میسر نخواهد بود. در تلاش برای رفع این مشکل، معمولا، محدوده ای از بافتار نرونهای میانی متفاوت، در نظر گرفته می شود و بافتاری که بهترین کارایی را داشته باشد پذیرفته می شود.
قبل از بکارگیری یک شبکه عصبی لازم است ارزش نتایج آن تعیین شود. ارزیابی معمولا شامل تعیین میزان کارایی شبکه روی مسائل آزمونی است که در آموزش شبکه بکار نرفته اند، ولی برای مقایسه مناسب هستند. مسائل آزمونی باید به گونه ای انتخاب شوند که در همسایگی الگوهای آموزشی خاصی قرار نگیرند.
داده های ورودی یا خروجی یک شبکه معمولا به شکل پیوسته یا گسسته هستند. گرچه گاهی اوقات ممکن است بصورت پارامتری یا ترکیبی از همه اینها باشند.
الگوریتم های مورد استفاده بسته به نوع مساله می تواند از نوع متنوعی که درباره آن صحبت شد انتخاب شوند ولی شکل آموزش می تواند یا بصورت تعدیل ساده و یا تعدیل ساختار شبکه انجام گردد.
شبکه عصبی مصنوعی یکی از روش های مورد استفاده در پیش بینی و پردازش داده ها می باشد. در این ابزار، پیدا کردن وزن بایاس ها به صورت تصادفی انجام می شود. به منظور بهبود شبکه های عصبی مصنوعی، از الگوریتم های فراابتکاری جهت بهبود شبکه عصبی استفاده می شود. الگوریتم کلونی زنبور عسل مصنوعی از رفتار جمعی زنبورها الهام گرفته شده است. در این الگوریتم زنبورها به عنوان جواب یا راه حل در نظر گرفته شده و تابع برازش میزان نزدیکی به غذای زنبورها می باشد.
جهت دانلود رایگان کد متلب شبکه عصبی مصنوعی بهبود داده شده با الگوریتم زنبور عسل بر روی لینک زیر کلیک کنید
Matlabanalysis2012@gmail.com
5 دیدگاه
سلام آموزش این کد ومراحل کاری آن را نمی گزارید
سلام دوست عزیز. میتونید درخواست بدید براتون قرار خواهیم داد
در حال تدوین محصولات آموزشی جدید در این راستا هستیم. هرگونه سوال در این خصوص را می توانید از طریق ایمیل با ما در میان بگذارید. همکاران من در کمتر از ۱۲ ساعت پاسخگوی شما خواهند بود.
با سلام و ضمن تشکر از قرار دان این کد
میشه لطفا یه آموزش مختصری هم درباره پارامترها و نحوه استفاده قرار بدین
دوست عزیز هر سوال و ابهامی داشته باشید می توانید از طریق ایمیل با ما در میان بگذارید. matlabanalysis2012@gmail.com
همکاران ما اماده پاسخ به سوالات شما هستند