خب بذار راحت بگم: وقتی با دادههای خیلی بزرگ و پیچیده سروکار داری (مثلاً وقتی تعداد ویژگیها یا “Feature”ها کلی زیاده)، معلومه که همه اطلاعات اونقدر هم به دردبخور نیستن! معمولاً کلی نویز و اطلاعات اضافه وسط این حجم از دادهها هست که فقط کار رو خراب و کند میکنن. حالا بیایم یه راهحل هوشمندانه برای این مشکل معرفی کنیم که مقاله روش کار کرده و واقعاً جواب داده.
اینجا صحبت از یه فریمورک (Framework یعنی چارچوب یا روش کلی کار) دینامیک یا پویاست که برای انتخابِ بهترین ویژگیها طراحی شده. جالب اینه که این روش، چندکارهست (یعنی Multitask، که میتونه چند وظیفه رو همزمان انجام بده!) و از اون مهمتر، از یادگیری رقابتی (اصطلاحاً Competitive Learning، یعنی یادگیری بر اساس رقابت بین مدلها) و انتقال دانش (Knowledge Transfer یعنی یکی بتونه از تجربه بقیه یاد بگیره) توی یه محیط بهینهسازی تکاملی استفاده میشه. به زبون ساده، الگوریتمی داریم که همزمان با چند تا هدف کار میکنه، داره رقابت میکنه، و تجربهها رو به همدیگه منتقل میکنه تا بهترین نتیجه رو بگیره!
حالا قضیه چیه؟
اول، این روش میاد با یه استراتژی باحال، دو تا وظیفه (Task) مکمل میسازه. استراتژیش چند شاخص (Indicator) براش مهمه؛ یعنی میبینه کدوم ویژگیها بهدردبخورترن و چه اطلاعاتی توی داده مهمه. اینجوری هم کلیات رو درنظر میگیره، هم رو جزئیات زوم میکنه! بعد این دو تا وظیفه به طور موازی یعنی همزمان بهینه میشن با کمک الگوریتم هوش ازدحامی ذرات (Particle Swarm Optimization یا PSO؛ این یه روش هوشمندالهام گرفته از حرکت پرندهها و ماهیها تو طبیعته که دنبال بهترین جواب میگردن!).
اما اینجا یه چیز اضافه داره: یادگیری نخبگان! یعنی هر ذره (Particle) نه فقط از قهرمانها، که از نخبههای کل سیستم هم یاد میگیره تا گیر نکنه و تنوع راهحلها بالا بمونه. اصطلاحاً به این حالت، Hierarchical Elite Learning میگن (که یعنی یه سطحی از یادگیری وجود داره که همه از بهترینها الگو میگیرن).
تا اینجا همه چی خوب. ولی برای اینکه یه وقت الگوریتم رو به تکرار نیافته و همیشه دنبال راههای بهتر باشه، انتقال دانش به روش احتمالی نخبهمحور (Probabilistic Elite-based Knowledge Transfer) رو گذاشتن وسط. یعنی چی؟ یعنی هر ذره با شانسهای مختلفی میتونه از راهحلهای فوقالعاده توی هر تسک یاد بگیره و این باعث میشه الگوریتم هِی گیر نکنه و به راههای جدید برسه.
نتیجه چی شده؟ توی آزمایشها روی ۱۳ تا دیتاستِ خیلی بزرگ و استاندارد، این روش واقعاً ترکونده! تونسته توی ۱۱ تا از این ۱۳ دیتاست بیشترین دقت دستهبندی رو بیاره. تازه توی ۸ تا از ۱۳تا هم کمترین تعداد ویژگی رو نگه داشته (یعنی کلی ویژگی اضافی حذف شده). اگه بخوام با عدد بگم: متوسط دقتش شده ۸۷.۲۴ درصد و میانگین کاهش ابعادش ۹۶.۲٪ بوده! مثلاً به طور متوسط فقط ۲۰۰ ویژگی بین اونهمه ویژگی باقی مونده – بقیه حذف شدن. این یعنی هم سرعت بالا رفته، هم نتیجه دقیقتر شده.
در مجموع، این الگوریتمی که مقاله معرفی کرده، واقعاً برای کار با دادههای عظیم و انتخاب بهترین ویژگیها عالیه. همزمان چند وظیفه رو با دقت و سرعت انجام میده، رقابت داره، نخبهها رو الگو میکنه و از هم یاد میگیرن تا بهترین جواب رو پیدا کنن. اگه با دادههای بزرگ درگیر میشی یا دنبال بهینهسازی انتخاب ویژگی (Feature Selection) هستی، این مدل بهدردبخوره! یادگیری رقابتی و یادگیری نخبهها و انتقال دانش بین وظایف، همهش کمک میکنه که بهترین ویژگیها رو انتخاب کنی و بدردنخورها رو بریزی دور! 😉
منبع: +