Diferencia entre bosque aleatorio y árboles extremadamente aleatorizados

44

Comprendí que el bosque aleatorio y los árboles extremadamente aleatorios difieren en el sentido de que las divisiones de los árboles en el bosque aleatorio son deterministas, mientras que son aleatorios en el caso de los árboles extremadamente aleatorios (para ser más precisos, la siguiente división es la mejor división entre divisiones uniformes aleatorias en las variables seleccionadas para el árbol actual). Pero no entiendo completamente el impacto de estas divisiones diferentes en varias situaciones.

  • ¿Cómo se comparan en términos de sesgo / varianza?
  • ¿Cómo se comparan en presencia de variables irrelevantes?
  • ¿Cómo se comparan en presencia de variables correlacionadas?
RUser4512
fuente
2
(a) ERT a veces puede estar más sesgado debido a divisiones menos óptimas / ERT a veces reducirá la variación debido a una mayor descorrelación de los árboles; (b) Supongo lo mismo, no estoy seguro; (c) Supongo lo mismo, no estoy seguro. Extra: No llamaría a la división de RF determinista debido al muestreo aleatorio de variables, y los árboles, por supuesto, tampoco se deben a bootstrapping.
Soren Havelund Welling
¿Qué es un uniform split?
octaviano

Respuestas:

31

El (aleatorizado) -Los árboles (ET) Extra- artículo contiene un análisis sesgo-varianza. En la página 16 puede ver una comparación con varios métodos, incluida la RF en seis pruebas (clasificación de árbol y tres regresiones).

Ambos métodos son casi iguales, con el ET siendo un poco peor cuando hay una gran cantidad de características ruidosas (en conjuntos de datos de alta dimensión).

Dicho esto, siempre que la selección de características (quizás manual) sea casi óptima, el rendimiento es casi el mismo, sin embargo, los ET pueden ser computacionalmente más rápidos.

Del artículo mismo:

El análisis del algoritmo y la determinación del valor óptimo de K en varias variantes de problemas de prueba han demostrado que el valor depende en principio de los detalles del problema, en particular la proporción de atributos irrelevantes . [...] El análisis de sesgo / varianza ha demostrado que los árboles extra funcionan disminuyendo la varianza y al mismo tiempo aumentando el sesgo . [...] Cuando la aleatorización aumenta por encima del nivel óptimo, la varianza disminuye ligeramente, mientras que el sesgo aumenta a menudo significativamente.

Sin bala de plata como siempre.


Pierre Geurts, Damien Ernst, Louis Wehenke. "Árboles extremadamente aleatorizados"

shuriken x azul
fuente
3
¿Alguna referencia (ya sea empírica o teórica) con respecto a que ET sea un poco peor cuando hay una gran cantidad de características ruidosas? ¿O se basa esto en la experiencia?
ramhiser
1
En mi experiencia, sucede lo contrario: Extra-Trees funciona mejor con muchas características ruidosas. Con la advertencia de que debe tener un gran bosque (muchos estimadores, n_estimadores en sklearn) y ajustar el número de características consideradas en cada división (max_features en sklearn) para que esto funcione. Un solo árbol adicional se sobreajustará más que un solo árbol forestal aleatorio, pero si tiene muchos árboles extra, tenderán a sobreajustarse de diferentes maneras y no a sobreajustarse. A menudo obtengo una mejora sustancial de hasta 3000 estimadores.
denson
Como señaló @ramhiser, ET parece mantener un mayor rendimiento en presencia de características ruidosas. ¿Puedes agregar algunas referencias a tu respuesta?
Goncalo Peres apoya a Mónica el
3

La respuesta es que depende. Le sugiero que pruebe tanto el bosque aleatorio como los árboles adicionales en su problema. Pruebe grandes bosques (1000 - 3000 árboles / estimadores, n_estimadores en sklearn) y ajuste el número de características consideradas en cada división (max_features en sklearn), así como las muestras mínimas por división (min_samples_split en sklearn) y la profundidad máxima del árbol ( max_depth en sklearn). Dicho esto, debes tener en cuenta que el ajuste excesivo puede ser una forma de sobreajuste.

Aquí hay dos problemas en los que trabajé personalmente, donde los árboles adicionales resultaron útiles con datos muy ruidosos:

