بیش از حد مناسب و هرس

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

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

The general slope is +1, but because the dataset is so noisy, individual
data points are sometimes far off the best fit
line.

شکل 12. یک مجموعه داده پر سر و صدا.

برای محدود کردن بیش از حد برازش درخت تصمیم، یک یا هر دو معیار تنظیم زیر را هنگام آموزش درخت تصمیم اعمال کنید:

  • حداکثر عمق را تنظیم کنید: از رشد درختان تصمیم گیری از حداکثر عمق مانند 10 جلوگیری کنید.
  • تنظیم حداقل تعداد نمونه در برگ: برگ با تعداد نمونه کمتر از تعداد معینی برای تقسیم در نظر گرفته نمی شود.

شکل زیر تأثیر تفاوت حداقل تعداد نمونه در هر برگ را نشان می دهد. این مدل نویز کمتری را ضبط می کند.

Three plots, each showing the effects of a different value for the minimum
number of examples per leaf. The different values are 2, 5, and
10.

شکل 13. حداقل تعداد نمونه های متفاوت در هر برگ.

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

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

Two decision trees. One decision tree contains 9 nodes, and the other has
been pruned back to only 6 nodes by turning one of the conditions into
a leaf.

شکل 14. هرس یک وضعیت و فرزندان آن در یک برگ.

شکل زیر تأثیر استفاده از 20 درصد مجموعه داده به عنوان اعتبارسنجی برای هرس درخت تصمیم را نشان می دهد:

A plot showing a ragged overfitted model against a straight line ideal
model

شکل 15. استفاده از 20% از مجموعه داده برای هرس درخت تصمیم.

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

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

  • حداقل تعداد نمونه را در هر برگ اعمال کنید.
  • حداکثر عمق را برای محدود کردن رشد درخت تصمیم اعمال کنید.
  • درخت تصمیم را هرس کنید.
کد YDF
در YDF، الگوریتم‌های یادگیری با مقادیر پیش‌فرض برای تمام پارامترهای هرس از قبل پیکربندی شده‌اند. به عنوان مثال، در اینجا مقادیر پیش فرض برای دو هیپرپارامتر هرس وجود دارد:
  • حداقل تعداد نمونه 5 است ( min_examples = 5 )
  • 10٪ از مجموعه داده آموزشی برای اعتبار سنجی حفظ می شود ( validation_ratio = 0.1 ).
با تنظیم validation_ratio=0.0 می‌توانید هرس را با مجموعه داده اعتبارسنجی غیرفعال کنید.

این معیارها ابرپارامترهای جدیدی را معرفی می‌کنند که نیاز به تنظیم دارند (مثلاً حداکثر عمق درخت)، اغلب با تنظیم خودکار فراپارامتر. درختان تصمیم عموماً به اندازه کافی سریع هستند تا بتوانند از تنظیم هایپرپارامتر با اعتبارسنجی متقاطع استفاده کنند. به عنوان مثال، در یک مجموعه داده با مثال های "n":

  • نمونه های آموزشی را به گروه های غیر همپوشانی p تقسیم کنید. به عنوان مثال: p=10 .
  • برای تمام مقادیر فراپارامتر ممکن؛ برای مثال، حداکثر عمق در {3،5،6،7،8،9}، حداقل نمونه ها در {5،8،10،20}.
    • در هر گروه، کیفیت درخت تصمیم آموزش داده شده بر روی سایر گروه های p-1 را ارزیابی کنید.
    • میانگین ارزیابی در گروه ها.
  • مقدار فراپارامتر را با بهترین ارزیابی میانگین انتخاب کنید.
  • یک درخت تصمیم نهایی را با استفاده از تمام مثال های "n" با فراپارامترهای انتخاب شده آموزش دهید.

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

تفسیر درخت تصمیم مستقیم

درختان تصمیم به راحتی قابل تفسیر هستند. با این حال، تغییر حتی چند مثال می تواند ساختار و در نتیجه تفسیر درخت تصمیم را کاملاً تغییر دهد.

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

کد YDF
در YDF، می توانید با تابع model.describe() به درختان نگاه کنید. شما همچنین می توانید با model.get_tree() به درخت جداگانه دسترسی پیدا کرده و رسم کنید. برای جزئیات بیشتر به آموزش بازرسی مدل YDF مراجعه کنید.

با این حال، تفسیر غیر مستقیم نیز آموزنده است.