شبکه های عصبی و الگوریتم های یادگیری در متلب

شبکه های عصبی و الگوریتم های یادگیری در متلب

امروزه شبکه‌های عصبی مصنوعی به­ طور گسترده‌ای، با هدف دست­یابی به کارایی شبه انسانی مطالعه می‌شوند و در حال حاضر کابردهای متنوعی  در شاخه های مختلف مهندسی و حتی علوم انسانی پیدا کرده است. این شبکه‌ها قادرند روابط پیچیده غیرخطی بین متغیرهای ورودی و خروجی را در یک سیستم یاد بگیرند بدون اینکه دانشی قبلی نسبت به آن پدیده یا سیستم داشته باشند.

مدرس: دکتر محمدزاده، عضو هیأت علمی دانشگاه دولتی بناب

جهت مشاوره و راهنمایی پایان نامه ارشد و دکتری از طریق ایمیل intelligent.controlref@gmail.com تماس بگیرید.

در این مجموعه آموزشی قصد داریم ساختار مهم و کاربردی شبکه های عصبی از قبیل

  • شبکه های عصبی گاما،
  • Group Method of Data Handling (GMDH)
  • Radial basis function (RBF)
  • Recurrent neural network (RNN)
  • Convolutional neural network (CNN)
  • cerebellar-model-articulation-controller (CMAC)
  • Multilayer perceptron (MLP)
  • و برخی شبکه های عصبی مهم و کابردی دیگر از قبیل شبکه های عصبی خود تنظیم و شکبه های عصبی بر اساس تئوری راف و شبکه های عصبی Lolimot

همچنین روش های مختلف آموزش شبکه های عصبی بر اساس روش های آموزشی پس انتشار خطا (Back Propagation و Full Propafation) متدهای مختلف بهینه سازی از قبیل

  • گرادیان نزولی (Learning of neural network based on gradient descent algorithm )،
  • فیلتر کالمن توسعه یافته (Learning of neural network based on extended Kalman filter)،
  • فیلتر کالمن غیر خطی (Learning of neural network based on unsecented Kalman filter) و (Learning of neural network based on square root capture kalman filter)
  • روش کمترین مربعات خطا (Learning of neural network based on recursive least square algorithm)
  • روش آموزش مرتبه دوم لونبرگ مارکوآت (Learning of neural network based on Levenbeg-Marquat) و
  • روش مرتبه دوم نیوتن و روش مرتبه دوم  conjugate-gradient
  • روشهای تکاملی مثل الگوریتم ژنتیک (genetic algorithm) الگوریتم تجمعی پرندگان (particle swarm optimization) و الگوریتم عنکبوت (Social Spider optimization) رشد علف های هرز IWO و برخی دیگر از الگوریتم های مهم تکامی.

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


جلسه اول:

مقده ای بر شبکه های عصبی و الگوریتم های یادگیری


جلسه دوم: 

شبکه های عصبی MLP، آموزش بر اساس پس انتشار خطا -گرادیان نزولی، کابرد در تخمین توابع غیرخطی


جلسه سوم: 

شبکه های عصبی MLP، روش Full Propagation، کابرد در دسته بندی


جلسه چهارم:

آموزش بر اساس گرادیان نزولی با نرخ تطبیقی و کمترین مربعات خطا


جلسه پنجم:

 آموزش بر اساس الگوریتم های مرتبه دوم و افزایش سرعت همگرایی


جلسه ششم:

شبکه های عصبی RBF ، آموزش بدون مربی، خوشه بندی


جلسه هفتم:

شبکه های عصبی GMDH (Ivakhenenco)، شبیه سازی مقاله ۲۰۱۵، تشخیص خطا


جلسه هشتم:

الگوریتم ژنتیک، تولباکس متلب، کدنویسی


جلسه نهم:

آموزش شبکه های عصبی با استفاده از الگوریتم ژنتیک، شبکه های عصبی حافظه دار


جلسه دهم:

شناسایی غیرخطی بر اساس شبکه های عصبی (مدلهای NNARX, NNFIR, NNEO,…)


جلسه یازدهم:

آموزش شبکه های عصبی بر اساس فیلتر کالمن توسعه یافته، مسئله پیش بینی بارندگی با داده های واقعی


جلسه دوازدهم:

شبکه های عصبی راف و آموزش این شبکه ها بر اساس فیلتر کالمن و گرادیان نزولی


جلسه سیزدهم:

شبکه های عصبی مبتنی بر کانولوشن، تشخیص اعداد دست نویس انگلیسی

جلسه پانزدهم: 

آموزش شبکه های عصبی بر اساس PSO


جلسه هفدهم:

شبکه های عصبی مدل مخچه (CMAC)

 محتوا: فایل آموزشی ۷۲۰pو کدهای متلب و pdf

حجم: حدوداً  ۸۰MB

پیش نماش جلسه شانزدهم: 


جلسه هجدهم:

شبکه های عصبی مثلثاتی و تولباکس متلب


برای خرید کلیک بفرمایید

