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

هی هابر!

ما در Reksoft مقاله را به روسی ترجمه کردیم انتخاب ویژگی در یادگیری ماشین. امیدواریم برای همه علاقمندان به موضوع مفید واقع شود.

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

برای درک هر الگوریتمی، باید به همه متغیرهای موجود در داده ها نگاه کنید و بفهمید که آن متغیرها چه چیزی را نشان می دهند. این بسیار مهم است زیرا منطق پشت نتایج مبتنی بر درک داده ها است. اگر داده ها حاوی 5 یا حتی 50 متغیر هستند، می توانید همه آنها را بررسی کنید. اگر 200 عدد باشد چه؟ سپس زمان کافی برای مطالعه تک تک متغیرها وجود نخواهد داشت. علاوه بر این، برخی از الگوریتم‌ها برای داده‌های طبقه‌بندی کار نمی‌کنند، و سپس باید تمام ستون‌های طبقه‌بندی را به متغیرهای کمی تبدیل کنید (ممکن است کمی به نظر برسند، اما معیارها نشان می‌دهند که دسته‌بندی هستند) تا آنها را به مدل اضافه کنید. بنابراین، تعداد متغیرها افزایش می یابد و حدود 500 مورد از آنها وجود دارد، اکنون چه باید کرد؟ ممکن است تصور شود که پاسخ کاهش ابعاد است. الگوریتم‌های کاهش ابعاد تعداد پارامترها را کاهش می‌دهند اما تأثیر منفی بر تفسیرپذیری دارند. چه می‌شود اگر تکنیک‌های دیگری وجود داشته باشد که ویژگی‌ها را حذف می‌کند و در عین حال درک و تفسیر بقیه را آسان می‌کند؟

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

متغیرهای بسیار همبسته

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

مقادیر P

در الگوریتم هایی مانند رگرسیون خطی، یک مدل آماری اولیه همیشه ایده خوبی است. این به نشان دادن اهمیت ویژگی ها از طریق مقادیر p آنها کمک می کند که توسط این مدل به دست آمده است. با تنظیم سطح معنی داری، مقادیر p حاصل را بررسی می کنیم و اگر مقداری کمتر از سطح معنی داری مشخص شده باشد، این ویژگی معنی دار اعلام می شود، یعنی تغییر در مقدار آن احتمالاً منجر به تغییر در مقدار می شود. هدف.

انتخاب مستقیم

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

انتخاب معکوس

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

حذف ویژگی بازگشتی

RFE یک تکنیک/الگوریتم پرکاربرد برای انتخاب تعداد دقیق ویژگی های مهم است. گاهی اوقات از این روش برای توضیح تعدادی از «مهم ترین» ویژگی هایی که بر نتایج تأثیر می گذارند استفاده می شود. و گاهی اوقات برای کاهش تعداد بسیار زیادی از متغیرها (حدود 200-400)، و فقط آنهایی که حداقل سهمی در مدل دارند حفظ می شوند و بقیه از مطالعه حذف می شوند. RFE از یک سیستم رتبه بندی استفاده می کند. ویژگی‌های موجود در مجموعه داده‌ها رتبه‌بندی می‌شوند. سپس از این رتبه‌ها برای حذف بازگشتی ویژگی‌ها براساس همخطی بین آنها و اهمیت آن ویژگی‌ها در مدل استفاده می‌شود. علاوه بر رتبه‌بندی ویژگی‌ها، RFE می‌تواند نشان دهد که آیا این ویژگی‌ها حتی برای تعداد مشخصی از ویژگی‌ها مهم هستند یا نه (زیرا به احتمال زیاد تعداد ویژگی‌های انتخاب‌شده ممکن است بهینه نباشد، و تعداد بهینه ویژگی‌ها ممکن است بیشتر باشد. یا کمتر از تعداد انتخاب شده).

نمودار اهمیت ویژگی

وقتی در مورد تفسیرپذیری الگوریتم‌های یادگیری ماشین صحبت می‌کنیم، معمولاً رگرسیون‌های خطی (که به شما امکان می‌دهد اهمیت ویژگی‌ها را با استفاده از p-value تجزیه و تحلیل کنید) و درخت‌های تصمیم (به معنای واقعی کلمه اهمیت ویژگی‌ها را در قالب یک درخت نشان می‌دهند و در همان زمان سلسله مراتب آنها). از سوی دیگر، الگوریتم‌هایی مانند Random Forest، LightGBM و XG Boost اغلب از نمودار اهمیت ویژگی استفاده می‌کنند، یعنی نموداری از متغیرها و «اعداد اهمیت آنها» رسم می‌شود. این به ویژه زمانی مفید است که شما نیاز به ارائه یک منطق ساختار یافته برای اهمیت ویژگی ها از نظر تأثیر آنها بر تجارت دارید.

منظم سازی

منظم سازی برای کنترل تعادل بین سوگیری و واریانس انجام می شود. سوگیری نشان می دهد که مدل چقدر روی مجموعه داده های آموزشی بیش از حد برازش داشته است. انحراف نشان می دهد که چقدر پیش بینی ها بین مجموعه داده های آموزشی و آزمایشی متفاوت بود. در حالت ایده آل، هم سوگیری و هم واریانس باید کوچک باشند. اینجاست که قانون‌گذاری به کمک می‌آید! دو تکنیک اصلی وجود دارد:

منظم‌سازی L1 - کمند: کمند وزن‌های مدل را جریمه می‌کند تا اهمیت آنها را به مدل تغییر دهد و حتی می‌تواند آنها را باطل کند (یعنی آن متغیرها را از مدل نهایی حذف کند). به طور معمول، کمند زمانی استفاده می شود که یک مجموعه داده شامل تعداد زیادی متغیر باشد و شما می خواهید برخی از آنها را حذف کنید تا بهتر درک کنید که چگونه ویژگی های مهم بر مدل تأثیر می گذارد (یعنی آن ویژگی هایی که توسط Lasso انتخاب شده اند و به آنها اهمیت داده شده است).

L2 Regularization - روش Ridge: وظیفه Ridge این است که همه متغیرها را ذخیره کند و در عین حال بر اساس سهم آنها در عملکرد مدل به آنها اهمیت دهد. اگر مجموعه داده شامل تعداد کمی متغیر باشد و همه آنها برای تفسیر یافته ها و نتایج به دست آمده ضروری باشند، Ridge انتخاب خوبی خواهد بود.

از آنجایی که Ridge همه متغیرها را نگه می‌دارد و Lasso کار بهتری در تعیین اهمیت آنها انجام می‌دهد، الگوریتمی ایجاد شد که بهترین ویژگی‌های هر دو نظم‌دهی را با هم ترکیب می‌کند، به نام Elastic-Net.

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

با تشکر از شما برای خواندن! یادگیری مبارک!

منبع: www.habr.com

اضافه کردن نظر