¿Cuáles son las lecciones prácticas de aprendizaje automático más importantes que ha aprendido en su carrera?

Obtenga un conocimiento completo del dominio antes de hacer el aprendizaje automático
En el aprendizaje automático o la ciencia de datos en general, es esencial tener un conocimiento profundo del dominio de su problema. El conocimiento del dominio lo guiaría para los pasos iniciales, como descubrir las características, mejoraría significativamente el rendimiento de la aplicación y el tiempo necesario para construirla.
El conocimiento del dominio te ayudaría a evitar muchos trabajos.

¡No consiga la envidia del algoritmo!
Nosotros, los entusiastas del aprendizaje automático, especialmente los principiantes, tendemos a tener envidia del algoritmo ML: tendemos a lanzar cualquier algoritmo disponible (gracias a la facilidad de implementación) a cualquier información que tengamos, para encontrar co-relaciones.
Creo que este enfoque conduce a muchas inexactitudes y frustraciones. En lugar de centrarnos en los algoritmos, deberíamos centrarnos más en comprender cómo dar sentido a los datos, especialmente preguntando cómo los analistas (manualmente) le están dando sentido a los datos en el mundo real.

Una gran cantidad de actividades de aprendizaje automático que se realizan en la etapa de principiantes implicaría descubrir las características manualmente, ¡y el conocimiento del dominio sería la única herramienta que nos guiaría a través del pantano de datos!

Nota: solo soy un entusiasta del aprendizaje automático y lo comparto con la experiencia que obtuve al crear aplicaciones simples de aprendizaje automático.

¡Espero que esto ayude!

Aquí hay una aplicación basada en aprendizaje automático que he desarrollado para la predicción de los precios de las acciones – vishwajeetv / stock_prediction – Echa un vistazo y ofrece sugerencias, si las hay.

Hay tantas (y sigo aprendiendo nuevas cada día). Eso es lo que lo hace tan divertido. Algunos de los más significativos.

a) Pasa mucho tiempo formulando el problema, las herramientas vienen más tarde. No se comprometa demasiado de forma prematura con una técnica (como oh, este es un problema de aprendizaje de tareas múltiples). Es mejor resolver el problema correcto aproximadamente en lugar de resolver el problema incorrecto con elegancia. Su cliente ve mucho el beneficio de usar el aprendizaje automático, simplemente mostrarles que el error de la prueba de entrenamiento no es suficiente (no les importa si eso no afecta el resultado final).

b) Asegúrese de pasar mucho tiempo para asegurarse de que sus datos estén limpios y sean de alta calidad. De lo contrario, es basura dentro, basura fuera (independientemente de lo buenas que sean sus técnicas)

c) No solo observe los errores de entrenamiento y de prueba (en general, no solo mire algunas métricas globales). Observe los coeficientes del modelo, realice diagnósticos del modelo, etc. Observe el rendimiento de cohortes importantes, especialmente aquellas en las que su modelo no está haciendo un gran trabajo. El aprendizaje automático debe realizarse utilizando perspectivas tanto estadísticas como de optimización.

d) No solo se preocupe por la capacitación del modelo, también piense en calificar y en el costo de brindar aspectos. Una pequeña mejora con un gran aumento en el costo de servicio no es un gran retorno de la inversión.

e) Siempre trate de reunir el conocimiento del dominio y ayude a entender las utilidades. Por ejemplo, el costo de los errores de diferentes tipos no es el mismo. Tener una comprensión clara de estos le ayuda a enfocarse en los aspectos correctos (extensión del punto a))

f) Asegúrate de tener la estrategia correcta para la investigación experimental. Averiguar qué se debe probar fuera de línea, qué se debe hacer en línea. Por ejemplo, probar todo en línea lo reducirá considerablemente (hay un costo asociado con cada prueba en línea que ejecuta, por lo tanto, piense antes de realizar un experimento). Por otro lado, algunas cosas son mejores para probar en línea (por ejemplo, cuál es el impacto de los ingresos y el compromiso de implementar un nuevo modelo de publicidad).

Puedo continuar durante horas con este tema, pero me detendría y permitiría a otros participar con sus lecciones

En esta era de big data es sexy usar conjuntos de datos con mil millones de puntos de datos. Más a menudo que no más datos de entrenamiento es útil en el aprendizaje automático. Sin embargo no lo hagas para presumir. Si un millón de puntos de datos entrena a su modelo lo suficientemente bien, entonces pare allí. Los conjuntos de datos de gran tamaño traen otras preocupaciones que usted necesita cuidar.

Los casos para el conjunto de entrenamiento grande son: para entrenar un modelo complejo (con muchos parámetros que deben aprenderse), datos muy diversos que necesitarán un conjunto de entrenamiento lo suficientemente grande para garantizar que el conjunto de entrenamiento sea una muestra representativa de los datos reales.

Los experimentos a escala deben ser piloteados primero:

Siempre pilotar en conjuntos de datos más pequeños primero. O si tu conjunto de datos es grande, toma una muestra aleatoria y prueba.

Es un desperdicio pasar un día o días peores entrenando un modelo costoso en un conjunto de datos grande para ver resultados pobres. Tampoco es infrecuente descubrir un error en su código después de haber perdido un día entrenando a su modelo.

Para aprender ML Todo lo que necesitas hacer es simplemente lanzar algunos algoritmos básicos:

Esenciales de los algoritmos de aprendizaje automático (con Python y códigos R)

Un recorrido por los algoritmos de aprendizaje automático

y red neuronal.

Una y otra vez, los estudiantes me han dicho que su programa de aprendizaje automático no aprendió.

Tengo que darles la noticia de que si la programación, etc., se realizó correctamente, se aprendió.

Lo que debe hacer, les digo, es averiguar qué aprendió y por qué no cumple con sus expectativas.

Una de las características más infrautilizadas del aprendizaje automático es su capacidad para enseñarnos tanto sobre los datos como sobre nuestras expectativas, y debemos tener en cuenta que a veces somos nosotros, y no la máquina, quienes no aprendemos.