امیررضا جهانتاب
10 یادداشت منتشر شدهیادگیری گروهی (Ensemble Learning)
یادگیری مجموعه ای یک پارادایم قدرتمند در یادگیری ماشین است که از ترکیب چندین مدل برای بهبود عملکرد پیش بینی و افزایش استحکام استفاده می کند. به جای تکیه بر یک مدل منفرد، روش های مجموعه ای از نقاط قوت مدل های مختلف بهره می برند تا واریانس، بایاس و خطای تعمیم را کاهش دهند.
روش های یادگیری مجموعه ای در کاربردهای مختلفی از جمله طبقه بندی، رگرسیون و شناسایی ناهنجاری ها به کار می روند. این روش ها به ویژه زمانی موثر هستند که مدل های منفرد از بی ثباتی یا قدرت پیش بینی محدودی رنج ببرند.
انواع یادگیری مجموعه ای
یادگیری مجموعه ای را می توان به چندین دسته تقسیم کرد که رایج ترین آنها عبارتند از:
- بگینگ (Bagging - Bootstrap Aggregating)
- بوستینگ (Boosting)
- استکینگ (Stacking)
- رای گیری و میانگین گیری (Voting and Averaging)

بگینگ یک تکنیک یادگیری مجموعه ای است که دقت و پایداری مدل های یادگیری ماشین را با آموزش چندین مدل بر روی زیرمجموعه های مختلف داده های آموزشی بهبود می بخشد. این روش با کاهش واریانس، از بیش برازش (Overfitting) جلوگیری می کند و برای مدل هایی با واریانس بالا مانند درخت های تصمیم گیری بسیار مفید است.
جنگل تصادفی: یک الگوریتم محبوب در بگینگ
جنگل تصادفی (Random Forest) یکی از معروف ترین الگوریتم های بگینگ است که از چندین درخت تصمیم گیری تشکیل شده و هر کدام روی یک نمونه بوت استرپ شده از داده های آموزشی تمرین داده می شوند. در مرحله پیش بینی، نتایج درخت های مختلف ترکیب شده و یک خروجی نهایی ارائه می شود.
ویژگی های کلیدی جنگل تصادفی:
- استفاده از نمونه های بوت استرپ شده از داده های آموزشی.
- آموزش مستقل هر درخت و رای گیری برای تصمیم گیری نهایی.
- کاهش بیش برازش با میانگین گیری از چندین مدل.
- قابلیت مدیریت داده های نویزی و مقادیر گمشده.
بوستینگ یک تکنیک یادگیری مجموعه ای است که مدل ها را به صورت ترتیبی آموزش می دهد، به طوری که هر مدل جدید خطاهای مدل های قبلی را اصلاح می کند. این روش بر نمونه هایی که سخت تر طبقه بندی شده اند تمرکز دارد و عملکرد کلی را بهبود می بخشد.
آدا بوست (Adaptive Boosting - AdaBoost)
آدا بوست یکی از اولین الگوریتم های بوستینگ است که با اختصاص وزن های مختلف به نمونه های آموزشی و تنظیم آنها به صورت تکراری بر اساس خطاهای مدل های قبلی کار می کند.
ویژگی های کلیدی آدا بوست:
- اختصاص وزن های بیشتر به نمونه های اشتباه طبقه بندی شده.
- ترکیب یادگیرنده های ضعیف (مانند درخت های تصمیم گیری کم عمق) برای ساخت یک یادگیرنده قوی.
- کارایی بالا در مسائل طبقه بندی دودویی.
- حساسیت به داده های نویزی و موارد پرت (Outliers).
ایکس جی بوست (Extreme Gradient Boosting - XGBoost)
ایکس جی بوست نسخه ای بهینه شده از بوستینگ گرادیانی است که بسیار کارآمد و مقیاس پذیر بوده و در رقابت های یادگیری ماشین مانند کگل (Kaggle) محبوبیت زیادی دارد.
ویژگی های کلیدی ایکس جی بوست:
- استفاده از گرادیان مرتبه دوم برای بهینه سازی بهتر.
- دارای مکانیزم های منظم سازی برای جلوگیری از بیش برازش.
- پشتیبانی از پردازش موازی برای سرعت بخشیدن به آموزش مدل.
- توانایی مدیریت مقادیر گمشده.
- ارائه اعتبارسنجی متقابل (Cross-validation) داخلی.
استکینگ (Generalized Stacking) یک روش یادگیری مجموعه ای است که چندین مدل پایه را با استفاده از یک متا-یادگیرنده ترکیب می کند. برخلاف میانگین گیری یا رای گیری ساده، استکینگ نحوه بهترین ترکیب مدل های مختلف را یاد می گیرد تا پیش بینی های بهتری ارائه دهد.
نحوه کار استکینگ:
- آموزش چندین مدل پایه بر روی داده های آموزشی.
- تولید خروجی های پیش بینی شده توسط مدل های پایه.
- آموزش یک متا-یادگیرنده بر روی این خروجی ها برای تولید پیش بینی نهایی.
ویژگی های کلیدی استکینگ:
- امکان ترکیب مدل های متنوع، مانند درخت های تصمیم، ماشین بردار پشتیبان و شبکه های عصبی.
- استفاده از یک متا-یادگیرنده (مانند رگرسیون لجستیک) برای یادگیری بهترین ترکیب از مدل های پایه.
- بهبود تعمیم پذیری مدل، اما نیازمند انتخاب دقیق مدل ها برای جلوگیری از بیش برازش است.
رای گیری و میانگین گیری از روش های ساده ترکیب چندین مدل برای بهبود پیش بینی هستند.
- رای گیری سخت (Hard Voting): هر مدل یک رای می دهد و کلاس با بیشترین رای انتخاب می شود.
- رای گیری نرم (Soft Voting): احتمال هر کلاس توسط مدل های مختلف محاسبه شده و کلاس با بیشترین احتمال انتخاب می شود.
- میانگین گیری (Averaging): در مسائل رگرسیون، میانگین خروجی چندین مدل گرفته می شود.
چه زمانی از هر روش استفاده کنیم؟
- بگینگ: هنگامی که مدل ها دارای واریانس بالا هستند (مانند درخت های تصمیم گیری).
- بوستینگ: زمانی که مدل ها دارای بایاس بالا هستند و نیاز به بهبود دارند.
- استکینگ: هنگامی که ترکیب مدل های متنوع می تواند دقت را افزایش دهد.
- رای گیری/میانگین گیری: زمانی که ترکیب ساده مدل ها می تواند عملکرد را بهبود بخشد.
نتیجه گیری
یادگیری مجموعه ای یک تکنیک اساسی در یادگیری ماشین است که عملکرد مدل ها را از طریق ترکیب چندین یادگیرنده بهبود می بخشد. درک روش های بگینگ، بوستینگ، استکینگ و رای گیری، همراه با الگوریتم های محبوب مانند جنگل تصادفی، آدا بوست و ایکس جی بوست، برای متخصصان این حوزه ضروری است. با انتخاب روش مناسب بر اساس ویژگی های مسئله، می توان مدل هایی قدرتمند و دقیق برای کاربردهای دنیای واقعی طراحی کرد.