Bagging و جنگل تصادفی

توضیح بدهی چرا میانگین‌گیری از مدل‌ها واریانس را کم می‌کند و جنگل تصادفی چه چیزی به Bagging اضافه می‌کند.

13 دقیقه مطالعه · 5 سؤال تمرینی · یادگیری ماشین میانی و پیشرفته

بوت‌استرپ و Bagging

Bagging (Bootstrap Aggregating) BB مجموعه‌ی آموزشی می‌سازد که هرکدام nn نمونه با جایگذاری از داده‌ی اصلی است. روی هرکدام یک مدل آموزش می‌دهد و در پایان پیش‌بینی‌ها را میانگین می‌گیرد (رگرسیون) یا رأی‌گیری می‌کند (دسته‌بندی).

احتمال اینکه یک نمونه‌ی مشخص در یک نمونه‌گیری بوت‌استرپ انتخاب نشود:

(1−1n)n→n→∞e−1≈0.368\left(1 - \frac1n\right)^n \xrightarrow{n\to\infty} e^{-1} \approx 0.368

پس هر مجموعه‌ی بوت‌استرپ حدوداً ۶۳٫۲٪ نمونه‌های یکتا را دارد.

چرا میانگین‌گیری کار می‌کند؟

فرض کنید BB مدل داریم که هرکدام واریانس σ2\sigma^2 دارند و همبستگی دوبه‌دویشان ρ\rho است. واریانس میانگین آن‌ها:

Var⁡(1B∑b=1Bf^b)=ρ σ2+1−ρB σ2\operatorname{Var}\Big(\frac1B\sum_{b=1}^B \hat f_b\Big) = \rho\,\sigma^2 + \frac{1-\rho}{B}\,\sigma^2
  • با افزایش BB، جمله‌ی دوم از بین می‌رود، ولی جمله‌ی اول، ρσ2\rho\sigma^2، باقی می‌ماند.
  • پس برای کاهش بیشتر واریانس باید همبستگی مدل‌ها را کم کرد.

جنگل تصادفی دقیقاً همین کار را می‌کند: در هر تقسیم درخت، فقط یک زیرمجموعه‌ی تصادفی از mm ویژگی بررسی می‌شود. پیش‌فرض‌های رایج m≈pm \approx \sqrt p برای دسته‌بندی و m≈p/3m \approx p/3 برای رگرسیون است.

OOB و اینکه Bagging به چه مدل‌هایی کمک می‌کند

  • خطای OOB: هر نمونه را فقط با درخت‌هایی که آن را ندیده‌اند پیش‌بینی می‌کنیم. نتیجه یک تخمین اعتبارسنجی رایگان است، بدون نیاز به کنار گذاشتن داده.
  • Bagging برای یادگیرنده‌های ناپایدار با واریانس بالا و بایاس پایین، مثل درخت‌های عمیق، بیشترین اثر را دارد.
  • برای مدل‌های پایدار مثل رگرسیون خطی تقریباً اثری ندارد، چون مدل‌های بوت‌استرپ تقریباً یکسان‌اند.
  • افزایش تعداد درخت‌ها در جنگل تصادفی معمولاً باعث بیش‌برازش نمی‌شود، فقط خطا را به حد خودش نزدیک می‌کند.

تمرین‌های این درس را حل کن (رایگان)