6 votos

Selva aleatoria - ¿por qué se abandonó el algoritmo/herramienta en general pero no por Microsoft?

Esto se refiere a:

en particular donde dice "¿Random Jungle -- abandonado?"

Antecedentes:

Descubrí que hay una versión de grafo dirigido de un random forest - es de otra manera igual a un random forest pero el aprendiz base/débil es un grafo dirigido acíclico. (1)

Es lo suficientemente relevante como para que Microsoft lo haya implementado en su "hoja de trucos de aprendizaje automático de Azure" como una herramienta para clasificación binaria "rápida, precisa, con una huella de memoria pequeña" - afirman que se compara favorablemente con los ensambles CART en términos de uso de memoria con una precisión equivalente. (2)

También descubrí que, aproximadamente hace 3 años (hasta el 2016), se creó un paquete para R llamado "Rjungle" para esto. (3)

Cuando voy a la documentación de ayuda para el paquete, no hay ejemplos. Parece que no hay una guía. Cuando busco ejemplos de uso en la documentación de ayuda, parece que no hay ninguno. ("?rjungle", "vignette(Rjungle)")

Hay un manual en línea para otro software de Rjungle. Tiene algo sobre "cómo interfaz R con él" pero no es igual a una biblioteca real. Sospecho que esto es el "núcleo" detrás de "Rjungle". (4)

Preguntas (sobre el algoritmo/método en general):

  • ¿Por qué Microsoft considera que esta "selva aleatoria" es una herramienta equivalente a un random forest habiendo prácticamente no tenido desarrollo en los últimos 3 años? ¿Es este un caso de una herramienta con un defecto fatal que Microsoft pasó por alto o está utilizando en el espectro de publicidad engañosa, o es este un caso de una herramienta excelente que la comunidad general de aprendizaje automático pasó por alto?
  • ¿Cumple con sus afirmaciones de igual precisión con menos memoria? ¿Cómo se compara con un referente funcional como (pero no limitado a) el "randomForest" de Breiman en algo como (pero no limitado a) esto: (blog, github)? ¿Existen comparaciones publicadas contra ensambles basados en CART, en comparación con ensambles basados en DAG?

Información adicional:

  • Microsoft clasifica el uso principal de las random jungles como "visión por computadora" en "información relacionada" aquí (enlace).

  • Hay dos documentos publicados que aparecen en una búsqueda de Microsoft, dos de 2013 y uno de 2016. Los autores en común incluyen a "Jamie Shotton" y "Antonio Criminisi". Jamie es el primer autor en los documentos de 2013, pero el quinto autor en el documento de 2016. Antonio es el último autor en ambos documentos.

  • El documento de 2016 (enlace) trata sobre la fusión de CNN con ensambles de CART/DAG. Afirman tener un costo computacional inferior a la mitad y un quinto de la cantidad de parámetros, en comparación con el modelo de referencia basado en CNN (VGG11). También afirman una velocidad de cálculo que es 5 veces más rápida y una cantidad de parámetros que es 6 veces más pequeña que NiN para la misma precisión.

3voto

KhaaL Puntos 66

Intenté implementar esto en un punto en un marco rf existente y encontré difícil obtener un buen rendimiento en cuanto al tiempo de entrenamiento.

El algoritmo de cart estándar utilizado en bosques aleatorios y xgboost funciona mediante la partición recursiva de los datos. En este caso, los datos (o una matriz de índices en él) pueden reorganizarse en memoria para que cada una de las particiones sea continua y las divisiones adicionales se puedan calcular escaneando de izquierda a derecha a través de la partición actual según el orden proporcionado por la característica en consideración, actualizando iterativamente las estimaciones de impurezas. Todo esto se puede hacer sin asignaciones de memoria, por lo que es bastante rápido.

Los bosques permiten que los nodos se combinen, lo que no funciona bien con este algoritmo de reordenar, escanear y dividir. Es probable que MS haya encontrado una forma inteligente de implementarlo, pero mi implementación ingenua terminó siendo mucho más lenta de entrenar que un bosque estándar.

Los artículos más recientes son interesantes y si se encuentran más resultados como esos, quizás se volverá popular.

1voto

Stanwood Puntos 111

El "Decision Jungle" de Microsoft comparte el nombre con la herramienta "Random Jungle". El software "Random Jungle" es una implementación de "Random Forest" y puede ejecutarse en varios servidores de forma paralela. El rjungle se refiere a esta herramienta "Random Jungle".

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