Mi pregunta: ¿Por qué el bosque aleatorio considera subconjuntos aleatorios de características para dividir a nivel de nodo dentro de cada árbol en lugar de a nivel de árbol ?
Antecedentes: esta es una cuestión de historia. Estaño Kam Ho publicó este trabajo en la construcción de "bosques de decisión", seleccionando al azar un subconjunto de características para el uso para el crecimiento de cada árbol en 1998. Varios años más tarde, en 2001, Leo Breiman publicó su seminal Bosque aleatoria de papel , en el que el subconjunto de características es al azar seleccionado en cada nodo dentro de cada árbol, no en cada árbol. Si bien Breiman citó a Ho, no explicó específicamente el movimiento de la selección de características aleatorias a nivel de árbol a nivel de nodo.
Me pregunto qué motivó específicamente este desarrollo. Parece que al seleccionar el subconjunto de características en el nivel del árbol se lograría la decorrelación deseada de los árboles.
Mi teoría: no he visto esto articulado en otro lugar, pero parece que el método de subespacio aleatorio sería menos eficiente en términos de obtener estimaciones de la importancia de la característica. Para obtener estimaciones de importancia variable, para cada árbol, las características se permutan aleatoriamente una por una, y se registra el aumento en la clasificación errónea o el aumento en el error para las observaciones fuera de bolsa. Las variables para las cuales la clasificación errónea o el aumento de error resultante de esta permutación aleatoria es alta son las de mayor importancia.
Lo que he visto hasta ahora: hasta ahora, he leído el artículo de Breiman y el documento de Ho, y he hecho una amplia búsqueda en línea para comparar los métodos sin encontrar una respuesta definitiva. Tenga en cuenta que se hizo una pregunta similar antes. Esta pregunta va un poco más allá al incluir mi especulación / trabajo hacia una posible solución. Me interesaría cualquier respuesta, citas relevantes o estudios de simulación que comparen los dos enfoques. Si no llega ninguno, planeo ejecutar mi propia simulación comparando los dos métodos.
Respuestas:
Supongamos que tenemos 10 características f1, f2, ..., f9, f10, luego, cuando tomamos un subconjunto para suponer f1, f3, f4, f8 de características en el nivel del árbol, entonces construimos el árbol completo tomando estas 4 características en consideración.
Calculamos la entropía, comparamos solo estas 4 características en cada nodo y tomamos esa característica que produce la entropía máxima. Esto no es de mucha utilidad ya que estamos restringiendo nuestro aprendizaje en árbol a solo esas 4 características. Contrariamente a esto, cuando tomamos un subconjunto de características, digamos f1, f8, f9 en el primer nodo, calculamos la entropía y las comparamos entre estas 3 características y elegimos la que da el valor máximo. En lugar de hacer crecer aún más el árbol con las mismas características, elegimos otro subconjunto de características, digamos f4, f7, f2 y hacemos la división en función de estas características. Supongamos que f8 se seleccionó en el primer nodo y f2 se seleccionó en el segundo nodo. Model es capaz de aprender la relación entre estos dos que no
De esta manera, el modelo puede aprender la relación entre diferentes características de una manera más diversificada. Este enfoque tendrá una serie de características exploradas en un solo árbol y, por lo tanto, se preservarán las relaciones entre ellas. Espero que lo tengas ahora :)
fuente