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?
machine-learning
correlation
references
random-forest
RUser4512
fuente
fuente
uniform split
?Respuestas:
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:
Sin bala de plata como siempre.
Pierre Geurts, Damien Ernst, Louis Wehenke. "Árboles extremadamente aleatorizados"
fuente
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
fuente
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.
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.
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 .
fuente
ExtraTreesClassifier es como un hermano de RandomForest pero con 2 diferencias importantes.
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:
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:
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).
fuente