Por lo general, los cursos de aprendizaje automático son encuestas de algoritmos de uso común y se le proporcionan datos bien preparados para trabajar con cada uno. Pero lo que necesita en la vida real es cómo seleccionar cuál usar en primer lugar.
Lo que falta es la perspectiva de todo el flujo de trabajo:
- definición de problemas con objetivos, métricas y plan de implementación
- selección de herramientas adecuadas (no golpee todos los clavos con el mismo martillo solo porque ese es el que tiene)
- donde obtener los datos
- cómo prepararlo (limpieza e ingeniería de características)
- cómo hacer análisis exploratorios
- cómo elegir un algoritmo
- como evaluar y ajustar tu modelo
- cómo implementar el modelo final en el entorno objetivo (creación de prototipos versus uso de producción)
Esos son temas difíciles de enseñar porque a menudo son muy específicos del dominio. Además, tendrías que introducir muchas herramientas diferentes para hacer esto, pero la mayoría de los maestros querrían centrarse en una herramienta de software para trabajar, cuando en realidad eso no es realista.
- Redes neuronales artificiales: ¿Por qué las partes internas de las neuronas se simulan con una suma lineal de entradas en lugar de alternativas no lineales?
- ¿Cómo puede ANN manejar datos de entrada no numéricos?
- ¿Puede el conocimiento del dominio ayudar a usar menos datos de entrenamiento, cuando se entrena una red neuronal convolucional para una aplicación específica?
- ¿El antiguo guardia de IA ha frenado la investigación de aprendizaje automático en el MIT?
- ¿Cuál es el mejor marco de aprendizaje profundo que puedo usar para clasificar las imágenes de resonancia magnética? ¿Keras es adecuado para eso?
Solo un ejemplo, los pasos 1-7 son un proceso muy iterativo de creación de prototipos de un modelo, y se puede hacer en un entorno, pero generalmente los sistemas de producción requieren una implementación más eficiente y escalable, y esos dos enfoques no se mezclan bien. Por lo tanto, elegiría un idioma para la creación de prototipos y otro para la producción, y tendrá que descubrir cómo mover el modelo de un lugar a otro.
Un buen ejemplo es el Premio Netflix: Netflix no pudo usar la solución ganadora y una de las razones fue que no pensaron en el problema de implementación posterior cuando diseñaron el concurso. Discutí más en una publicación de blog aquí: Loren sobre el arte de MATLAB
Otro ejemplo: hace poco leí que Spotify usa espectrogramas de audio junto con datos de comportamiento en sus recomendaciones de Discover Weekly. La magia que hace que las listas de reproducción de Discoverify de Weekify sean tan buenas
Si su fuente de datos puede ser tan diversa como esta (cada vez más con IoT), entonces debe pensar qué datos adquirir, dónde obtenerlos y cómo procesarlos. Eso probablemente requiere diferentes herramientas y diferentes conocimientos de dominio.
Otro problema de aprendizaje supervisado del mundo real que uno enfrenta es la aguja en el problema del pajar: demasiadas muestras negativas entre un número muy pequeño de muestras positivas.