آموزش انتخاب ویژگی یا Feature Selection

آموزش در دست انتشار انتخاب ویژگی یا Feature Selection

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

آموزش در دست انتشار انتخاب ویژگی یا Feature Selection

 

انتخاب ویژگی (Feature Selection) که با عناوین دیگری همانند variable selection و attribute selection و نیز variable subset selection شناخته می شود، فرایند انتخاب زیردسته ای از میان دسته ویژگی ها می باشد.

 

طبقه بندی کننده بهینه بیز و افزایش تعداد ویژگی ها

خطای کمینه بیز (Bayes Error) با افزایش تعداد ویژگی ها هیچگاه افزایش نمی یابد. شاید این موضوع این برداشت را در نگاه اول ایجاد کند که هر چه تعداد ویژگی ها بیشتر باشد، به همان میزان وضعیت بهتر است. اما نباید فراموش کنیم که کلاسیفایر بهینه بیز (Bayes Optimal Classifier) در صورت در دسترس بودن توزیع داده ها (Data Distribution) موجود می باشد. در حالی که در یک مسئله عملی طبقه بندی (Classification) ما توزیع واقعی داده ها را نداریم و در نتیجه نیز کلاسفایر بهینه بیز و خطای کمینه آن در دست نمی باشد.

 

پدیده Peaking و اهمیت کاهش ابعاد

بر خلاف رفتار کلاسیفایز بیز،‌ خطای کلاسیفایر طراحی شده توسط داده های واقعی رفتار متفاوتی را در حالت افزایش تعداد ویژگی ها نمایش می دهد. اگر به خاطر داشته باشید، در نیجه پدیده پیک زدن (Peaking Phenomenon)، افزایش تعداد ویژگی ها در مواردی می تواند به افزایش خطای طبقه بندی نیز منجر شود. از این جهت است که در یک مسئله عملیِ، بهترین تعداد ویژگی ها، بیشترین تعداد ویژگی ها نمی باشد. شکل زیر پیده پیک زدن را نشان می دهد.

DuinPeaking1

شکل: پدیده پیکینگ – با افزایش تعداد ویژگی ها از یک نقطه به بعد، خطای طبقه بندی افزایش می یابد.

 

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

پدیده Peaking به تنهایی برای نمایش دادن اهمیت استفاده از مقدار مناسب (نه کم و نه زیاد) ویژگی ها را نشان می دهد. البته این همه اهمیت داستان نیست. انتخاب ویژکی می تواند به کاهش پیچیدگی محاسباتی (هم از جهت بار اجرایی و هم ذخیره سازی) منجر شود. از سوی دیگر، کاهش ابعاد می تواند به ایجاد شناخت بهتر از داده ها نیز کمک نماید. به عنوان مثال در یک مسئله دانستن ۳ ویژگی مهم که بیشترین جداسازی داده ها را ایجاد می کند، مفید خواهد بود (مثلا سه ژن عامل یک بیماری).

 

کاهش ابعاد:‌ استخراج ویژگی / انتخاب ویژگی

دو طبقه عمده از روشهای کاهش ابعاد (Dimensionality Reduction

Methods) وجود دارند.

  • استخراج ویژگی (Feature Extraction)
    • در این حالت هدف یافتن یک نگاشت از فضای ویژگی های کنونی به یک فضای با ابعاد کمتر است که در آن کمترین اتلاف اطلاعات (با در نظر گرفتن معیارهای جداپذیری کلاسها) ایجاد می شود.

 

  • انتخاب ویژگی (Feature Selection)
    • انتخاب ویژگی نیز در حقیقت همان استخراج ویژگی است. با این تفاوت که نگاشت مذکور محدود می شود به انتخاب زیر مجموعه ای است مجموعه ویژگی های فضای اصلی.

 

آنچه در این فرادرس خواهیم دید.

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

یک مسئله انتخاب ویژگی، یک مسئله با تعداد حالات مشخص می باشد. از این جهت با جستجوی جامع (Exhaustive Search)‌ می توان بهترین دسته از ویژگی ها را یافت. اما این کار زمان بر خواهد بود و باید روشهایی را استفاده کرد که با جستجوی کمتری به دسته ویژگی های بهینه (شبه بهینه) برسد. از این جهت در ادامه به روش های شبه بهینه (Sub-Optimal) یافتن ویژگی ها اشاره خواهیم کرد و در این راستا الگوریتم های انتخاب ویژگی زیر مورد بررسی قرار خواهند گرفت.

  • بهترین ویژگی های فردی (Best Individual d Features)
  • جستجوی مستقیم ترتیبی (Sequential Forward Search – SFS)
  • جستجوی معکوس ترتیبی (Sequential Backward Search – SBS)
  • جستجوی افزودن l، حذف r یا (Plus r Minus l Search)
  • جستجوی مستقیم ترتیبی تعمیم یافته (Generalized Sequential Forward Search)
  • جستجوی معکوس ترتیبی تعمیم یافته (Generalized Sequential Backward Search)
  • جستجوی شناور (Floating Search)

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

توجه: در این بحث پیاده سازی عملی و کد نویسی تک تک روشها انجام نمی شود. کدنویسی و پیاده هر الگوریتم از روی توضیحات ارایه شده در این آموزش، برای افراد آشنا به برنامه نویسی به سادگی قابل انجام خواهد بود.

 

آموزش انتخاب ویژگی یا Feature Selection — کلیک کنید (+)

 

سرفصل های مورد بحث:

  • مقدمه – کاهش ابعاد
  • اهمیت کاهش ابعاد
  • تفاوت میان استخراج ویژگی و انتخاب ویژگی
  • بیان مسئله انتخاب ویژگی
  • تفاوت روش های فیلتر (Filter) و Wrapper
  • پیچیدگی محاسباتی مسئله انتخاب ویژگی
  • بهترین ویژگی های فردی (Best Individual d Features)
  • جستجوی مستقیم ترتیبی (Sequential Forward Search – SFS)
  • جستجوی معکوس ترتیبی (Sequential Backward Search – SBS)
  • جستجوی افزودن l، حذف r یا (Plus r Minus l Search)
  • جستجوی مستقیم ترتیبی تعمیم یافته (Generalized Sequential Forward Search)
  • جستجوی معکوس ترتیبی تعمیم یافته (Generalized Sequential Backward Search)
  • جستجوی شناور (Floating Search)
  • خلاصه بحث و نتیجه گیری

 


مجموعه: داده کاوی, شبکه های عصبی, هوش محاسباتی, یادگیری ماشینی برچسب ها: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

پاسخی بگذارید

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