انتخاب ویژگی ( Feature Selection ):
برای مساله انتخاب ویژگی، راه حلها و الگوریتمهای فراوانی ارائه شده است که بعضی از آن ها قدمت سی یا چهل ساله دارند. مشکل بعضی از الگوریتمها در زمانی که ارائه شده بودند، بار محاسباتی زیاد آن ها بود، اگر چه امروزه با ظهور کامپیوترهای سریع و منابع ذخیره سازی بزرگ، این مشکل به چشم نمیآید ولی از طرف دیگر، مجموعههای دادهای بسیار بزرگ برای مسائل جدید باعث شده است که همچنان پیدا کردن یک الگوریتم سریع برای این کار مهم باشد. مساله انتخاب ویژگی به وسیله نویسندگان مختلف، از دیدگاههای متفاوتی مورد بررسی قرار گرفته است. هر نویسنده نیز با توجه به نوع کاربرد، تعریفی را از آن ارائه داده است. در ادامه چند مورد از این تعاریف را بیان میکنیم:
1. تعریف ایدهآل: پیدا کردن یک زیرمجموعه با حداقل اندازه ممکن، برای ویژگیها است، که برای هدف موردنظر اطلاعات لازم و کافی را در بر داشته باشد. بدیهی است که هدف تمام الگوریتمها و روشهای انتخاب ویژگی، همین زیر مجموعه است.
2. تعریف کلاسیک: انتخاب یک زیرمجموعه M عنصری از میان N ویژگی، به طوریکه M < N باشد و مقدار یک تابع معیار ( Criterion Function ( برای زیرمجموعه موردنظر، نسبت به سایر زیرمجموعههای هماندازه دیگر بهینه باشد. این تعریفی است که Fukunaga و Narenda در سال 1111 ارائه داده اند.
3. افزایش دقت پیشگوئی: هدف انتخاب ویژگی این است که یک زیرمجموعه از ویژگیها برای افزایش دقت پیشگوئی، انتخاب شوند. به عبارت دیگر کاهش اندازه ساختار بدون کاهش قابل ملاحظه در دقت پیشگوئی طبقهبندی کنندهای که با استفاده از ویژگی های داده شده بدست میآید، صورت گیرد.
4. تخمین توزیع کلاس اصلی: هدف از انتخاب ویژگی این است که یک زیرمجموعه کوچک از ویژگیها انتخاب شوند، توزیع ویژگی هایی که انتخاب میشوند، بایستی تا حد امکان به توزیع کلاس اصلی با توجه به تمام مقادیر ویژگی های انتخاب شده نزدیک باشد.
روشهای مختلف انتخاب ویژگی، تلاش میکنند تا از میان زیر مجموعه کاندید، بهترین زیرمجموعه را پیدا کنند. در تمام این روشها براساس کاربرد و نوع تعریف، زیر مجموعهای به عنوان جواب انتخاب میشود، که بتواند مقدار یک تابع ارزیابی را بهینه کند. با وجود این که هر روشی سعی میکند که بتواند، بهترین ویژگیها را انتخاب کند، اما با توجه به وسعت جوابهای ممکن، و این که این مجموعههای جواب به صورت توانی با N افزایش پیدا میکنند، پیدا کردن جواب بهینه مشکل و در Nهای متوسط و بزرگ بسیار پر هزینه است. به طور کلی روشهای مختلف انتخاب ویژگی را براساس نوع جستجو به دسته های مختلفی تقسیم بندی میکنند. در بعضی روشها تمام فضای ممکن جستجو میگردد. در سایر روشها که میتواند مکاشفهای و یا جستجوی تصادفی باشد، در ازای از دست دادن مقداری از کارایی، فضای جستجو کوچکتر میشود.
روشهای مختلف انتخاب ویژگی ؟
تکنیک های انتخاب ویژگی را می توان به دو شیوه دسته بندی کرد : در یک شیوه، روشهای مختلف انتخاب ویژگی را براساس دو معیار تابع تولیدکننده و تابع ارزیابی طبقه بندی میکنیم و براساس رویکرد دیگر تکنیک های انتخاب ویژگی را به سه دسته Filter ، Wrapper و embedded or hybrid تقسیم می کنیم.
روش فیلتر Filter برای انتخاب ویژگی:
ویژگی ها را براساس یک مرحله پیش پردازش که الگوریتم یادگیری را نادیده می گیرد انتخاب میکند. روش فیلتر براساس
ویژگی های ذاتی داده بنا شده است نه براساس دسته بند خاصی. ذات فیلترها برجستجوی ویژگی های وابسته و حذف غیر وابسته ها است. الگوریتم های فیلتر بر پایه چهار معیار ارزیابی مختلف به نام های “مسافت ،اطلاعات ،وابستگی و سازگاری” ارزیابی می شوند .به راحتی برای دیتاست های با ابعاد بالا به کار می روند. از نظر محاسباتی خیلی ساده و سریع هستند و مستقل از الگوریتم دسته بندی هستند . شیوه کار آنها به این طریق است که ابتدا ویژگی ها را به وسیله یک سری معیارها امتیازدهی می کند. سپس d تا از بهترین ویژگی ها را انتخاب می کند. سپس این مجموعه به عنوان ورودی به الگوریتم دسته بندی، داده می شود. به بیان دیگر به طور مستقل به تک تک ویژگی ها امتیازی داده می شود و سپس براساس آن امتیازات مرتب می شوند. این امتیازات می توانند نشان دهنده رابطه بین ویژگی و عنوان کلاس باشند. بدین منظور می توان از تست t یا تست فیشر استفاده کرد. مشکل رویکرد فیلتر آن است که رابطه درونی بین ویژگی ها درنظر گرفته نشده و ممکن است مجموعه انتخابی دارای تعداد زیادی ویژگی وابسته به هم باشد، درنتیجه هدف ما که کاهش ویژگی تا حد ممکن و حذف ویژگی های غیرضروری است را محقق نمی سازد.
انتخاب ویژگی به روش Wrapper:
این رویکرد مجموعه ویژگی را براساس دسته بندی کننده، انتخاب می کند و این مجموعه را با استفاده از دقت پیش بینی یا میزان خوب بودن خوشه ها امتیازدهی می کند یعنی کلاس بندی را یک جعبه سیاه محسوب می کند و زیر مجموعه ویژگی ها را براساس توان پیش بینی آن ها رتبه بندی می کند. این متد از بعضی استراتژی های جستجو مثل SFS و SBS استفاده می کند. این روش ها به روش های ترتیبی منسوب هستند. در این رویکرد، تمامی زیرمجموعه های ممکن از ویژگی ها درنظر گرفته می شود و با ارزیابی همه حالت ها بهترین آن ها که کمترین خطای عمومی را به همراه دارد انتخاب می شود. این متدها در انواع مسائل قادر به یافتن بهترین پاسخ می باشند. اگرچه ممکن است روش های wrapper نسبت به روش های فیلتر نتایج بهتری را تولید کنند ولی اجرای این روش ها پرهزینه است و در بعضی مواقع که تعداد ویژگی ها زیاد باشد منجر به شکست می شوند. مشکل اصلی روش های بسته بندی پیچیدگی بسیار بالاست که منجر به کنترل ناپذیرشدن مسیر حل مسئله می شود.
روش Embedded برای انتخاب ویژگی:
این مدل از مزایای هر دو مدل قبلی به وسیله استفاده از معیارهای ارزیابی مختلفشان در مراحل متفاوت جستجو سود می برد. در متد embedded جستجو برای یک مجموعه ویژگی بهینه ، درون ساختار دسته بندی کننده قرار دارد. در این رویکرد کنترل انتخاب تعداد مناسب ویژگی مشکل است و معمولا با افزونگی ویژگی ها مواجه می شویم. در اینجا نیز ارتباط بین ویژگی ها نادیده گرفته شده است که باعث مشکلاتی در انتخاب نهایی ویژگی ها می شود.
الگوریتم های فراابتکاری برای انتخاب ویژگی ؟
مساله انتخاب ویژگی دارای راه حل قطعی و مشخصی نیست و روشی دقیق و ریاضی برای حل آن ارائه نشده است. روش های مختلفی به صورت سنتی برای انتخاب ویژگی پیشنهاد شده اند که معمولا دقت پ مناسب و مطلوب ندارند. اما در مقابل، روش های بهینه سازی هوشمند و مبتنی بر فرابتکاری ها می توانند در حل این مسائل، راه حل های به نسبت بهتری را ارائه نمایند. بنابراین، یکی از الگوریتم های موثر و هوشمند برای حل مسائل انتخاب ویژگی در کاربردهای مختلف، استفاده از روش های بهینه سازی فراابتکاری و هوشمند است. لذا در این دوره با جدیدترین الگوریتم فراابتکاری عملیات بهینه سزای توابع و انتخاب ویژگی با دیتاست مشخصی انجام می شود.
هدف از این دوره آموزشی:
هدف این دوره آموزشی جامع انتخاب ویژگی با الگوریتم های متاهیورستیک است. مساله انتخاب ویژگی دارای راه حل قطعی و مشخصی نیست و روشی دقیق و ریاضی برای حل آن ارائه نشده است. روش های مختلفی به صورت سنتی برای انتخاب ویژگی پیشنهاد شده اند که معمولا دقت مناسب و مطلوب ندارند. اما در مقابل، روش های بهینه سازی هوشمند و مبتنی بر فرابتکاری ها می توانند در حل این مسائل، راه حل های بهتری را پیدا کنند. بنابراین، یکی از الگوریتم های مطلوب و هوشمند برای حل مسائل انتخاب ویژگی در کاربردهای مختلف، استفاده از روش های بهینه سازی فراابتکاری و هوشمند است. لذا در این دوره با جدیدترین الگوریتم فراابتکاری عملیات بهینه سزای توابع و انتخاب ویژگی با دیتاست مشخصی انجام می شود. دیتاست استفاده شده برای این الگوریتم دیتاست پژشکی است که میتوانید هر دیتاستی را جایگزین کنید و عملیات انتخاب ویژگی را با این کدها روی هر دیتاستی به صورت آسان انجام دهید. در این دوره به صورت پروژه محور تئوری بخش های مختلف بهینه سازی بحث و بررسی می شود و سپس پیاده سازی عملی آن با زبان پایتون انجام می شود. مدرس این دوره سال ها در این زمینه تخصص و تجربه دارد و دانش بهینه سازی و انتخاب ویژگی آن را برای مسائل مختلف به شما آموزش می دهد. ابتدا مروی کامل روی پایتون انجام می شود و بعد از آن تئوری بهینه سازی و انتخاب ویژگی به صورت کامل آموزش داده می شود. در نهایت پیاده سازی های مختلفی از بهینه سازی توابع و انتخاب ویژگی با جدیدترین الگوریتم های متاهیوریستیک انجام می شود. بدون شک یکی از بهترین دوره های انتخاب ویژگی با الگوریتم های متاهیورستیک است که با زبان فارسی، ساده و روان توضیح داده شده است. امیدواریم که این آموزش از “بیگ لرن” هم مثل سایر آموزش ها مورد تایید و رضایت شما مخاطبان گرامی قرار گیرد. جزئیات این آموزش در زیر لیست شده و پیش نمایش آن در لینک زیر قرار دارد.
بخش صفر: مرور کامل روی پایتون
بخش اول: مرور یادگیری ماشین/عمیق
بخش دوم: انتخاب ویژگی با روش های ریاضی
بخش سوم: بهینه سازی و انتخاب ویژگی با روش های ریاضی (تحلیلی)
بخش چهارم: انتخاب ویژگی و بهینه سازی با روش های فراابتکاری (متاهیوریستیک)
نظرات
4 دیدگاه برای انتخاب ویژگی با الگوریتم های فراابتکاری
برای فرستادن دیدگاه، باید وارد شده باشید.
رضا
دوره عالی بود. من که واقعا راضی بودم و خوب ارائه شده بود. با تشکر از مجموعه بیگ لرن
امیر
عالی. مدرس به مطالب بسیار مسلط است و به خوبی مطالب رو بیان می کند. ممنونم
لیلا
از نحوه تدریس مدرس خیلی خوشم اومد. برای کار و دانشگاهم بدردم خورد.
کاظم
تشکر ویژه از آقای دکتر به خاطر این دوره خیلی خوب