Bosques aleatorios

Un bosque aleatorio (RF) es un ensamble de árboles de decisión en el que cada árbol de decisión se entrena con un ruido aleatorio específico. Los bosques aleatorios son la forma más popular de ensamble de árboles de decisión. En esta unidad, se analizan varias técnicas para crear árboles de decisión independientes para mejorar las probabilidades de crear un bosque aleatorio eficaz.

Bolsa

El empaquetado (bootstrap aggregating) significa entrenar cada árbol de decisión en un subconjunto aleatorio de los ejemplos del conjunto de entrenamiento. En otras palabras, cada árbol de decisión en el bosque aleatorio se entrena con un subconjunto diferente de ejemplos.

El empaquetado es algo peculiar. Cada árbol de decisión se entrena con la misma cantidad de ejemplos que en el conjunto de entrenamiento original. Por ejemplo, si el conjunto de entrenamiento original contiene 60 ejemplos, cada árbol de decisión se entrena con 60 ejemplos. Sin embargo, el empaquetado solo entrena cada árbol de decisión en un subconjunto (por lo general, el 67%) de esos ejemplos. Por lo tanto, algunos de esos 40 ejemplos del subconjunto deben reutilizarse mientras se entrena un árbol de decisión determinado. Esta reutilización se denomina entrenamiento “con reemplazo”.

Por ejemplo, en la Tabla 6, se muestra cómo el empaquetado podría distribuir seis ejemplos en tres árboles de decisión. Observa lo siguiente:

  • Cada árbol de decisión se entrena con un total de seis ejemplos.
  • Cada árbol de decisión se entrena con un conjunto diferente de ejemplos.
  • Cada árbol de decisión reutiliza ciertos ejemplos. Por ejemplo, el ejemplo n.o 4 se usa dos veces en el árbol de decisiones de entrenamiento 1; por lo tanto, el peso aprendido del ejemplo 4 se duplica de manera efectiva en el árbol de decisión 1.

