تئوری شبکه عصبی ELM
ما تا جلسه هشتم از مباحث کتاب معروف Simon haykin استفاده کردیم و در دو جلسه آینده قصد داریم پیادهسازی دو تا شبکه عصبی معروف ELM(extreme learning machine) و (probabilistic neural network)PNN را طبق مقالات تخصصی آموزش دهیم تا با پیادهسازی مقالات تخصصی نیز آشنا شوید. شبکه عصبی پرسپترون دو ایراد اساسی در زمان آموزش دارد: ایراد اول شبکه این است که از گرادیان نزولی برای تنظیم وزنها استفاده میکند و این باعث میشود که پروسه آموزش زمانبر باشد، مخصوصا زمانی که حجم داده آموزشی زیاد باشد! ایراد دوم این شبکه تعداد زیاد پارامترها است. در این شبکه پارامترهای زیادی باید در پروسه آموزش تنظیم شوند و همین باعث میشود که زمان آموزش بسیار بالا باشد. شبکه عصبی ELM یک رویکر بسیار سادهای برای حل این مسئله ارائه کرده است و به همین دلیل سرعت یادگیری بسیار بالایی دارد و سرعت یادگیری آن در مقایسه با MLP شاید بتواند گفت 1000 برابر و حتی بیشتر شده است. این شبکه ساختاری همانند RBF دارد ولی کلا یک پارامتر در طول آموزش تنظیم میکند. برخلاف RBF که وزنهای سیناپسی بین لایه ورودی و لایه پنهان ثابت و مقدار یک بود، در این شبکه لایه ورودی با یک سری وزن به لایه پنهان وصل شده شده است، البته خوبی ماجرا اینجا هست که در این شبکه به وزنها یک مقدار تصادفی در همان ابتدا اختصاص میدهند و نیازی نیست در طول آموزش تنظیم شوند. نورونهای لایه پنهان یک نورون معمولی هستند و نیازی به پیدا کردن مراکز و سیگمای هر نورون نیست و در نهایت تنها پارامتر قابل تنظیم این شبکه وزنهای سیناپسی بین لایه پنهان و لایه خروجی است. یک شبکه رو به جلو هست و با استفاده از روش شبه معکوس وزنهای سیناپسی را در یک لحظه محاسبه میکند. و همین امر باعث شده سرعت یادگیری این شبکه بسیار بالا باشد. نکته جالب ماجرا اینجاست که عملکرد این الگوریتم بسیار بالاست و با اینکه تعداد پارامتر قابل تنظیم کمتری دارد ولی عملکرد بسیار خوبی در مقالات برای این الگوریتم گزارش شده است.
در این ویدیو ما تئوری یادگیری این شبکه را طبق مقاله به زبان ساده توضیح داده و سپس به صورت مرحله به مرحله در متلب پیادهسازی کردهایم. و در انتها برای اینکه با کارایی این مدل آشنا شوید چندین پروژه عملی از قبیل تشخیص سرطان سینه (پروژه عملی طبقهبندی) ، پیش بینی میزان آلودگی هوا (پروژه عملی رگرسیون) و کلاسبندی داده سه کلاسه iris (گل زنبق) با استفاده از شبکه عصبی ELM انجام دادهایم.
ما تا این جلسه برای ارزیابی شبکههای عصبی از روش معمول (the hold out validation method) استفاده میکردیم که در آن یکبار داده به دو بخش آموزش و تست تقسیم شده و مدل یکبار آموزش و تست میشود. زمانی که تعداد داده کم باشد استفاده از این روش ارزیابی مناسب نیست و باید از روشهای استاندارد دیگری استفاده کنیم. ما در این جلسه روشهای ارزیابی k-fold cross validation، random subsampling و leave one out validation را توضیح داده و سپس مرحله به مرحله در متلب پیاده سازی کردهایم و درنهایت پروژههای عملی را با استفاده از این روشها ارزیابی میکنیم تا با ارزیابی استاندارد یک مدل یادگیری ماشین آشنا شوید و در پروژه های خود استفاده کنید.
پروژههای انجام شده در این جلسه
1. تشخیص سرطان سینه با شبکه عصبی ELM
2. تخمین میزان آلودگی هوا با شبکه عصبی ELM
3. تشخیص نوع برگ درختان با شبکه عصبی ELM
ویدئوی زیر بخش کوتاهی از جلسهی نهم است که برای آشنایی در اختیار شما قرار داده شده است. بخش کامل این جلسه، و همچنین پکیج کامل شبکههای عصبی (شامل تمام جلسات) را از لینکهای زیر خریداری نمایید.
باتشکر
با عرض سلام خدمت شما، خواستم بدونم مقالاتی که در پیاده سازی شبکه های عصبی ELM و PNN استفاده کردید مربوط به چه سالی هستند؟
سلام
مقاله پایه ELM برای سال 2005 هست. مقاله PNN هم برای همین حدود ها باید باشه. اما مقاله ای که ازش استفاده کرده بود برای سال 2017 هست و ما از PNN استفاده شده در اون مقاله استفاده کرده بودیم
موفق باشید