جنگل های تصادفی

جنگل تصادفی ( RF ) مجموعه ای از درختان تصمیم است که در آن هر درخت تصمیم با نویز تصادفی خاصی آموزش داده می شود. جنگل های تصادفی محبوب ترین شکل مجموعه درخت تصمیم هستند. این واحد چندین تکنیک را برای ایجاد درخت‌های تصمیم مستقل برای بهبود شانس ساخت یک جنگل تصادفی موثر مورد بحث قرار می‌دهد.

کوله بری

Bagging ( b ootstrap agg regat ing ) به معنی آموزش هر درخت تصمیم بر روی یک زیرمجموعه تصادفی از نمونه های مجموعه آموزشی است. به عبارت دیگر، هر درخت تصمیم در جنگل تصادفی بر روی زیرمجموعه های متفاوتی از مثال ها آموزش داده می شود.

کوله بری عجیب است. هر درخت تصمیم بر روی همان تعداد مثال در مجموعه آموزشی اصلی آموزش داده می شود. به عنوان مثال، اگر مجموعه آموزشی اصلی شامل 60 مثال باشد، هر درخت تصمیم بر روی 60 مثال آموزش داده می شود. با این حال، بسته بندی فقط هر درخت تصمیم را در زیر مجموعه ای (معمولاً 67٪) از آن نمونه ها آموزش می دهد. بنابراین، برخی از آن 40 مثال در زیرمجموعه باید در حین آموزش درخت تصمیم معین مورد استفاده مجدد قرار گیرند. این استفاده مجدد را آموزش "با جایگزینی" می نامند.

به عنوان مثال، جدول 6 نشان می دهد که چگونه bagging می تواند شش مثال را در سه درخت تصمیم توزیع کند. به موارد زیر توجه کنید:

  • هر درخت تصمیم در مجموع شش مثال را آموزش می دهد.
  • هر درخت تصمیم بر روی مجموعه ای متفاوت از مثال ها آموزش می بیند.
  • هر درخت تصمیم از نمونه های خاصی استفاده مجدد می کند. به عنوان مثال، مثال #4 دو بار در آموزش درخت تصمیم 1 استفاده شده است. بنابراین، وزن آموخته شده مثال شماره 4 به طور موثر در درخت تصمیم 1 دو برابر می شود.

