Proyectos de Aprendizaje Automático

Óscar Belmonte Fernández

Introducción

Un proyecto de AA necesita de cierta organización previa antes de su inicio. En particular, el uso de los datos debe ser claramente establecido.

El desarrollo de este tipo de proyectos es una fase continua de prueba y error, siempre hay espacio suficiente para probar nuevas idea.

Como en todo proyecto, es muy importante ir documentando todo el trabajo, así como las conclusiones que se van obteniendo.

Objetivos de aprendizaje

  • Organizar las tareas necesarias para llevar a cabo un proyecto de AA.
  • Construir un modelo de AA y valorar lo consecución de los objetivos.
  • Planear posibles mejoras a partir de los resultados obtenidos.

Referencias

  • Hands-on machine learning with Scikit-learn, Keras and TensorFlow. Capítulo 2 y Apéndice A.

Definir el problema y tener una imagen del conjunto

Definir el problema y tener una imagen del conjunto

  1. Definir los objetivos de la solución que se plantea.
  2. Decidir qué tipo de aproximación es la más adecuada: aprendizaje supervisado, no supervisado, por refuerzo, tarea de clasificación o regresión, etc.
  3. Decidir la métrica de evaluación que se va a emplear para validar el modelo.
  4. Contrastar con soluciones ya existentes.
  5. ¿Se puede contar con la colaboración de expertos?

Obtener los datos

Obtener los datos

  1. ¿Existen datos o hay que adquirirlos?
  2. Si los datos existen, ¿hay documentación sobre ellos? Por ejemplo, descripción y tipo de los campos, cómo se han obtenido, posibles errores en las mediciones, etc.
  3. Comprobar los temas legales sobre los datos.
  4. Obtener los datos y gestionar el acceso.

Explorar los datos para conocerlos mejor

Explorar los datos para conocerlos mejor

  1. Si el volumen de los datos es muy grande, tomar una muestra de ellos para su inspección.
  2. Realizar un análisis estadístico descriptivo de los datos.
  3. Visualizar los datos.
  4. Analizar las correlaciones entre las características.
  5. Registrar todas las ideas que vayan surgiendo.

Preparar lo datos para que muestren los patrones

Preparar lo datos para que muestren los patrones

  1. Limpiar los datos si es necesario.
  2. Seleccionar/eliminar las características interesantes.
  3. Escalar los datos si es necesario.

Automatizar todos los proceso para que sea sencillo repetirlos si fuese necesario.

Identificar los algoritmos prometedores

Identificar los algoritmos prometedores

  1. Seleccionar los algoritmos más interesantes para el problema en cuestión.
  2. Hacer pruebas rápidas para cada uno de los algoritmos seleccionados.
  3. Comprobar si se cumplen las condiciones ideales para los algoritmos seleccionados.
  4. Aplicar la/las métricas seleccionadas y registrar los resultados.

Identificar los algoritmos prometedores

  1. Añadir/eliminar características y repetir las pruebas.
  2. Seleccionar los algoritmos que dan mejores resultados para la siguiente fase.

De nuevo, automatizar todos los proceso para que sea sencillo repetirlos si fuese necesario.

Ajustar los modelos y combinarlos para obtener una solución

Ajustar los modelos y combinarlos para obtener una solución

  1. Intentar ajustar cada uno de los modelos seleccionados.
  2. Probar un ensamblado con todos los modelos seleccionados.
  3. Registrar todas las conclusiones obtenidas.

Presentar la solución

Presentar la solución

  1. Recopilar todas las conclusiones, ideas y detalles que se han ido registrando durante el desarrollo del proyecto.
  2. Hacer una presentación de los resultados obtenidos.
  3. Realizar una crítica del trabajo realizado.
  4. Plantear posibles mejoras.

Poner en marcha el proyecto y mejorarlo continuamente

Poner en marcha el proyecto y mejorarlo continuamente

  1. Lanzar el proyecto y monitorizarlo a lo largo del tiempo.
  2. Revisar los datos de monitorización.
  3. Detectar posibles fallos del modelo en producción.
  4. Documentar posibles mejoras para una nueva iteración del proyecto.

Resumen

Resumen

  • Tener una estrategia para el desarrollo de un proyecto de AA es fundamental para alcanzar el éxito en su desarrollo.
  • Es muy importante familiarizarse con los datos, así como con el contexto del problema.
  • Hacer una exploración inicial de los datos permite familiarizarse con ellos.
  • Si existe la posibilidad, hablar con los especialistas en la materia para aclara cualquier duda.

Resumen

  • Probar varios modelos antes de decidirse por uno.
  • No realizar una ajuste de parámetros temprano porque puede sesgar la selección del modelo.
  • Si es posible, combinar más de una modelo en la solución final.
  • Anotar todas la ideas que vayan surgiendo.
  • Cuidar la presentación de los resultados.