بیش از حد، منظم کردن، و توقف زودهنگام

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

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

Plots of training loss and validation loss versus the number of
  decision trees. Training loss gradually decreases as the number
  of decision trees increases. However, validation loss only decreases
  until about 40 decision trees. With more than 40 decision trees,
  validation loss actually increases. With 400 decision trees, the
  gap between training loss and validation loss is
  enormous.

شکل 29. تلفات در مقابل تعداد درختان تصمیم.

Plots of training accuracy and validation accuracy versus the number of
  decision trees. Training accuracy gradually increases as the number
  of decision trees increases, reaching a peak of almost 1.0 at 400
  decision trees. Validation accuracy increases to about 0.86 at 40
  decision trees, then gradually falls to about 0.83 at 400 decision
  trees.

شکل 30. دقت در برابر تعداد درختان تصمیم.

پارامترهای معمول تنظیم برای درختان تقویت شده با گرادیان عبارتند از:

  • حداکثر عمق درخت.
  • نرخ انقباض.
  • نسبت ویژگی های آزمایش شده در هر گره.
  • ضریب L1 و L2 بر ضرر.

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

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

مثال استفاده

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

model = tfdf.keras.GradientBoostedTreesModel()

# Part of the training dataset will be used as validation (and removed
# from training).
model.fit(tf_train_dataset)

# The user provides the validation dataset.
model.fit(tf_train_dataset, validation_data=tf_valid_dataset)

# Disable early stopping and the validation dataset. All the examples are
# used for training.
model.fit(
   tf_train_dataset,
   validation_ratio=0.0,
   early_stopping="NONE")
# Note: When "validation_ratio=0", early stopping is automatically disabled,
# so early_stopping="NONE" is redundant here.

استفاده و محدودیت ها

درختان تقویت شده با گرادیان جوانب مثبت و منفی دارند.

جوانب مثبت

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

منفی

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