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

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

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

شبکه عصبی Learning Vector Quantization (به اختصار LVQ) یکی از انواع شبکه های عصبی با الگوی یادگیری نظارت شده است که کاربرد اصلی آن در حل مسائل طبقه بندی (Classification) و بازشناسی الگو (Pattern Recognition) است. این روش، از خویشاوندان نزدیک نگاشت های خود سازمان ده یا Self-Organizing Maps (به اختصار SOM) است و شباهت های زیادی نیز با رویکرد طبقه بندی نزدیک ترین همسایگی یا kNN دارد.

شبکه عصبی LVQ، که می توان در فارسی آن را به صورت «رقمی ساز بردار یادگیر» ترجمه نمود، در واقع نسخه نظارت شده SOM است که البته فاقد ساختار همسایگی است. برای طراحی این نوع از شبکه های عصبی، چندین الگوریتم تا کنون پیشنهاد شده اند، که عنوان و توضیح مختصر چند نوع معروف تر، در ادامه آمده است:

  • الگوریتم LVQ1: این روش، پایه ای ترین رویکرد برای طراحی و آموزش شبکه های عصبی LVQ است. در این رویکرد، که شباهت بسیار زیادی هم به الگوریتم های SOM و VQ دارد، در آن واحد، فقط یکی از نورون ها (مراکز کلاس ها) به روز می شود. ضمنا، در این الگوریتم، شبکه عصبی LVQ علاوه بر موارد موفق، از مثال های ناموفق نیز درس می گیرد، که در نهایت منجر به عملکرد بهینه شبکه عصبی LVQ می گردد.
  • الگوریتم OLVQ1: این روش، نسخه بهینه شده LVQ1 است که در آن نرخ یادگیری، به صورت تطبیقی و بهینه تعیین می گردد. در این رویکرد، نرخ یادگیری طوری تنظیم می شود که همه نمونه های مورد استفاده در آموزش، با وزن ثابتی در یادگیری شبکه عصبی دخیل باشند و از این رو، از نظر آماری، بهترین عملکرد ممکن به دست می آید.
  • الگوریتم های LVQ2 و LVQ2.1: در این الگوریتم ها، که تفاوت چندانی هم با هم ندارند، هم زمان دو مرکز و نورون به روز می شوند که این موضوع، در نهایت منجر به عملکرد سریع تر این الگوریتم خواهد شد. شرط انجام این به روز رسانی، درست بودن طبقه بندی به ازای یک نورون و نادرست بودن آن به ازای یک نورون دیگر است. در این حالت، اگر داده ارائه شده به شبکه عصبی، در پنجره مشخصی در میان دو کلاس قرار گیرد، با استفاده از قوانین یادگیری، مراکز هر دو کلاس به روز خواهند شد.
  • الگوریتم LVQ3: این الگوریتم شامل همه عملیات LVQ2.1 است و علاوه بر آن، برای حالتی نیز که هر دو نورون طبقه بندی درستی را ارائه دهند، قانون یادگیری ضعیفی پیش بینی شده است تا مقداری به سرعت آموزش شبکه عصبی، افزوده شود.

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

 

 

فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی، در ادامه آمده است:

  • تعریف مسأله Vector Quantization (به اختصار VQ)
  • کاربرد VQ در خوشه بندی و طبقه بندی
  • بررسی مفهوم رقابت در VQ
  • نمودار یا دیاگرام ورونو یا Voronoi Diagram
  • ترسیم نمودار ورونو در متلب
  • الگوریتم بهینه VQ برای یادگیری غیر نظارت شده
  • الگوریتم LVQ1 برای یادگیری نظارت شده و طبقه بندی
  • شباهت میان LVQ و نگاشت خود سازمان ده یا SOM
  • الگوریتم بهینه سازی شده OLVQ1 با تغییر در نرخ یادگیری
  • نحوه تعیین نرخ یادگیری بهینه در الگوریتم OLVQ1
  • الگوریتم LVQ2 و LVQ2.1 برای یادگیری نظارت شده دیفرانسیلی (تفاضلی)
  • الگوریتم LVQ3 برای یادگیری نظارت شده
  • بررسی شباهت میان LVQ و ساختار عمومی شبکه های عصبی
  • ایجاد شبکه عصبی LVQ در متلب با استفاده از تابع Lvqnet
  • انتخاب الگوریتم یادگیری Learnlv1 و/یا Learnlv2 برای آموزش شبکه عصبی LVQ
  • بررسی ساختار و نحوه کارکرد شبکه عصبی LVQ در متلب
  • آماده سازی داده های مورد نیاز برای آموزش شبکه عصبی LVQ
  • کاربرد توابع Vec2Ind و Ind2Vec در تبدیل و تغییر داده های خروجی
  • استفاده از تابع configure برای تطبیق ساختار شبکه عصبی با داده ها
  • استفاده از تابع train برای آموزش شبکه عصبی LVQ
  • بررسی نتایج طبقه بندی (Classification) با ماتریس تداخل یا Confusion Matrix
  • نمایش ماتریس تداخل با تابع Plotconfusion
  • نمایش نتایج طبقه بندی به صورت بصری (ویژوال)
  • آشنایی با دیتاست گل زنبق یا Fisher Iris Flower Dataset
  • پروژه عملی: اعمال شبکه عصبی LVQ بر روی دیتاست ایریس یا Iris (گل زنبق)
  • تقسیم بندی داده های ورودی به داده های آموزش (Train)، اعتبارسنجی (Validation) و آزمایش (Test)
  • تنظیم تعداد مراحل اجرای الگوریتم آموزش LVQ
  • تنظیم تعداد دفعات مجاز برای ناموفق بودن (Fail شدن) آزمون اعتبار سنجی
  • آشنایی با مفهوم نمودار ROC و تفسیر آن
  • ترسیم نمودار ROC در متلب با استفاده از تابع Plotroc
  • پروژه عملی: کاربرد شبکه عصبی LVQ برای تعیین نوع تومور (خوش خیم/ بد خیم) در سرطان سینه
  • ترکیب الگوریتم های آموزشی LVQ1 و LVQ2.1 در متلب

 

 

برای مشاهده جزئیات و تهیه آموزش طبقه بندی و بازشناسی الگو با شبکه های عصبی LVQ در متلب به این لینک (+) مراجعه نمایید.

 

0 پاسخ

ارسال یک پاسخ

در گفتگو ها شرکت کنید.

پاسخ دهید

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