۱۶۴ نظر

  1. سلام و روز بخیر دوباره خدمت شما جناب دکتر ممنون از اموزش های عالیتون اقای دکتر ممنون با کمک اموزش های خوبتون تونستم داخل مطلب بالاخره رو سیستم خودم عصبی اسلایدینگ به صورت مستقیم پیاده سازی کنماقای دکتر ببخشید ی سوال دیگه داشتم در اموزش جلسه ۱۱ برای اموزش شبکه صبی برای کالمن برای به دست اوردن ماتریس کواریانس فرمودین اگه سیستم غیر خطی شدید باشه خطی سازیش نویزایجاد میکنه ی سوال داشتم خدمتتون اگه بخوایم از EKBF برا سیستم استفاده کنیم که خطی سازی نکنیم رو سیستم و بخوایم از شبکه عصبی برا اموزش استفاده کنیم بنظرتون راهی هست برا به دست اوردن ماتریس جدید p با کمک اموزش شبکه عصبی ممنون میشم اگه راهی میشناسید راهنمایی بفر مایید و سوال دوم ببخشی اقای دکتر میشه بفرمایید این رروش که لطف کردین برا اموزش وزن ها ارائه دادین برای یافتن ماتریس کواریانس جدید اثباتش رو بهم بدین ممنون میشم با تشکر خدا خیرتون بده بابت این همه تجربه و دانش که در اختیار همگان قرار می دین

    1. با سلام. بله امکان پذیر است به عنوان نمونه به مقاله زیر مراجعه کنید، آموزش فازی با SCKF هست. در مورد سوال دوم اگه سرچ کنید مقاله در این زمینه خیلی زیاده. موفق باشین.Synchronization of chaotic systems and identification of nonlinear systems by using recurrent hierarchical type-2 fuzzy neural networks

  2. سلام خدمت شما جناب اقای دکتر ببخشید ممنون میشم در این مورد راهنمایی بفرمایید
    شما در اموزش های خوبی که زحمت کشیدین ارائه کردین در جلسه ۷ اموزش هایسیستم های عصبی فازی در سیمولینک با استفاده از سطح اسلاید به منظور تخمین مدل سیستم استفاده کردین و همچنین در این مجموعه شبکه عصبی این طور که من متوجه شدم در جلسه ۱۰ شبکه عصبی که شما توضیح میدادین به منظور تخمین از شبکه NNARXهم استفاده کردین ابتدا قسمتی ازداده ها رو انتخاب کردین و سپَس اموزش دادین و بعد به سراغ داده های تست رفتین و شبکه رو تست کردین که ببینید همانند مدل سیستم هست یا نه سوال من اینه چرا در سیمولینک در جلسه ۷ داده های train و test رو جدا نکردین تا اموزش بدین ولی در mfile این کار انجام میشه ممنون میشم کمکم کنید بتونم این مشکل رو حل کنم و همچنین ایا اقای دکتر میشه با کمک سطح اسلاید از مدل NNARX به منظور اموزش شبکه عصبی و تخمین مدل در mfile استفاده کنم با روال اموزش که در جلسه ۱۰ زحمت اموزشش کشیدین ممنون از زحمات شما استاد بزرگوار و گرامی

    1. سلام.
      در سیمولینگ پیاده سازی به صورت آن-لاین است. دیتایی در کار نیست که تقسیم کنیم به تست و آموزش. بلکه در هر سمپل تایم یک جفت دیتای ورودی-خروجی داریم که با آن آموزش صورت می گیرد.
      موفق باشین.

      1. ببخشید اقای دکتر پس به منظور پیاده سازی تخمین fhat در mfile با کمک سطح اسلایدینگ و طبق قانون که زحمت کشیدیدن و اثبات کردین در اموزش های عصبی و فازی باید به دودسته تبدیل کنیم و ابتدا داده
        ها رو اموزش بدیم و سپس داده هایی رو به عنوان تست به سیستم بدیم و با کمک قانون اموزش که اثبات شده درسته؟؟؟

        1. اگه آموزش به صورت آف-لاین است، بله، باید دیتاها رو به دو دسته تست و آموزش تقسیم کنید.
          ولی کنترل لغزشی و سایر کنترل کننده ها به صورت آن-لاین در سیمولینک در بخش کنترل کننده های عصبی فازی پیاده سازی شده اند، که در هر سمپل آموزش با استفاده از یک جفت دیتای ورودی-خروجی صورت میگیرد.
          موفق باشین.

          1. اقای دکر ببخشید یعنی اینکه بخوام با کمک mfile اموزش تخمین با کنترل کننده مد لغزشی با همین قوانین اپدیت کردن وزن ها انجام بدم نمیشه؟ به این صورت که با کمک داده های training اموزش بدم و بعد در سیستم از داده های تست استفاده کنم؟

            1. این قوانین در شرایطی بدست آمدند که آپدیت دائمی وجود دارد. یعنی در هر سمپل دیتایی که بدست میاریم (اندازه گیری خروجی سیستم) پارمترها آپدیت میشن و سیگنال کنترلی تولید میشه. دقت کنید که در کنترل ، پارامترها طوری آموزش داده می شوند که خطای ردیابی (یا سطح لغزشی) به صفر برسد نه خطای تخمین.
              برای کاربردهای دیگه هم میتونید استفاده کنید از این قوانین اما باید دقت کنید که دنبال منیمم کرن چه خطایی هستین. یعنی قوانین را بازنویسی کنید بر اساس مسئله خودتان.
              موفق باشین.

  3. سلام خدمت شما جناب اقای دکتر ببخشید اموزش تنظیم شبکه عصبی با الگوریتم ژنتیک رو توضیح دادید ممنون میشم بتونید راهنماییم کنید

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

      1. اقای دکتر ببخشید در محیط سیمولینک هم ضرایب رو با الگوریتم ژنتیک اموزش دادین؟ ببخشید مرتب مزاحمتون میشم در قسمت مختصر فیلم نشنیدم که صحبتی از محیط سیمولینک بزنید ممنون میشم بتونید کمکم کنید و ممنون از اموزش های خیلی خوبتون

        1. با استفاده از تولباکس متلب آموزش داده شده است. به راحتی می توانید در سیمولینک هم ازش استفاده کنید (داخل interpreted matlab function)
          موفق باشین

          1. ببخشید جناب اقای دکتر در فیلم زحمت توضیح دادن نحوه استفاده از الگوریتم ژنتیک رو در سیمولینک کشیدین و انجام بدینش؟

            1. اگه تو ام فایل بتونید ران کنید باید سیمولینک هم بتونید. توضیحات لازم ذیل جلسات داده شده است. تولباکس ژنتیک متلب توضیح داده شده و در یک ام فایل شبکه های عصبی با استفاده از این تولباکس آموزش داده شده است. موفق باشین.

  4. سلام و احترام خسته نباشید اقای دکتر
    در جلسه دهم اگر بخواهیم مدل سیمولینک رو شناسایی کنیم داده ها رو چطور وارد دستور کنیم؟
    ممنون از پاسخگویی

    1. سلام
      میتونید از توابع متلب استفاده کنید.
      نمونش در بخش کنترل کننده های عصبی فازی جلسه کنترل عصبی غیرمستقیم هست میتونید مراجعه کنید. در این جلسه مدل به صورت آن لاین تخمین زده شده و کنترلر بر اساس این مدل طراحی می شود
      موفق باشین

  5. سلام
    روش لونبرگ یک روش بهینه سازی دسته ای است اما در کدهای شما از روش الگو به الگو استفاده شده

    1. @محدثه نادرشاهی,
      سلام
      همه الگوریتم های ارائه شده را میتوان دسته ای و یا دیتا به دیتا اعمال کرد.
      فرق لونبرگ با الگوریتم هایی مثل گرادیان نزولی در این است که گام آموزشی در این الگوریتم تطبیقی می باشد. در گرادیان اگه گام آموزشی را بزرگ انتخاب کنیم سرعت همگرایی بالا میره اما حول نقطه بهینه نوسان خواهیم داشت و میتونه باعث ناپایداری هم بشود. با گام کوچک هم سرعت همگرایی پایین خواهد بود.
      مهمترین مشکل لونبرگ هم اینه اگه بخایید به صورت دسته ای اعمال کنید حجم محاسباتتون بالا میره.

  6. سلام جناب آقای دکتر
    وقت شما به خیر.
    من نیاز به استفاده از شبکه عصبی راف دارم ، به جز جلسه های ۱۲، ۱۱و ۴ ، چه جلسات دیگری رو باید تهیه کنم ؟

    تشکر از لطف شما.

  7. سلام وقت شما بخیر باشه
    من اموزش شبکه های عصبی رو تهیه کردم ولی اثری از اموزش شبکه های Recurrent neural network (RNN) نیست
    به نحوی اصلا مجموعه رو برای این بخش که خیلی مشکل داشتم تهیه کردم، مثل اموزش هوپفیلد و نظریه میانگین میدان و بولتزمن
    نمی دونم باید چکار کنم.ممنون اگر کمکم کنید.

  8. سلام وقت شما بخیر باشه
    من اموزش شبکه های عصبی رو تهیه کردم ولی اثری از اموزش شبکه های Recurrent neural network (RNN)نیست
    به نحوی اصلا مجموعه رو برای این بخش که خیلی مشکل داشتم تهیه کردم، مثل اموزش هوپفیلد و نظریه میانگین میدان و بولتزمن
    نمی دونم باید چکار کنم.ممنون اگر کمکم کنید.

  9. سلام وقت شما بخیر باشه

    من اموزش شبکه های عصبی رو تهیه کردم ولی اثری از اموزش شبکه های Recurrent neural network (RNN)نیست

    به نحوی اصلا مجموعه رو برای این بخش که خیلی مشکل داشتم تهیه کردم. مثل اموزش هوپفیلد و بولتزمن و ماشین نظریه میانگین میدان

    نمی دونم باید چکار کنم.

یک پاسخ بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *