انتخاب ویژگی با الگوریتم ژنتیک
تعریف مساله انتخاب ویژگی
مساله انتخاب ویژگی(feature selection)، یکی از مسائل مهم و کاربردی در یادگیری ماشین است که در مرحله پیش پردازش از آن استفاده می گردد. برای آموزش مدل های طبقه بندی مانند شبکه های عصبی، به یک مجموعه داده مورد نیاز است که شامل نمونه های است که از تعدادی ویژگی تشکیل شده است و هر نمونه دارای یک برچسبی است که به عنوان کلاس آن نمونه شناخته می شود. برای آن که مدل خوب آموزش ببیند باید تعداد مناسبی نمونه موجود باشد که معمولا باید زیاد باشد. در بیشتر مسائل واقعی دنیا، اکثر ویژگی های نمونه ها زائد بوده و در عملکرد مدل تاثیر بدی دارد. بنابراین شناسایی ویژگی های خوب و تاثیر گذار در دقت طبقه بندی مدل یک امر مهم در یادگیری ماشین می باشد.
این کار توسط الگوریتم های انتخاب ویژگی انجام می شود. هدف اصلی انتخاب ویژگی، کاهش تعداد ویژگی های مجموعه و انتخاب ویژگی های مهم و تاثیرگزار در دقت طبقه بندی است بطوری که مدل با کمترین تعداد ویژگی بیشترین دقت طبقه بندی را داشته باشد.
طبق تعریف بالا از انتخاب ویژگی، می توان نتیجه گرفت که مساله انتخاب ویژگی یک مساله بهینه سازی است. بنابراین می توان آن را بصورت یک مساله بهینه سازی دو هدفه مدلسازی کرد و آن را با الگوریتم های بهینه سازی حل کرد. انواع مختلفی از الگوریتم های بهینه سازی موجود است. انتخاب یک روش مناسب برای حل این مساله خود یک چالش مهم است.
انتخاب ویژگی را می توان به عنوان بردارهای جوابی درنظر گرفت که طول آن برابر با تعداد کل ویژگی ها و مقادیر مولفه های آن ۰ یا ۱ تشکیل شده است. مقدار ۱ به منزله انتخاب شدن ویژگی و ۰ به عنوان انتخاب نشدن ویژگی است. با توجه به این اینکه حالت های زیادی از این بردار های جواب وجود دارد و تعداد جایگشت های آن برابر با ۲ به توان تعداد ویژگی کل است. از این رو، مساله انتخاب ویژگی یک مساله NP-Hard بوده و الگوریتم های فراابتکاری برای حل آن مناسب می باشد.
الگوریتم ژنتیک
الگوریتم ژنتیک(genetic algorithm) یکی از معروف ترین و بهترین الگوریتم های تکاملی است که تاکنون در مسائل گسترده ای به کارگرفته شده است. در ادامه، کد متلب(Matlab Code) الگوریتم ژنتیک برای انتخاب ویژگی پیوست شده است که روی یک مجموعه داده تست و مورد ارزیابی قرار گرفته است.
GA for Feature selection problems
قیمت: ۱۰۰۰۰۰ تومان
همچنین، توضیحات کد را می توانید بصورت فیلم از لینک زیر مشاهده کنید.
دقت طبقه بندی حاصل از این پروژه توسط یک مدل ترکیبی بصورت زیر است:

