Motivación detrás de los pasos aleatorios del algoritmo forestal

11

El método con el que estoy familiarizado para construir un bosque aleatorio es el siguiente: (de http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm )

Para construir un árbol en el bosque nosotros:

  1. Bootstrap una muestra de tamaño N donde N es el tamaño de nuestro conjunto de entrenamiento. Use esta muestra de arranque como el conjunto de entrenamiento para este árbol.
  2. En cada nodo del árbol, seleccione aleatoriamente m de nuestras características M. Seleccione la mejor de estas funciones m para dividir. (donde m es un parámetro de nuestro bosque aleatorio)
  3. Cultive cada árbol en la mayor medida posible, es decir, sin poda.

Si bien este algoritmo tiene sentido a nivel de procedimiento y ciertamente produce buenos resultados, no estoy claro cuál es la motivación teórica detrás de los pasos 1, 2 y 3. ¿Podría alguien explicar qué motivó a alguien a idear este procedimiento y por qué? funciona tan bien?

Por ejemplo: ¿por qué necesitamos realizar el paso 1? No parece que estemos haciendo bootstrapping para su propósito habitual de reducción de varianza.

tSchema
fuente

Respuestas:

9

Los métodos de conjunto (como los bosques aleatorios) requieren algún elemento de variación en los conjuntos de datos en los que se cultivan los clasificadores base individuales (de lo contrario, los bosques aleatorios terminarían con un bosque de árboles que son demasiado similares). Como los árboles de decisión son muy sensibles a las observaciones en el conjunto de entrenamiento, la variación de las observaciones (usando el bootstrap) fue, supongo, un enfoque natural para obtener la diversidad requerida. La alternativa obvia es variar las características que se utilizan, por ejemplo, capacitar a cada árbol en un subconjunto de las características originales. El uso de las muestras de bootstrap también nos permite estimar la tasa de error fuera de bolsa (OOB) y la importancia variable.

2 es esencialmente otra forma de inyectar aleatoriedad en el bosque. También tiene un impacto en la reducción de la correlación entre los árboles (mediante el uso de un valor bajo), con la compensación (potencialmente) empeorando el poder predictivo. El uso de un valor demasiado grande de mtry hará que los árboles se vuelvan cada vez más similares entre sí (y en el extremo terminará en bolsas)

Creo que la razón para no podar se debe más al hecho de que no es necesario que cualquier otra cosa. Con un solo árbol de decisión, normalmente lo podarías, ya que es muy susceptible al sobreajuste. Sin embargo, al usar las muestras de bootstrap y cultivar muchos árboles, los bosques aleatorios pueden cultivar árboles que son individualmente fuertes, pero que no están particularmente correlacionados entre sí. Básicamente, los árboles individuales están sobreajustados, pero siempre que sus errores no estén correlacionados, el bosque debe ser razonablemente preciso.

La razón por la que funciona bien es similar al teorema del jurado de Condorcet (y la lógica detrás de métodos como el refuerzo). Básicamente, tienes muchos estudiantes débiles que solo necesitan un rendimiento marginalmente mejor que adivinar al azar. Si esto es cierto, puede seguir agregando estudiantes débiles, y en el límite obtendrá predicciones perfectas de su conjunto. Claramente, esto está restringido debido a que los errores de los alumnos se correlacionan, lo que impide que mejore el rendimiento del conjunto.

SimonCB765
fuente
Buena respuesta, y la asociación con el teorema del jurado de Condorcet tiene sentido. Sin embargo, formalmente, ¡la razón por la que funciona bien es por la desigualdad de jensen!
JEquihua