جدول 6. جمع آوری شش مثال آموزشی در سه درخت تصمیم. هر عدد نشان دهنده تعداد دفعاتی است که یک مثال آموزشی (#1-6) در مجموعه داده آموزشی یک درخت تصمیم معین (1-3) تکرار شده است.

نمونه های آموزشی
#1 #2 #3 #4 #5 #6
مجموعه داده اصلی 1 1 1 1 1 1
درخت تصمیم 1 1 1 0 2 1 1
درخت تصمیم 2 3 0 1 0 2 0
درخت تصمیم 3 0 1 3 1 0 1

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

در حالی که در مقاله جنگل تصادفی اصلی وجود ندارد، نمونه برداری از نمونه ها گاهی اوقات "بدون جایگزینی" انجام می شود. یعنی یک مثال آموزشی نمی تواند بیش از یک بار در مجموعه آموزشی درخت تصمیم وجود داشته باشد. به عنوان مثال، در جدول قبل، همه مقادیر همگی 0 یا 1 خواهند بود.

کد YDF
می توانید آموزش را بدون جایگزینی با تخصیص زیر در YDF فعال کنید: bootstrap_training_dataset=False

نمونه گیری صفت

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

درخت تصمیم زیر نمونه‌برداری ویژگی/ویژگی را نشان می‌دهد. در اینجا یک درخت تصمیم بر روی 5 ویژگی (f1-f5) آموزش داده شده است. گره های آبی نشان دهنده ویژگی های آزمایش شده هستند در حالی که گره های سفید آزمایش نشده اند. این شرایط از بهترین ویژگی های آزمایش شده (با یک طرح کلی قرمز نشان داده شده) ساخته شده است.

Three nodes, all of which show five features. The root node and one of its
child nodes tests three of the five features. The other child node
tests two of the five features.

شکل 21. نمونه گیری ویژگی.

نسبت نمونه‌گیری ویژگی یک فراپارامتر منظم‌سازی مهم است. در شکل قبلی از نسبت ~⅗ استفاده شده است. بسیاری از پیاده سازی های تصادفی جنگل، به طور پیش فرض، 1/3 ویژگی ها را برای رگرسیون و sqrt (تعداد ویژگی ها) را برای طبقه بندی آزمایش می کنند.

در TF-DF، فراپارامترهای زیر نمونه‌گیری ویژگی را کنترل می‌کنند:

  • num_candidate_attributes
  • num_candidate_attributes_ratio

به عنوان مثال، اگر num_candidate_attributes_ratio=0.5 ، نیمی از ویژگی ها در هر گره آزمایش می شوند.

غیرفعال کردن تنظیم درخت تصمیم

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

ما انتظار داریم که دقت آموزش و آزمون یک جنگل تصادفی متفاوت باشد. دقت آموزش یک جنگل تصادفی به طور کلی بسیار بالاتر است (گاهی اوقات برابر با 100٪). با این حال، دقت تمرین بسیار بالا در یک جنگل تصادفی طبیعی است و نشان نمی دهد که جنگل تصادفی بیش از حد برازش شده است.

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

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

  • حداکثر عمق ~16
  • حداقل تعداد مشاهدات در هر برگ ~5 است.

شما می توانید این هایپرپارامترها را تنظیم کنید.

کد YDF
تیونر YDF یک راه ساده برای تنظیم هایپرپارامترها است. برای جزئیات بیشتر به آموزش تنظیم YDF مراجعه کنید.

وضوح نویز

چرا صدای تصادفی کیفیت یک جنگل تصادفی را بهبود می بخشد؟ برای نشان دادن مزایای نویز تصادفی، شکل 22 پیش‌بینی‌های یک درخت تصمیم کلاسیک (هرس شده) و یک جنگل تصادفی را نشان می‌دهد که بر روی چند نمونه از مسائل ساده دو بعدی با الگوی بیضی آموزش داده شده است.

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

Three illustrations. The first illustration, labeled Ground Truth, is a
perfect ellipse. The second illustration, labeled Pruned decision tree,
is somewhere between an ellipse and a rectangle. A third illustration,
labeled Random forest, is not quite an ellipse, but is much closer to
an ellipse than the illustration labeled Pruned decision
tree.

شکل 22. حقیقت زمین در مقابل پیش بینی های ایجاد شده توسط یک درخت تصمیم هرس شده و پیش بینی های تولید شده توسط یک جنگل تصادفی.

نمودار بعدی پیش بینی های سه درخت تصمیم اول هرس نشده جنگل تصادفی را نشان می دهد. یعنی درخت های تصمیم همه با ترکیبی از موارد زیر آموزش داده می شوند:

  • بسته بندی
  • نمونه گیری ویژگی
  • غیرفعال کردن هرس

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

Three very noisy ellipses.

شکل 23. سه درخت تصمیم هرس نشده که یک مجموعه موثر می سازند.

از آنجایی که درخت‌های تصمیم‌گیری یک جنگل تصادفی هرس نمی‌شوند، آموزش یک جنگل تصادفی به مجموعه داده اعتبارسنجی نیاز ندارد. در عمل، و به ویژه در مجموعه داده های کوچک، مدل ها باید بر روی تمام داده های موجود آموزش داده شوند.

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

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

A plot of accuracy vs. number of decision trees described in the previous
paragraph.

شکل 24. با اضافه شدن درخت های تصمیم گیری بیشتر به جنگل تصادفی، دقت ثابت می ماند.