Usando LASSO en bosque aleatorio

14

Me gustaría crear un bosque aleatorio usando el siguiente proceso:

  • Construya un árbol en muestras aleatorias de los datos y características usando la ganancia de información para determinar divisiones
  • Termine un nodo de hoja si excede una profundidad predefinida O cualquier división daría como resultado un recuento de hojas menor que un mínimo predefinido
  • En lugar de asignar una etiqueta de clase para cada árbol, asigne la proporción de clases en el nodo hoja
  • Dejar de construir árboles después de que se haya construido un número predefinido

Esto contradice el proceso forestal aleatorio tradicional de dos maneras. Primero, utiliza árboles podados que asignan proporciones en lugar de etiquetas de clase. Y dos, el criterio de detención es un número predeterminado de árboles en lugar de una estimación de error fuera de bolsa.

Mi pregunta es esta:

Para el proceso anterior que genera N árboles, ¿puedo ajustar un modelo usando regresión logística con selección LASSO? ¿Alguien tiene experiencia en la instalación de un clasificador de bosque aleatorio y el procesamiento posterior con LASSO logístico?

El marco ISLE menciona el uso de LASSO como un paso posterior al procesamiento para problemas de regresión pero no para problemas de clasificación. Además, no obtengo ningún resultado útil cuando busco en Google "Random forest laso".

Zelazny7
fuente
Lasso es bueno para encontrar / ponderar características útiles cuando hay muchas de diversa calidad. Es probable que los árboles individuales en su bosque no sean mucho mejores o peores que otros árboles, por lo que no creo que el lazo los ayude mucho.
rrenaud
Al muestrear una pequeña fracción sin reemplazo y limitar la profundidad del árbol, se introduce una mayor diversidad, por lo que creo que se justifica alguna forma de regularización.
Zelazny7
¿Puede ser más específico sobre cómo planea ajustar el modelo logístico? ¿Cuáles son exactamente las variables predictoras? Además, ¿cuál es su motivación para el procesamiento posterior? Si está intentando hacer una selección de variables, hay otros métodos a considerar.
Alex Williams
Al generar las predicciones de cada árbol, se crea un nuevo conjunto de datos de predictores. Este conjunto de datos se puede usar en la regresión de LASSO para llegar a una escasa combinación de las predicciones de árbol. La motivación es producir modelos que sean más concisos y se ejecuten más rápidamente en la producción.
Zelazny7
Encontré problemas similares recientemente, y encontré en el artículo original de Friedman que diseñó una función de pérdida especialmente para problemas de clasificación binaria. Espero que sea útil. Además, ¿tienes alguna idea sobre cómo extenderlo a problemas de clasificación de varias clases? ¿O cuál es su enfoque para los problemas de clasificación de varias clases?
Quan

Respuestas:

5

Esto suena algo así como el impulso del árbol de gradiente. La idea de impulsar es encontrar la mejor combinación lineal de una clase de modelos. Si ajustamos un árbol a los datos, estamos tratando de encontrar el árbol que mejor explique la variable de resultado. Si, en cambio, utilizamos el refuerzo, estamos tratando de encontrar la mejor combinación lineal de árboles.

Sin embargo, al usar el refuerzo somos un poco más eficientes ya que no tenemos una colección de árboles aleatorios, pero tratamos de construir nuevos árboles que funcionen en los ejemplos que aún no podemos predecir bien.

Para más información sobre esto, sugiero leer el capítulo 10 de Elementos de aprendizaje estadístico: http://statweb.stanford.edu/~tibs/ElemStatLearn/

Si bien esta no es una respuesta completa de su pregunta, espero que ayude.

Sven
fuente
3
Gracias. Desde que publiqué esta pregunta inicialmente, me he familiarizado con el paquete GBM de R. Mi proceso ahora involucra construir un modelo GBM de digamos 10,000 árboles y luego ejecutar todos los 10,000 árboles a través de GLMnet para realizar la regresión LASSO en los árboles. Esto da como resultado un modelo GBM comprimido con poca o ninguna pérdida de rendimiento (y, a veces, un impulso).
Zelazny7
@ Zelazny7 ¿Qué pasa con los datos de retención / prueba difíciles? ¿Predice bien?
josh
Sí, todas mis pruebas se realizan en una suspensión que no informa el desarrollo de ninguna manera. El rendimiento no se degrada en la mayoría de los casos. A veces es un poco peor, a veces incluso mejora.
Zelazny7
1
@ Zelazny7 Me topé con el mismo procedimiento también (en mi último trabajo), con las mismas experiencias.
Matthew Drury el
Debes seguir adelante con algo ... Hastie mismo sugiere árboles de procesamiento posterior de un bosque aleatorio o aumentar usando LASSO. Mencionó está en este video a las 30:10.
Jonathan