¿Cuál es el mejor algoritmo de aprendizaje automático para predecir datos numéricos?

Esta respuesta puede ser decepcionante, pero no existe un “mejor” algoritmo. Esto también se conoce como el teorema “Sin almuerzo gratis”, solo puedo recomendar altamente el artículo de Wolpert sobre eso (Wolpert, David H. y William G. Macready. “No hay teoremas de almuerzo gratis para la optimización”. Computación evolutiva, Transacciones IEEE en 1.1 (1997): 67-82., No hay teoremas de almuerzo gratis para la optimización).
Sin embargo, existen algoritmos apropiados y no tan apropiados para tareas problemáticas particulares. Quiero decir, cada conjunto de datos es numérico cuando usas el aprendizaje automático. Si tiene variables de “cadena” categóricas, generalmente las codifica de alguna manera (por ejemplo, codificación de una sola vez). Entonces, la elección del algoritmo depende en gran medida de

– el tamaño de los datos de entrenamiento
– la cantidad de características
– la calidad de las características
– el número de etiquetas de clase únicas
– problemas lineales versus no lineales

Realmente lamento no darte una respuesta más concreta, pero desafortunadamente, no hay ninguna 🙁

El tipo de algoritmo que utiliza depende en gran medida de los datos. Y, por supuesto, los datos no se tratan solo del tipo de datos, decir que sus datos son numéricos no es suficiente para describirlos. ¿Es ficticio? ¿Es salvaje? Además, ¿todas sus entradas son también numéricas? ¿No puedes crear otras variables más informativas? ¿Tienes muchos datos de entrenamiento?

Todas estas preguntas son importantes en la elección de su algoritmo, y hasta cierto punto también tiene que comparar diferentes métodos.

Aquí hay una imagen de la documentación de sckit-learn (para aquellos que no conocen scikit learn, es un paquete muy útil que codifica muchas herramientas útiles en Python):

Esto podría darte una idea inicial de hacia dónde vas, PERO no confíes demasiado en él, ¡obviamente no es exhaustivo ni sistemático!

Depende de los datos. En algunos casos, es posible que ni siquiera necesite aprendizaje automático. Pero lo que he usado para predecir días futuros con datos de conjuntos históricos dados (en un caso de negocios real) es una red neuronal. Me costó un poco correr para hacerlo funcionar correctamente (elegir la estructura correcta / número de neuronas, etc.), pero ahora funciona de maravilla con un grado útil de precisión.

Sin embargo, puedes usarlo para mucho más que eso. Es un aproximador de función universal. También lo he usado para predecir cuadros en una fuente de video, por ejemplo. Cualquier cosa que pueda convertir a números (así que … cualquier cosa) con la que pueda funcionar. Puede tomar algo de trabajo o requerir mucha velocidad de cómputo para que funcione bien, pero en teoría puede manejar casi cualquier conjunto de datos.

Sebastian Raschka ha dado la respuesta más correcta y “No Free Lunch” es la mejor respuesta a su pregunta.

La regla general es comenzar con un algoritmo simple de aprendizaje automático; Puedo citar al profesor Andrew Ng: ” Siempre comience implementando un algoritmo aproximado y sucio, y luego refínelo iterativamente “.

Del mismo modo, otras ideas como KISS (Keep it simple stupid). Sam Roweis en este video ha sugerido que el primer algoritmo para intentar sería ingenuo Bayes, regresión logística, vecino k más cercano (Primero comience con un vecino) y discriminante lineal de Fisher antes que nada.

Yo diría que la clasificación, Naive Bayes casi siempre es la primera opción, ya que tiene un buen rendimiento, es altamente escalable y puede adaptarse a casi cualquier tipo de tarea de clasificación; y es a menudo suficiente Para el aprendizaje automático avanzado, los métodos de conjunto son los que producen los mejores resultados como lo demuestran los ganadores en la competencia de kaggale y XGBOOST ha sido muy popular entre los ganadores de kaggale.

Hay pocas corazonadas: se explica muy bien en este blog Elegir un clasificador de aprendizaje automático y también aquí: Elegir qué tipo de clasificador usar

Si estuviera en su lugar, probaría diferentes soluciones de aprendizaje automático utilizando el enfoque de selección de modelo para seleccionar el mejor modelo para los datos particulares.

Mucho depende de la “forma” de los datos. Cuanto más simples sean las tendencias en los datos, más simple de un modelo puede usar. Y en general, más simple es mejor, siempre que el modelo sea capaz de capturar las tendencias en los datos. Aquí hay una buena intuición visual de muchos algoritmos comunes de aprendizaje automático.

Comparación de clasificadores

More Interesting

¿Un doctorado en ciencia de datos aumentará mis habilidades de aprendizaje automático?

¿Por qué Dinamarca no reemplaza a los inmigrantes con inteligencia artificial?

¿IBM Watson aprende las reglas de los datos?

En el contexto del aprendizaje automático práctico, ¿cuáles son las principales conclusiones de la teoría del aprendizaje estadístico?

Cómo construir un sitio web usando Python, para hacer procesamiento de imágenes y aprendizaje automático

¿Estaba Watson ganando en Jeopardy un progreso significativo para la IA?

¿Quién es pionero actualmente en el campo de la IA? ¿Cuándo podemos esperar un gran avance?

¿Qué trabajos profesionales tienen más riesgo de ser reemplazados por IA?

Supongamos que hay una red neuronal con 4 unidades ocultas y 1 capa oculta y otro NN con 2 capas ocultas, cada una con 2 unidades, ¿cuál es la diferencia?

¿Cuáles son algunos textos recientes sobre el aprendizaje a gran escala?

¿Cuáles son algunas cosas interesantes que uno puede lograr a través del aprendizaje automático?

Cómo construir un asistente personal con python

¿Por qué es tan difícil para las personas comprender el hecho de que existen diferentes tipos de redes neuronales?

¿Cuáles son algunos proyectos desafiantes pero factibles que un estudiante de CS puede hacer en C o C ++ en los campos de DBMS, visión por computadora, inteligencia artificial, redes de computadoras y compiladores?

¿Se está precipitando la exageración actual en Deep Learning para otro invierno de IA?