Переобучение, регуляризация и ранняя остановка

В отличие от случайных лесов, деревья с усиленным градиентом могут переобуваться. Поэтому, что касается нейронных сетей, вы можете применить регуляризацию и раннюю остановку, используя набор данных проверки.

Например, на следующих рисунках показаны кривые потерь и точности для обучающих и проверочных наборов при обучении модели 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.

Использование и ограничения

Деревья с градиентным усилением имеют свои плюсы и минусы.

Плюсы

  • Как и деревья решений, они изначально поддерживают числовые и категориальные признаки и часто не требуют предварительной обработки признаков.
  • Деревья с градиентным усилением имеют гиперпараметры по умолчанию, которые часто дают отличные результаты. Тем не менее настройка этих гиперпараметров может значительно улучшить модель.
  • Модели деревьев с градиентным усилением обычно небольшие (по количеству узлов и памяти) и быстро выполняются (часто всего одна или несколько мкс/примеры).

Минусы

  • Деревья решений необходимо обучать последовательно, что может значительно замедлить обучение. Однако замедление обучения несколько компенсируется меньшими размерами деревьев решений.
  • Как и случайные леса, деревья с градиентным усилением не могут обучаться и повторно использовать внутренние представления. Каждое дерево решений (и каждая ветвь каждого дерева решений) должно заново изучить шаблон набора данных. В некоторых наборах данных, особенно в наборах данных с неструктурированными данными (например, изображениями, текстом), это приводит к тому, что деревья с градиентным усилением показывают худшие результаты, чем другие методы.