Bosques de decisión para la clasificación de aprendizaje automático de conjuntos de características de fondo marino grandes y ruidosos

Una predicción eficiente del trastorno de proteínas distribuidas con muestras pegadas

denson
fuente
3

Muchas gracias por las respuestas ! Como todavía tenía preguntas, realicé algunas simulaciones numéricas para tener más información sobre el comportamiento de estos dos métodos.

  • Los árboles adicionales parecen mantener un mayor rendimiento en presencia de características ruidosas.

La siguiente imagen muestra el rendimiento (evaluado con validación cruzada) a medida que se agregan al conjunto de datos columnas aleatorias irrelevantes para el objetivo. El objetivo es solo una combinación lineal de las tres primeras columnas. bosque aleatorio vs árboles adicionales en presencia de variables irrelevantes

  • Cuando todas las variables son relevantes, ambos métodos parecen lograr el mismo rendimiento,

  • Los árboles adicionales parecen tres veces más rápidos que el bosque aleatorio (al menos, en la implementación de scikit learn)

Fuentes

Enlace al artículo completo: bosque aleatorio vs árboles adicionales .

RUser4512
fuente
1
De su artículo vinculado: "En azul se presentan los resultados del bosque aleatorio y el rojo para los árboles adicionales".
tomsv
2

ExtraTreesClassifier es como un hermano de RandomForest pero con 2 diferencias importantes.

ingrese la descripción de la imagen aquí

Estamos construyendo múltiples árboles de decisión. Para construir múltiples árboles, necesitamos múltiples conjuntos de datos. La mejor práctica es que no entrenamos los árboles de decisión en el conjunto de datos completo, sino que solo entrenamos en una fracción de datos (alrededor del 80%) para cada árbol. En un bosque aleatorio, dibujamos observaciones con reemplazo. Entonces podemos repetir las observaciones en un bosque aleatorio. En un Clasificador ExtraTrees, estamos dibujando observaciones sin reemplazo, por lo que no repetiremos observaciones como en un bosque aleatorio.

La división es el proceso de convertir un nodo primario no homogéneo en 2 nodos secundarios homogéneos (lo mejor posible). En RandomForest, selecciona la mejor división para convertir el padre en los dos nodos secundarios más homogéneos. En un ExtraTreesClassifier, selecciona una división aleatoria para dividir el nodo primario en dos nodos secundarios aleatorios.

Veamos algunos métodos de conjunto ordenados de alta a baja varianza, que termina en ExtraTreesClassifier.

1. Árbol de decisión (alta variación)

Por lo general, un solo árbol de decisión sobreajusta los datos de los que está aprendiendo porque aprende de una sola vía de decisiones. Las predicciones de un solo árbol de decisión generalmente no hacen predicciones precisas sobre nuevos datos.

2. Bosque aleatorio (variación media)

Los modelos forestales aleatorios reducen el riesgo de sobreajuste al introducir aleatoriedad al:

  • construyendo múltiples árboles (n_estimators)
  • dibujo de observaciones con reemplazo (es decir, una muestra de arranque)
  • dividir nodos en la mejor división entre un subconjunto aleatorio de las características seleccionadas en cada nodo. Dividir es un proceso para convertir un nodo primario no homogéneo en 2 nodos secundarios homogéneos (lo mejor posible).

3. Árboles extra (baja variación)

Extra Trees es como un bosque aleatorio, en el sentido de que construye múltiples árboles y divide nodos usando subconjuntos aleatorios de características, pero con dos diferencias clave: no arranca las observaciones (lo que significa que muestra sin reemplazo), y los nodos se dividen en divisiones aleatorias, No las mejores divisiones. En resumen, ExtraTrees:

  • construye múltiples árboles con bootstrap = False por defecto, lo que significa que muestra sin reemplazo
  • los nodos se dividen en función de divisiones aleatorias entre un subconjunto aleatorio de las características seleccionadas en cada nodo

En Extra Trees, la aleatoriedad no proviene de la inicialización de los datos, sino que proviene de las divisiones aleatorias de todas las observaciones. ExtraTrees lleva el nombre de (Árboles extremadamente aleatorios).

Ashish Anand
fuente