machine learning engineering

- 10 mins

Con esta entrada empiezo una nueva categoría de posts que voy a llamar “notas”. No son más que apuntes que he hecho mientras leía algún libro o veía alguna charla.

En este caso, salen de un libro sobre ingeniería de aprendizaje automático, que es un tema al que le quería echar un ojo. Me picó la curiosidad después de haber desplegado mi TFM sobre clustering en un entorno real como buenamente supe, poniendo el foco en evitar cualquier complicación que amenazara poder presentarlo en la defensa del trabajo. Una vez cerrada esa historia, encontré este libro, que se distribuye bajo el principio “read-first, buy-later”, y quise saber cómo dicen que hay que hacer esto.

Es un tema sobre el que me parece que no hay mucho publicado, por cierto. No sobre teoría de machine learning, qué tipos hay y cómo funcionan los algoritmos más conocidos, claro. Eso está más que machacado. Me refiero a poner a funcionar el aprendizaje automático en el mundo real, a lo ingenieril del asunto. Este libro trata de esos aspectos prácticos que suelen descubrirse solo con la experiencia.

Lo que hice fue recopilar los borradores de los capítulos, que se ofrecían sueltos en la web, revisarlos todos por encima y leer en detalle los que me interesaban más. Para quedarme con las ideas que exponía, escribí estas cuatro cosas, pero eso no quiere decir que sean las más importantes del libro. Ni siquiera que esté de acuerdo con ellas o que deban tomarse como referencia. Solo las comparto como la síntesis que saqué de aquí en el momento en el que lo leí. Si alguien más encuentra algo útil en ella, yo que me alegro :)

/índice:

Machine Learning Engineering

A. Burkov (Director de Data Science y Machine Learning Team Leader en Gartner)

Cuándo usar aprendizaje automático

Cuándo no utilizar aprendizaje automático

El ciclo de vida de un proyecto de aprendizaje automático

Propiedades de un buen modelo

Al definir el objetivo de un proyecto de aprendizaje automático, deben definirse:

Problemas comunes con los datos

Los datos de calidad

Generación de datos artificiales (“data augmentation”)

Estrategia para conseguir más datos etiquetados sin necesidad de procesos de etiquetado adicionales.

El caso más efectivo es el aplicado a imágenes. Consiste en aplicar operaciones simples como recortar o reflejar.

Selección de características

No todas las características son igualmente importantes para un problema dado. Si estimamos la importancia de las características, podremos mantener sólo las más importantes. Esto nos permitirá ahorrar tiempo, cargar más ejemplos en memoria y mejorar la calidad del modelo.

Técnicas de selección de características:

Las buenas características tienen alto poder de predicción, pueden computarse rápidamente, son fiables y están incorreladas. También son fáciles de entender y mantener.

Reducción de dimensionalidad

Escalar las características

Buenas prácticas de la ingeniería de datos (“feature engineering”)

Básicas:

Más:

Servir, monitorizar y mantener el modelo

Propiedades del entorno de ejecución en el que se sirve el modelo

Servir un modelo en el mundo real: lidiar con errores

La visibilidad del error es un factor importante a la hora de decidir si se esconde o no y cómo hacerlo. ej.: alertas no críticas. En esta situación, puede ser preferible optimizar el modelo para la precisión, a costa de mantener la sensibilidad razonablemente alta.

Precision (predicción positiva) = TP / TP+FP

Recall (sensibilidad o tasa de TP) = TP / TP+FN

[ thanks for sharing
this post on your social networks! ]
jartigag

jartigag

-.-

View replies to this post on
[Mastodon] [Twitter]
rss twitter github mail reddit