En lo que a mí respecta, para entrar en el aprendizaje profundo del aprendizaje automático, necesita estas 5 habilidades para los idiomas y las bibliotecas para el aprendizaje automático.
Resumen de habilidades
1. Fundamentos y programación de la informática.
- Por ser miembro de equipos que envían naves espaciales al espacio, ¿qué especialidad debo elegir? ¿Está relacionada la ingeniería de software?
- ¿Cuál es el mejor / más fácil / más barato software para hacer una aplicación?
- ¿Las empresas tecnológicas contratan pasantes de ingeniería de secundaria?
- ¿Amazon todavía construye todo su software interno en torno a las API internas?
- ¿Puede un estudiante de posgrado internacional de 23 años, sin experiencia previa en programación de computadoras, convertirse en un ingeniero de software exitoso en los Estados Unidos?
Los fundamentos informáticos importantes para los ingenieros de Machine Learning incluyen estructuras de datos (pilas, colas, matrices multidimensionales, árboles, gráficos, etc.), algoritmos (búsqueda, clasificación, optimización, programación dinámica, etc.), computabilidad y complejidad (P vs NP, problemas completos de NP, notación big-O, algoritmos aproximados, etc.) y arquitectura de la computadora (memoria, caché, ancho de banda, puntos muertos, procesamiento distribuido, etc.).
Debe poder aplicarlos, implementarlos, adaptarlos o abordarlos (según corresponda) al programar. Los problemas de práctica, las competencias de codificación y los hackatones son una excelente manera de perfeccionar tus habilidades.
2. Probabilidad y estadística
Una caracterización formal de la probabilidad (probabilidad condicional, regla de Bayes, probabilidad, independencia, etc.) y las técnicas derivadas de ella (redes de Bayes, procesos de decisión de Markov, modelos de Markov ocultos, etc.) están en el corazón de muchos algoritmos de Machine Learning; Estos son un medio para hacer frente a la incertidumbre en el mundo real. Estrechamente relacionado con esto está el campo de la estadística, que proporciona varias medidas (media, mediana, varianza, etc.), distribuciones (uniforme, normal, binomial, Poisson, etc.) y métodos de análisis (ANOVA, prueba de hipótesis, etc.) que son necesarios para construir y validar modelos a partir de datos observados. Muchos algoritmos de Machine Learning son esencialmente extensiones de procedimientos de modelado estadístico.
3. Modelado y evaluación de datos
El modelado de datos es el proceso de estimar la estructura subyacente de un conjunto de datos dado, con el objetivo de encontrar patrones útiles (correlaciones, grupos, vectores propios, etc.) y / o predecir propiedades de instancias nunca antes vistas (clasificación, regresión, detección de anomalías, etc. .). Una parte clave de este proceso de estimación es evaluar continuamente qué tan bueno es un modelo dado. Dependiendo de la tarea en cuestión, deberá elegir una medida de precisión / error adecuada (por ejemplo, pérdida de registro para clasificación, suma de errores al cuadrado para regresión, etc.) y una estrategia de evaluación (división de prueba de entrenamiento, secuencial vs. validación cruzada aleatoria, etc.). Los algoritmos de aprendizaje iterativo a menudo utilizan directamente los errores resultantes para modificar el modelo (por ejemplo, la propagación hacia atrás para redes neuronales), por lo que comprender estas medidas es muy importante incluso solo aplicando algoritmos estándar.
4. Aplicación de algoritmos y bibliotecas de aprendizaje automático
Las implementaciones estándar de los algoritmos de Machine Learning están ampliamente disponibles a través de bibliotecas / paquetes / API (por ejemplo, scikit-learn, Theano, Spark MLlib, H2O, TensorFlow, etc.), pero aplicarlos de manera efectiva implica elegir un modelo adecuado (árbol de decisión, vecino más cercano, neuronal net, máquina de vectores de soporte, conjunto de modelos múltiples, etc.), un procedimiento de aprendizaje para ajustar los datos (regresión lineal, descenso de gradiente, algoritmos genéticos, embolsado, refuerzo y otros métodos específicos del modelo), así como comprender cómo los hiperparámetros afectar el aprendizaje También debe tener en cuenta las ventajas y desventajas relativas de los diferentes enfoques, y las numerosas trampas que pueden hacer que se tropiece (sesgo y varianza, sobreajuste y falta de ajuste, datos faltantes, pérdida de datos, etc.). Los desafíos de la ciencia de datos y el aprendizaje automático, como los de Kaggle, son una excelente manera de exponerse a diferentes tipos de problemas y sus matices.
5. Ingeniería de software y diseño de sistemas
Al final del día, la salida o entrega típica de un ingeniero de Machine Learning es software. Y a menudo es un componente pequeño que encaja en un ecosistema más grande de productos y servicios. Debe comprender cómo funcionan estas piezas diferentes, comunicarse con ellas (mediante llamadas a la biblioteca, API REST, consultas de bases de datos, etc.) y crear interfaces apropiadas para su componente de las que dependerán otros. Puede ser necesario un diseño cuidadoso del sistema para evitar cuellos de botella y permitir que sus algoritmos se escalen bien con el aumento de los volúmenes de datos. Las mejores prácticas de ingeniería de software (incluido el análisis de requisitos, el diseño del sistema, la modularidad, el control de versiones, las pruebas, la documentación, etc.) son invaluables para la productividad, la colaboración, la calidad y el mantenimiento.
- Roles de trabajo de aprendizaje automático
Los trabajos relacionados con el aprendizaje automático están creciendo rápidamente a medida que las empresas intentan aprovechar al máximo las tecnologías emergentes. La tabla a continuación muestra la importancia relativa de las habilidades básicas para estos tipos generales de roles, con un rol típico de Analista de datos para la comparación.
ML Graph
Importancia relativa de las habilidades básicas para diferentes roles de trabajo de Machine Learning (haga clic para ampliar)
- El futuro del aprendizaje automático
Lo que quizás sea más convincente sobre Machine Learning es su aplicabilidad aparentemente ilimitada. Ya hay muchos campos afectados por el aprendizaje automático, incluidos la educación, las finanzas, la informática y mucho más. También hay prácticamente NO campos a los que no se aplica Machine Learning. En algunos casos, las técnicas de Machine Learning son de hecho desesperadamente necesarias. La asistencia sanitaria es un ejemplo obvio. Las técnicas de aprendizaje automático ya se están aplicando en ámbitos críticos dentro del ámbito de la atención médica, lo que afecta todo, desde los esfuerzos de reducción de la variación de la atención hasta el análisis de exploración médica. David Sontag, profesor asistente en el Instituto Courant de Ciencias Matemáticas de la Universidad de Nueva York y el Centro de Ciencia de Datos de la Universidad de Nueva York, recientemente dio una charla sobre Aprendizaje automático y el sistema de atención médica, en la que discutió “cómo el aprendizaje automático tiene el potencial de cambiar la atención médica en todos la industria, desde habilitar el registro electrónico de salud de próxima generación hasta la estratificación del riesgo a nivel de población a partir de las reclamaciones de seguro de salud “.
El mundo está cambiando indudablemente de manera rápida y dramática, y la demanda de ingenieros de Machine Learning seguirá aumentando exponencialmente. Los desafíos del mundo son complejos y requerirán sistemas complejos para resolverlos. Los ingenieros de Machine Learning están construyendo estos sistemas. Si este es SU futuro, entonces no hay tiempo como el presente para comenzar a dominar las habilidades y desarrollar la mentalidad que necesitará para tener éxito.
Fuente -google
¡¡Espero que esto te ayude!!