¿Por qué se le da tanta atención a xgboost que al aprendizaje profundo a pesar de su ubicuidad en ganar soluciones de Kaggle?

Los diferentes tipos de modelos de aprendizaje sirven diferentes tipos de tareas. Una red profunda puede capturar cosas como imágenes, audio y posiblemente texto bastante bien modelando la localidad temporal espacial. Si bien los modelos basados ​​en árboles (en los que XGBoost es bueno) resuelven muy bien los datos tabulares y tienen ciertas propiedades que una red profunda no tiene (por ejemplo, es más fácil de interpretar e invariante a escala de entrada, mucho más fácil de ajustar).

Ambos métodos son importantes y se usan ampliamente tanto en los desafíos de la ciencia de datos como en la industria. Por ejemplo, el impulso de árboles se usa en todas partes en casi todas las empresas que utilizan el aprendizaje automático y ya tuvieron un gran impacto (ver también los casos de uso incompletos de xgboost dmlc / xgboost).

Como investigador de aprendizaje automático que trabaja en ambos tipos de modelos. Tiendo a creer que necesitamos una comprensión integral de cada tipo y elegir el adecuado para su tarea. XGBoost, redes profundas y otros métodos de uso frecuente (por ejemplo, factorización y regresión logística) merecen la atención de todos los profesionales de aprendizaje automático. No hay una bala de plata para todos los problemas.

Sospecho que hay dos razones clave por las que Deep Learning atrae más atención que XGboost hoy: novedad y publicidad.

Novedad

Cuando se descubre una nueva técnica de aprendizaje automático, se beneficia de un cierto efecto de halo. Escucharás muchos elogios de sus defensores. También escuchará muchas charlas de entusiastas a quienes les encanta jugar con las últimas técnicas. Esto es especialmente cierto para Deep Learning porque suena muy sexy y parece que imita cómo funciona el cerebro humano. Al mismo tiempo, los profesionales existentes que no están familiarizados con la técnica tienden a mirar desde un costado hasta que han entendido lo suficiente como para hacer un comentario.

Después de que pasa un tiempo, la emoción se estabiliza o disminuye. Para entonces, los críticos, después de aplicar la técnica a muchos conjuntos de datos y escenarios, comenzarán a señalar las debilidades y los inconvenientes. Los entusiastas probablemente habrán encontrado algún otro carro para subirse. En consecuencia, la técnica anteriormente novedosa ahora se convierte en otra técnica convencional que es útil pero no necesariamente emocionante.

Publicidad

Deep Learning hizo un gran revuelo en 2012 cuando se enseñó a reconocer a los gatos de los videos de Youtube y sopló los puntos de referencia anteriores. No hizo daño que el proyecto fuera dirigido por el famoso profesor Andrew Ng, cofundador del sitio MOOC Coursera. Esa historia se informó en los medios de comunicación nacionales y, posteriormente, convirtió a Deep Learning en la técnica más moderna y vanguardista del aprendizaje automático.

Más recientemente, Deep Learning ayudó a una máquina a derrotar a uno de los mejores jugadores de Go del mundo, una hazaña realmente sorprendente en la historia de la IA. Nuevamente se convirtió en noticia de primera plana y llamó la atención del público en general, que rara vez tenía interés en el tema antes de esta hazaña.

Como resultado, parece que todos, desde novatos hasta practicantes experimentados de aprendizaje automático, desean asociarse con el aprendizaje profundo.

XGBoost

Desafortunadamente, a pesar de su ubicuidad en las soluciones de Kaggle, XGBoost y su hermano Gradient Boosted Trees no tienen ni novedad ni publicidad que trabajen a su favor hoy. Ni siquiera tiene un nombre pegadizo o fácil de recordar. Pero lo que sí tiene es una reputación de ser confiable, flexible y preciso en muchas situaciones. Para muchos de nosotros en el campo, estos rasgos son perfectos para nuestras necesidades.

Porque es un Algoritmo Meta . No específicamente Algoritmo de aprendizaje automático.

Xgboost se usa específicamente para convertir estudiantes débiles en estudiantes fuertes. Un alumno débil no es más que un algoritmo ML que es ligeramente mejor que una posibilidad.

  • El trabajo principal de Xgboost es usar para impulsar el modelo de aprendizaje débil a fuerte aprendiendo iterativamente un conjunto de modelos débiles y sopesando cada predicción débil a cada desempeño débil en el modelo.
  • Después, combina la predicción ponderada para obtener una sola predicción ponderada.

Entonces, sí, generalmente actúa como un meta para el algoritmo de ML para impulsar el modelo. Pero aún así, Xgboost muestra buenos resultados.

Se utiliza Xgboost y muestra mejores resultados solo para datos donde hay una combinación de características categóricas y características numéricas y cuando la cantidad de características es menor que los ejemplos de capacitación.

Pero no podemos compararlo con Deep Learning porque requiere mucha potencia informática y absorbe una gran cantidad de datos de entrenamiento y aún así proporciona resultados precisos.

Xgboost no funcionará para el reconocimiento de imágenes, PNL y problemas de visión por computadora, en ese caso Deep Learning lo supera.

No llamaría a esto una comparación justa; XGBoost representa un algoritmo único para entrenar modelos supervisados. El aprendizaje profundo abarca una amplia clase de modelos.

Si realmente quieres saber por qué Deep Learning ha recibido tanta atención:

  1. Las redes neuronales tienen una historia controvertida. La teoría mostró que podían ser poderosos, y como resultado fueron promocionados desde el principio. Las limitaciones prácticas les impidieron tener éxito hasta hace poco, cuando el aprendizaje profundo era posible. Son los desvalidos del aprendizaje automático.
  2. Los modelos de aprendizaje profundo han logrado un rendimiento de vanguardia (a veces mejor que el humano) en algunos dominios muy difíciles y no estructurados. Son muy buenos en el aprendizaje estándar y supervisado.
  3. La flexibilidad de las redes neuronales permite algunos modelos muy creativos y sorprendentes (observe las redes de memoria, las redes de cápsulas o las redes adversas generativas). Están abriendo nuevos caminos en el modelado todo el tiempo.

¡Porque Kaggle no es el fin del mundo!

Los métodos de aprendizaje profundo requieren muchos más datos de entrenamiento que XGBoost, SVM, AdaBoost, Random Forests, etc. Por otro lado, hasta ahora solo los métodos de aprendizaje profundo han podido “absorber” grandes cantidades de datos de entrenamiento, ¡sin saturar el rendimiento! Entonces, cuando no tiene grandes cantidades de ejemplos de entrenamiento: en el rango de 100k o 1000k, las alternativas a los métodos de aprendizaje profundo son superiores en rendimiento (no se sobreajustan, a menudo son computacionalmente superiores para empezar). En algunos casos, es posible que incluso tenga grandes datos disponibles, pero la función que intenta modelar puede ser tan simple que un pequeño subconjunto de esos datos es suficiente para aprenderlos; aquí las consideraciones computacionales + los tiempos de ciclo experimental pueden hacer que prefiera XGBoost etc.

En segundo lugar, diseñar una red que codifique correctamente los previos específicos del dominio del problema (como las respectivas arquitecturas de red convolucionales profundas para imágenes o voz) es un problema difícil. Y las arquitecturas razonables solo se alcanzan cuando toda una comunidad de investigación está trabajando en esos problemas, sin limitaciones de tiempo a corto plazo. Por lo tanto, solo conocemos buenas arquitecturas profundas para problemas que son de interés más amplio, por ejemplo, tenemos grandes comunidades de investigación preexistentes que trabajan en visión por computadora, reconocimiento de voz y PNL. Por otro lado, si tiene un problema especializado / exótico, se necesita mucho más esfuerzo para encontrar buenas arquitecturas profundas, e incluso si tiene toneladas de datos de entrenamiento, no puede usarlos. En la competencia de Kaggle, en los plazos cortos, simplemente no hay tiempo suficiente para invertir en explorar nuevas arquitecturas profundas adaptadas a un problema exótico, ni podría haber recursos adecuados (computacionales, energía) o el nivel requerido de interés ‘profesional’ serio. en el lado de los competidores.

Sin embargo, me sorprendería si se intentara un problema puro de visión por computadora o reconocimiento de voz en Kaggle sin utilizar profundas conexiones.

Entonces, para responder a su pregunta, aunque XGBoost brinda una precisión superior en muchos problemas y tiene buenas características computacionales, no es mucho mayor que muchos otros métodos “tradicionales” como los SVM de kernel o los bosques aleatorios, como lo son los métodos de aprendizaje profundo. Cuando tienes datos de entrenamiento “suficientes”, y cuando de alguna manera logras encontrar la arquitectura profunda mágica correspondiente, el aprendizaje profundo elimina cualquier otro método por un amplio margen. Por lo tanto, para el reconocimiento de imagen o discurso o incluso algunos problemas de aprendizaje de refuerzo, los métodos de aprendizaje profundo han resultado en un impulso tan enorme en el rendimiento que décadas de investigación específica del dominio no han podido rivalizar con él. De todos modos, ahora que cada vez es más fácil obtener, almacenar y procesar grandes cantidades de datos, los métodos que son capaces de absorber y realmente explotar esos datos recibirán más atención. Por lo tanto, merece cierta cantidad de publicidad.

El concepto de redes neuronales existe desde los años 40. Luego vino el aprendizaje profundo, décadas después.

Para mí, Deep Learning es solo una palabra de moda que reemplazó a las redes neuronales y que sabemos más fácil de usar ahora en la producción, desde un punto de vista técnico, mejor y más fácil que antes gracias a marcos como Theao, Caffee, TensorFlow, DeepLearning4j, etc.

Si bien xgboost aún no está en el bombo, tal vez y probablemente sea la causa de su nombre. Desafortunadamente, creo que las palabras y las palabras de moda se han vuelto más importantes en la industria que los resultados.

Y si bien los desafíos de Kaggle apuntan a mejores resultados, que obviamente xgboost parece tener los mejores puntajes, los equipos de Productos y Marketing apuntan a MVP, ganancias, CTR y contratos.

Ejemplo: considerando el Hype Cycle, es más probable que pueda vender un producto con la tecnología Deep Learning que uno con la marca “geeky” xgboost. ¡Y eso es lo más desafortunado!

Por supuesto, no estoy desacreditando ninguno de estos conceptos en favor del otro, creo que ambos son útiles para lo que están destinados a ser utilizados.

XGBoost proporciona pequeñas mejoras incrementales en problemas que ya se resolvieron bastante bien utilizando otros métodos

Deep Learning ha resuelto viejos problemas pendientes, como el aprendizaje semisupervisado, y ha abierto la puerta para enmarcar problemas completamente nuevos.


Para obtener más datos divertidos y respuestas increíbles, consulte mi canal de YouTube https://www.youtube.com/channel/

y sígueme en Twitter https://twitter.com/CalcCon

Los árboles de decisión y el impulso se habían utilizado e investigado a fondo en las últimas décadas, mientras que las redes neuronales no eran aplicables a ninguna situación de la vida real hasta el avance del aprendizaje profundo.

Desde el punto de vista de un investigador, debe centrar su atención en el suelo virgen / océano azul.

Suponga que es un investigador a principios del siglo XIX y que acaba de enterarse de un instrumento llamado “Automóvil” que permite que 2 personas conduzcan a 20 km / h durante una hora hasta que necesite una recarga de gas y petróleo caros.

¿En qué te interesaría más?

  • explorar nuevas formas en que este “automóvil” podría crear un aumento de la productividad
  • o investigando una mejor nutrición y cuidado de la salud del caballo como lo hicieron las personas cientos de años antes que usted?

Este no es el mejor análogo, pero puede ver por qué las nuevas tecnologías llamarían más la atención en el momento de su creación.

Esto es muy simple: lobby.

Hay un fuerte lobby detrás del aprendizaje profundo de los tres actores principales y las instituciones detrás de ellos. Verá a cualquiera de ellos nombrando a los otros dos todo el tiempo.

XGBoost no tiene una universidad detrás, es solo el trabajo brillante de un solo individuo, por lo que no tiene un aparato de lobby para apoyarlo.

XGBoost es el estado del arte en la mayoría de los problemas de regresión y clasificación de hoy, por lo que sin duda es mucho más importante que Deep Learning y no solo porque requiere menos recursos y es más fácil de entender, por lo que debería tener mucha atención.

No estoy desacreditando el aprendizaje profundo, sino poniéndolo en el contexto de su aparato de marketing que es fenomenal. Montreal, Toronto y Nueva York afirman ser la capital de los algoritmos de aprendizaje en el mundo, mientras que un solo individuo ha desarrollado en silencio el algoritmo que gana todas las competiciones. Piénsalo.

Se publican muchos más artículos sobre el aprendizaje profundo, y los tipos de aplicaciones para el aprendizaje profundo son mucho más amplios. Kaggle no significa mucho en la academia, y mucha gente en la industria todavía lee documentos para aprender sobre nuevos algoritmos. Además, no hay buena documentación para XGBoost en R o Python a menos que sea un ingeniero que entienda los archivos de GitHub, por lo que los estadísticos y matemáticos que están menos orientados a la programación tienen que trabajar más para comprender el código de XGBoost que para muchas bibliotecas de aprendizaje profundo. .

Como Tianqi ya ha explicado amablemente:

  • Xgboost es un método centrado en la interpretación, mientras que el aprendizaje profundo basado en redes neuronales es un método centrado en la precisión.
  • Xgboost es bueno para datos tabulares con una pequeña cantidad de variables, mientras que el aprendizaje profundo basado en redes neuronales es bueno para imágenes o datos con una gran cantidad de variables.
  • Ambos métodos son excelentes por sus propios derechos y son muy respetados.

Xgboost y sus aliados eran bastante populares cuando las corporaciones acababan de comenzar a adquirir sus computadoras, Internet acababa de comenzar y era muy importante encontrar las reglas del juego.

La razón principal por la cual el aprendizaje profundo basado en redes neuronales está ganando impulso ahora es porque ha demostrado su ventaja superior en la visión por computadora, que es el corazón de la inteligencia artificial y la imagen médica, que se encuentran entre los cambiadores de juego más destacados de esta década.

More Interesting

Cómo interpretar la salida de una red neuronal

Soy un hombre de 25 años que estudió CS, aprendizaje automático y minería de datos para mi maestría. Mi verdadera pasión radica en la música y los viajes. He estado sin trabajo durante 7 a 8 meses, solicito un doctorado en ML y música, y mi papá quiere que consiga un trabajo. ¿Qué debo hacer?

¿Por qué usamos convolución en redes neuronales?

¿Cuál es la diferencia entre aplicar la descomposición del tren Tensor y agregar más capas a la red donde cada una tiene un tamaño reducido?

¿Cuáles son algunas aplicaciones de la vida real del aprendizaje automático además de las aplicaciones relacionadas con la web?

¿Qué herramientas, algoritmos o estructuras de datos usaría para construir un algoritmo de "Temas de tendencias" para una transmisión de alta velocidad?

¿Por qué la precisión del entrenamiento de la red CNN aumenta rápidamente cuando elijo un tamaño de lote relativamente más pequeño?

¿Cuál es el minimizador de [matemáticas] H [f] = \ sum ^ {N} _ {i = 1} \ | y ^ {(i)} - f (x_i) \ | ^ 2_ {2} + \ lambda \ | Pf \ | ^ 2 [/ math] cuando la salida es un vector?

¿Cuáles son las mejores prácticas en torno al aprendizaje automático y los sistemas de recomendación para sitios de trabajo?

¿Por qué el uso de información mutua / ganancia de información / funciones similares funciona mejor que simplemente usar el error promedio (usando probabilidad) para un booleano (conjunto de datos de 2 clases) al construir un árbol de decisión?

¿Cómo se puede usar el aprendizaje profundo para la detección de eventos anormales en los videos?

¿Cuál es la diferencia entre una red neuronal y una red de codificador automático?

¿Se puede resolver el problema de cauvery utilizando algoritmos de aprendizaje automático?

¿Hay alguna manera de usar Machine Learning para predecir el resultado de un lanzamiento de moneda?

¿Cómo se puede mejorar Google News?