Como verificar un proyecto de aprendizaje automático

Considero que la actividad de codificar y comparar varias interpretaciones de un proceso particular en la búsqueda de fortalecer la propia interpretación de dicho proceso es digna.

Lo he hecho anteriormente con interpretaciones alternativas de lo que podríamos llamar el proceso de aprendizaje automático (y que podría estar estrechamente alineado con la ciencia de la información o los procesos de minería de datos, al menos en cierta medida), de los cuales puede encontrar ejemplos aquí y aquí y aquí .

Estas publicaciones anteriores han considerado el modelo clásico CRISP-DM, el proceso KDD, el modelo de 4 pasos de Francois Chollet (dirigido a Keras, pero generalizable).

Los 7 pasos de Yufeng Guo para el aprendizaje automático, e incluso modificaciones dirigidas específicamente a disciplinas más limitadas, como el marco de tareas de ciencia de datos basado en texto.

En un esfuerzo por perfeccionar aún más nuestros modelos internos, esta publicación presentará una visión general de la Lista de verificación del proyecto de aprendizaje automático de Aurélien Géron. Como se ve en su libro más vendido, “ Aprendizaje automático de máquinas con Scikit-Learn & TensorFlow .

Es un enfoque similar al de, digamos, el proceso de 7 pasos de Guo, pero a un nivel sutilmente superior. Se presenta como una lista de verificación de los proyectos que se aproximan, por lo que se siente menos prescriptivo y más descriptivo.

Un recordatorio de lo que debe hacer mientras lo hace, en lugar de una gran explicación de por qué está haciendo lo que está haciendo. Esta es una observación sin juicio.

Y a continuación se muestra una breve descripción de la lista de verificación de Géron. Sugiero humildemente que cualquiera que aún no haya leído el libro de Géron lo compruebe para obtener más información útil dirigida tanto a principiantes como a practicantes.

1. Encuadre el problema

Este primer paso es donde se define el objetivo. Géron se refiere a los objetivos en términos de negocios, pero esto no es estrictamente necesario. Sin embargo, es importante comprender cómo se utilizará finalmente la solución del sistema de aprendizaje automático.

Este paso es también donde se discuten escenarios comparables y soluciones actuales para un problema dado, así como las suposiciones que se contemplan y el grado de necesidad de la pericia humana determinada.

Otros elementos técnicos clave para encuadrar en este paso incluyen determinar qué tipo de problema de aprendizaje automático (supervisado, no supervisado, etc.) se aplica y adoptar la (s) métrica (s) de rendimiento apropiada.

2. Obtenga los datos

Este paso se centra en los datos: determine cuántos datos se necesitan, qué tipo de datos se necesitan, dónde obtener los datos, evalúe las obligaciones legales que rodean la adquisición de datos … y obtenga los datos.

Una vez que tenga los datos, asegúrese de que estén anonimizados adecuadamente, asegúrese de saber qué tipo de datos son en realidad (series de tiempo, observaciones, imágenes, etc.), convierta los datos a un formato que requiera y cree la capacitación. validación y pruebas de conjuntos según se justifique.

3. Explore los datos

Este paso en la lista de verificación es similar a lo que a menudo se denomina Análisis de Datos Exploratorios (EDA). El objetivo es intentar obtener información a partir de los datos antes de modelar. Recuerde que en el primer paso se identificaron y exploraron los supuestos sobre los datos; este es un buen momento para investigar más a fondo estas suposiciones.

Los expertos humanos pueden ser de particular uso en este paso, respondiendo preguntas sobre correlaciones que pueden no ser obvias para el profesional del aprendizaje automático.

El estudio de las características y sus características se realiza aquí, al igual que la visualización general de las características y sus valores.

Piense en lo fácil que resulta, por ejemplo, identificar rápidamente los valores atípicos mediante el diagrama de caja que mediante la interrogación numérica. Documentar los resultados de su exploración para su uso posterior es una buena práctica.

4. Prepare los datos

Tiempo para aplicar las transformaciones de datos que identificó como dignas en el paso anterior. Este paso también incluye cualquier limpieza de datos que realizaría, así como la selección de funciones y la ingeniería. Cualquier escala de características para la estandarización y / o normalización de valores también ocurriría aquí.

5. Modele los datos

Tiempo para modelar los datos, y reduzca el conjunto inicial de modelos a lo que parece ser el grupo más prometedor. (Esto es similar al primer paso de modelado en el proceso de Chollet: buen modelo → modelo “demasiado bueno”, que puede leer más aquí ) .

Tales intentos pueden involucrar el uso de muestras del conjunto de datos completo para facilitar los tiempos de entrenamiento para los modelos preliminares, modelos que deberían abarcar un amplio espectro de categorías (árboles, redes neuronales, lineales, etc.).

Los modelos deben construirse, medirse y compararse entre sí, y los tipos de errores cometidos para cada modelo deben investigarse, al igual que las características más significativas para cada algoritmo utilizado. Los modelos con mejor rendimiento deberían ser preseleccionados, que luego pueden ajustarse posteriormente.

6. Afine los modelos

Los modelos preseleccionados ahora deben tener sus hiperparámetros ajustados, y los métodos de conjunto deben investigarse en esta etapa.

Deben usarse conjuntos de datos completos durante este paso, si se hubieran usado muestras de conjuntos de datos en la fase de modelado anterior.

No se debe seleccionar un modelo ajustado como “ganador” sin haber estado expuesto a todos los datos de entrenamiento o en comparación con otros modelos que también han sido expuestos a todos los datos de entrenamiento. Además, no vestiste en exceso, ¿verdad?

7. Presente la solución

Tiempo para presentar, ¡así que espero que sus habilidades de visualización (o las de alguien en el equipo de implementación) estén a la altura!.

Este es un paso mucho menos técnico, aunque también es importante garantizar la documentación adecuada de los aspectos técnicos del sistema en este punto.

Responda preguntas para las partes interesadas: ¿Las partes interesadas entienden el panorama general? ¿La solución logra el objetivo? ¿Ha transmitido suposiciones y limitaciones?.

  Esto es esencialmente un argumento de venta, por lo tanto, asegúrese de que la confianza en el sistema sea para llevar. ¿Por qué todo este trabajo funciona si el resultado no se comprende y adopta?

8. Inicie el sistema ML

Prepare el sistema de aprendizaje automático listo para la producción; Tendrá que ser conectado a algún sistema o estrategia de producción más amplio.

Como solución de software, se expondrá a pruebas de unidad antes y se debe monitorear adecuadamente una vez que esté en funcionamiento.

La readaptación de modelos con datos nuevos o actualizados forma parte de este proceso y debe tenerse en cuenta aquí, incluso si se hubiera pensado en esto en un paso anterior.

Dejá un comentario