Tabla 6. Sacar seis ejemplos de entrenamiento en tres árboles de decisión Cada número representa la cantidad de veces que se repite un ejemplo de entrenamiento determinado (#1-6) en el conjunto de datos de entrenamiento de un árbol de decisión determinado (1-3).

ejemplos de entrenamiento
1 #2 N.º 3 #4 #5 #6
conjunto de datos original 1 1 1 1 1 1
árbol de decisión 1 1 1 0 2 1 1
árbol de decisión 2 3 0 1 0 2 0
árbol de decisión 3 0 1 3 1 0 1

En el empaquetado, cada árbol de decisión casi siempre se entrena con la cantidad total de ejemplos en el conjunto de entrenamiento original. Entrenar cada árbol de decisión con más ejemplos o con menos ejemplos tiende a degradar la calidad del bosque aleatorio.

Si bien no está presente en el informe original del bosque aleatorio, el muestreo de ejemplos a veces se realiza "sin reemplazo". Es decir, un ejemplo de entrenamiento no puede estar presente más de una vez en un conjunto de entrenamiento de árbol de decisión. Por ejemplo, en la tabla anterior, todos los valores serían 0 o 1.

Código YDF
Puedes habilitar el entrenamiento sin reemplazo con la siguiente asignación en YDF: bootstrap_training_dataset=False

Muestreo de atributos

El muestreo de atributos significa que, en lugar de buscar la mejor condición sobre todas las funciones disponibles, solo se prueba un subconjunto aleatorio de funciones en cada nodo. El conjunto de funciones probadas se muestrea de forma aleatoria en cada nodo del árbol de decisión.

En el siguiente árbol de decisión se ilustra el muestreo de atributos o atributos. En este caso, el árbol de decisión se entrena con 5 atributos (f1-f5). Los nodos azules representan las funciones probadas, mientras que los blancos no se prueban. La condición se compila a partir de los atributos mejor probados (representados con un contorno rojo).

Tres nodos, todos los cuales muestran cinco atributos. El nodo raíz y uno de sus nodos secundarios prueban tres de las cinco funciones. El otro nodo secundario prueba dos de las cinco funciones.

Figura 21: Muestreo de atributos

 

La proporción del muestreo de atributos es un hiperparámetro de regularización importante. La figura anterior usa una proporción de ~3⁄5. Muchas implementaciones de bosques aleatorias prueban, de forma predeterminada, 1/3 de los atributos para regresión y sqrt(cantidad de atributos) para la clasificación.

En TF-DF, los siguientes hiperparámetros controlan el muestreo de atributos:

  • num_candidate_attributes
  • num_candidate_attributes_ratio

Por ejemplo, si es num_candidate_attributes_ratio=0.5, la mitad de las funciones se probarán en cada nodo.

Cómo inhabilitar la regularización del árbol de decisión

Los árboles de decisión individuales en un bosque aleatorio se entrenan sin podar. (Consulta Sobreajuste y reducción). Esto produce árboles demasiado complejos con baja calidad predictiva. En lugar de regularizar árboles individuales, estos se ensamblan produciendo predicciones generales más precisas.

Se expect que la exactitud del entrenamiento y la prueba de un bosque aleatorio difiera. La exactitud del entrenamiento de un bosque aleatorio es generalmente mucho mayor (a veces igual al 100%). Sin embargo, una exactitud de entrenamiento muy alta en un bosque aleatorio es normal y no indica que el bosque aleatorio está sobreajustado.

Las dos fuentes de aleatoriedad (empaquetado y muestreo de atributos) garantizan la independencia relativa entre los árboles de decisión. Esta independencia corrige el sobreajuste de los árboles de decisión individuales. En consecuencia, el ensamble no está sobreajustado. Explicaremos este efecto no intuitivo en la siguiente unidad.

Los bosques aleatorios puros se entrenan sin profundidad máxima o cantidad mínima de observaciones por hoja. En la práctica, limitar la profundidad máxima y la cantidad mínima de observaciones por hoja es beneficioso. De forma predeterminada, muchos bosques aleatorios usan los siguientes valores predeterminados:

  • profundidad máxima de aproximadamente 16
  • la cantidad mínima de observaciones por hoja es de ~5.

Puedes ajustar estos hiperparámetros.

Código YDF
El sintonizador de YDF es una forma sencilla de ajustar hiperparámetros. Consulta el instructivo de ajuste de YDF para obtener más detalles.

La claridad del ruido

¿Por qué el ruido aleatorio mejoraría la calidad de un bosque aleatorio? Para ilustrar los beneficios del ruido aleatorio, en la Figura 22, se muestran las predicciones de un árbol de decisión clásico (recortado) y un bosque aleatorio entrenado con algunos ejemplos de un problema bidimensional simple con un patrón de elipse.

Los patrones de elipses son muy difíciles de aprender para los algoritmos de árboles de decisión y bosques de decisión con condiciones alineadas con ejes, por lo que son un buen ejemplo. Ten en cuenta que el árbol de decisión reducido no puede obtener la misma calidad de predicción que el bosque aleatorio.

Tres ilustraciones. La primera ilustración, etiquetada como Verdad fundamental, es una elipse perfecta. La segunda ilustración, etiquetada como Árbol de
decisión reducido, está entre una elipse y un rectángulo. Una tercera ilustración, etiquetada como Bosque aleatorio, no es una elipse, sino que se acerca mucho más a una elipse que la etiqueta Árbol de decisión podado.

Figura 22: La verdad fundamental frente a las predicciones generadas por un solo árbol de decisión reducido y las predicciones generadas por un bosque aleatorio

En el siguiente gráfico, se muestran las predicciones de los tres primeros árboles de decisión sin podar del bosque aleatorio; es decir, todos los árboles de decisión se entrenan con una combinación de lo siguiente:

  • bolsa
  • muestreo de atributos
  • inhabilitando la reducción

Ten en cuenta que las predicciones individuales de estos tres árboles de decisión son peores que las predicciones del árbol de decisión reducido en la figura anterior. Sin embargo, como los errores de los árboles de decisión individuales solo están levemente correlacionados, los tres árboles de decisión se combinan en un ensamble para crear predicciones efectivas.

Tres elipses muy ruidosas.

Figura 23: Tres árboles de decisión sin podar que crearán un ensamble eficaz

Debido a que los árboles de decisión de un bosque aleatorio no se podan, entrenar un bosque aleatorio no requiere un conjunto de datos de validación. En la práctica, y en especial en conjuntos de datos pequeños, los modelos deben entrenarse con todos los datos disponibles.

Cuando se entrena un bosque aleatorio, a medida que se agregan más árboles de decisión, el error casi siempre disminuye; es decir, la calidad del modelo casi siempre mejora. Sí, agregar más árboles de decisión casi siempre reduce el error del bosque aleatorio. En otras palabras, agregar más árboles de decisión no puede causar un sobreajuste en el bosque aleatorio. En algún momento, el modelo solo deja de mejorar. Leo Breiman dijo: "Random Forests no sobreajusta, ya que se agregan más árboles".

Por ejemplo, en el siguiente gráfico, se muestra la evaluación de prueba de un modelo forestal aleatorio a medida que se agregan más árboles de decisión. La precisión mejora rápidamente hasta que se estabiliza alrededor de 0.865. Sin embargo, agregar más árboles de decisiones no disminuye la exactitud; en otras palabras,el modelo no se sobreajusta. Este comportamiento (en su mayoría) siempre es independiente y verdadero de los hiperparámetros.

Un gráfico de exactitud frente a la cantidad de árboles de decisión descritos en el párrafo anterior.

Figura 24: La exactitud se mantiene constante a medida que se agregan más árboles de decisión al bosque aleatorio.