انتخاب ویژگی در شناسایی الگو


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

ویژگی

ویژگی یک مشخصه/پارامتر قابل اندازه گیری از پدیده ای است که آنرا بررسی میکنیم. ویژگی ها اطلاعات مهمی در مورد پدیده به ما ارائه می دهند و ما با داشتن این ویژگی ها میتوانیم ماهیت داده ی ورودی را تشخیص دهیم.

 

مشخصات یک ویژگی خوب

ما برای اینکه درک بهتری از رویکرد روشهای انتخاب ویژگی داشته باشیم بهتر است در ابتدا بدانیم که مشخصات یک ویژگی خوب چیه.

مشخصات یک ویژگی خوب

یک ویژگی خوب باید سه مولفه زیر را داشته باشد:

  • حاوی اطلاعات باشد(informative)
  • تفکیک پذیر باشد(discriminative)
  • مستقل از سایر ویژگی ها باشد(non-redundant)

 

برای انتخاب ویژگی روشی مناسب است که در فرایند انتخاب ویژگی هر سه مولفه را در نظر بگیرد.

 

انواع روشهای انتخاب ویژگی

روشهای انتخاب ویژگی به طور کلی به دو دسته تکی (filter method) و گروهی (wrapper method) دسته بندی می شوند. هر کدام از این رویکردها مزایا و معایب خودشان را دارند که در ادامه باهم بررسی میکنیم.

انتخاب ویژگی به صورت اسکالر/تکی (filter method)

همانطور که از اسم این روشها پیدا است، در این روشها ویژگی ها به صورت تکی بررسی ، امتیازبندی و انتخاب می شوند. در این رویکردها تک تک ویژگی ها به صورت جدا طبق معیاری که روش انتخاب ویژگی دارد بررسی می شوند، به تک تک ویژگی ها یک امتیازی داده می شود و در نهایت ویژگی ها براساس امتیازی که دارند مرتب می شوند و در نهایت از بین آنها چندتا از بهترینها انتخاب می شوند.

روشهای اسکالر چون ویژگی ها را یکی یکی بررسی میکنند برای همین فقط از لحاظ informative  و تفکیک پذیری به آنها امتیاز میدهند و کاری ندارند که ویژگی ها به هم وابستگی دارند یا نه!

انتخاب ویژگی به صورت اسکالر

مزیت

زمان اجرای بسیار پایینی برای انتخاب ویژگی دارند و در سریعترین زمان ممکن ویژگی ها را انتخاب می‌کنند.

معایب

  • redundancy بین ویژگی ها در پروسه انتخاب ویژگی بررسی نمی شود!

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

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

ولی در عمل ما ویژگی هایی استخراج میکنیم که خیلی از آنها یا اطلاعاتی در مورد مسئله ارائه نمی دهند و یا اطلاعات مفید اما مشابهی نسبت به سایر ویژگی ها ارائه میدهند و عملا بود و نبود این ویژگی ها تاثیری در نتیجه ندارد!

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

برای همین است که میگوییم روشهای اسکالر فقط دو مولفه informative و discriminative  بودن ویژگی ها را در پروسه انتخاب ویژگی در نظر میگیرند و ممکن است ویژگی هایی انتخاب کنند که وابسته به هم باشند!

  • مدل یادگیری ماشین دخالتی در پروسه انتخاب ویژگی ندارد!

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

انتخاب ویژگی با این روش ها مثل این میمونه پدر و مادر یک فردی براش زن/شوهر انتخاب کنند بدون اینکه خود فرد در جریان اینکار باشه! یا مثلا هیئت مدیره در انتخاب بازیکن فوتبال، نظر مربی را در نظر نگیرد و هر بازیکنی که خودشان میخواهند خرید کنند!

 

انتخاب ویژگی به صورت گروهی/تیمی/برداری/ترکیبی (wrapper method)

در این رویکرد، ویژگی ها به صورت تیمی بررسی می شوند و هدف این است که ویژگی هایی انتخاب شوند، که کنار هم به بهترین نتیجه برسند.  در این رویکرد هر سه مولفه ویژگی خوب در پروسه انتخاب ویژگی در نظر گرفته می شود! در این رویکرد، تلاش بر این است که تمام ترکیبهای ممکن بین ویژگی ها بررسی شود و از بین آنها بهترین ترکیب انتخاب شود.

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

انتخاب ویژگی به صورت برداری

مزایا

  • هر سه مولفه یک ویژگی خوب را  در نظر می گیرند.
  • مدل یادگیری ماشین در جریان پروسه انتخاب ویژگی قرار میگیرد.

معایب

ایراد این رویکرد زمان بر بودن آن هست و اگر تعداد ویژگی ها زیاد باشد شاید عملا نتوان از این رویکرد به خاطر زمان بر بودن استفاده کرد.

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



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


دیدگاه ها

دیدگاهتان را بنویسید

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

code