62 votos

¿Depende el óptimo número de árboles en un bosque al azar el número de predictores?

¿Alguien puede explicar por qué necesitamos una gran cantidad de árboles de bosque aleatorio cuando el número de predictores es grande? ¿Cómo podemos determinar el número óptimo de los árboles?

90voto

mathgirl Puntos 31

Al azar usos de los bosques de embolsado (tomando una muestra de observaciones, más que a todos ellos) y al azar subespacio método (tomando una muestra de características más que todos ellos, en otras palabras - atributo embolsado) para que crezca un árbol. Si el número de observaciones es grande, pero el número de árboles es demasiado pequeño, a continuación, algunas observaciones serán predicho sólo una vez o incluso en absoluto. Si el número de factores es grande, pero el número de árboles es demasiado pequeño, entonces algunas de las características puede (teóricamente) se puede perder en todos los subespacios utilizado. Ambos casos se traduce en la disminución de bosque aleatorio poder predictivo. Pero el último es más bien un caso extremo, ya que la selección del subespacio que se realiza en cada nodo.

Durante la clasificación de los subespacios de dimensión es de $\sqrt{p}$ (más bien pequeña, $p$ es el número total de factores) por defecto, pero un árbol contiene muchos de los nodos. Durante la regresión del subespacio dimensionalidad es de $p/3$ (suficientemente grande) por defecto a través de un árbol contiene menos nodos. Por lo que el número óptimo de árboles en un bosque aleatorio depende del número de predictores sólo en casos extremos.

La página oficial del algoritmo de estados que un bosque no overfit, y se puede utilizar tanto de los árboles como usted desea. Pero Mark R. Segal (14 De Abril De 2004. "La máquina de los Parámetros de Aprendizaje y Bosque Aleatorio de Regresión." Centro de Bioinformática Y Molecular, Bioestadística) ha encontrado que overfits para algunos conjuntos de datos ruidosos. Así que para obtener el número óptimo puede intentar formación bosque aleatorio en una cuadrícula de ntree parámetro (simple, pero más de la CPU que consume) o construir uno al azar bosque con muchos árboles con keep.inbag, calcular fuera de la bolsa (OOB) las tasas de error para los primeros $n$ árboles (donde $n$ cambios $1$ a ntree) y la trama OOB tasa de error vs número de árboles (más complejo, pero menos de la CPU que consume).

-2voto

silvio Puntos 101

En consecuencia a este artículo

Sugieren que un bosque aleatorio debe tener un número de árboles entre 64-128 árboles. Con eso, debe tener un buen equilibrio entre AUC ROC y tiempo de procesamiento.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X