Sobreajuste, regularización y interrupción anticipada

A diferencia de los bosques aleatorios, los árboles con boosting del gradiente pueden sobreajustarse. Por lo tanto, en cuanto a puedes aplicar regularización y interrupción anticipada con un conjunto de datos de validación.

Por ejemplo, en las siguientes figuras se muestran las curvas de pérdida y exactitud para el entrenamiento cuando se entrena un modelo de GBT. Observa lo divergentes que son las curvas lo que sugiere un grado alto de sobreajuste.

Diagramas de pérdida de entrenamiento y pérdida de validación en comparación con el número de
  árboles de decisión. La pérdida de entrenamiento
disminuye de forma gradual
  de árboles de decisión. Sin embargo, la pérdida de validación solo disminuye
  hasta 40 árboles de decisión. Con más de 40 árboles de decisión,
  la pérdida de validación en realidad aumenta. Con 400 árboles de decisión, el
  la brecha entre la pérdida
de entrenamiento y la de validación
  enormes.

Figura 29. Pérdida frente a cantidad de árboles de decisión

 

Diagramas de exactitud del entrenamiento y exactitud de la validación frente al número de
  árboles de decisión. La exactitud del entrenamiento aumenta gradualmente a medida que la cantidad
  aumenta la cantidad de árboles de decisión, hasta alcanzar un pico de casi 1.0 a 400
  árboles de decisión. La precisión de la validación aumenta a aproximadamente 0.86 a 40.
  árboles de decisión, luego cae gradualmente a 0.83 en 400
  árboles.

Figura 30. Exactitud frente a cantidad de árboles de decisión.

 

Entre los parámetros comunes de regularización para los árboles con boosting del gradiente se incluyen los siguientes:

  • La profundidad máxima del árbol.
  • Es la tasa de reducción.
  • La proporción de atributos probados en cada nodo.
  • los coeficientes L1 y L2 sobre la pérdida.

Ten en cuenta que los árboles de decisión generalmente crecen mucho más superficiales que un bosque aleatorio. e implementar modelos automáticamente. De forma predeterminada, los árboles con boosting del gradiente en TF-DF se cultivan hasta una profundidad de 6. Debido a que los árboles son superficiales, la cantidad mínima de ejemplos por hoja tiene tiene poco impacto y, por lo general, no se ajusta.

La necesidad de un conjunto de datos de validación es un problema cuando la cantidad de ejemplos es pequeño. Por lo tanto, es común entrenar árboles con boosting del gradiente dentro de un bucle de validación cruzada, o para inhabilitar la interrupción anticipada cuando el modelo sobreajusta.

Ejemplo de uso

En el capítulo anterior, entrenamos un bosque aleatorio en un conjunto de datos pequeño. En este ejemplo, solo reemplazaremos el modelo aleatorio de bosque por un gradiente aumentado modelo de árboles:

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.

Uso y limitaciones

Los árboles con boosting del gradiente tienen algunas ventajas y desventajas.

Ventajas

  • Al igual que los árboles de decisión, admiten de forma nativa atributos y, a menudo, no necesitan su procesamiento previo.
  • Los árboles con boosting del gradiente tienen hiperparámetros predeterminados que suelen dar resultados. Sin embargo, ajustar esos hiperparámetros puede mejorar el modelo.
  • Los modelos de árbol potenciados por gradientes suelen ser pequeños (en cantidad de nodos y en memoria) y son rápidas de ejecutarse (a menudo, solo uno o varios μs / ejemplos).

Desventajas

  • Los árboles de decisión se deben entrenar de manera secuencial, lo que puede ralentizar el entrenamiento de manera significativa. Sin embargo, la demora del entrenamiento se compensa árboles de decisión son más pequeños.
  • Al igual que los bosques aleatorios, los árboles con gradientes no pueden aprender ni reutilizar de datos. Cada árbol de decisiones (y cada rama de cada árbol de decisiones) debes volver a aprender el patrón del conjunto de datos. En algunos conjuntos de datos, en especial los conjuntos de datos datos no estructurados (por ejemplo, imágenes o texto), esto aumenta el gradiente árboles para mostrar resultados menos satisfactorios que otros métodos.