🎙️ Episodio 96. Modelos de Machine Learning que caducan

En el episodio de hoy hablamos de la deriva de los datos (data drift), de la deriva conceptual (concept drift) y de todas esas cosas que hacen que nuestro modelo se rompa en producción.

Los modelos de Machine Learning son como ese yogur olvidado en el fondo de tu nevera: por mucho mimo que les pongas al entrenarlos, acaban caducando.

Aunque parezcan brillantes y funcionales al principio, las condiciones del mundo real cambian, y con ellas, la capacidad de los modelos para hacer predicciones precisas.

Esto ocurre por fenómenos como la deriva de datos (data drift) y la deriva conceptual (concept drift), de los que hablaremos en este artículo.

Las asunciones del aprendizaje supervisado: ¿por qué son problemáticas?

El aprendizaje supervisado, el enfoque más común en Machine Learning, se basa en entrenar un modelo con ejemplos: datos de entrada y sus salidas esperadas.

Pero este proceso asume tres cosas fundamentales que, si no se cumplen, pueden hacer que el modelo se rompa:

  1. Los datos son independientes e idénticamente distribuidos (IID):
    Cada dato de entrenamiento es una "isla", independiente del resto, y todos siguen el mismo patrón o distribución. Esto no siempre ocurre en la realidad, especialmente con series temporales o datos recogidos de múltiples fuentes.
  2. Los datos de entrenamiento y los del mundo real tienen la misma distribución:
    Asumimos que hemos recolectado un conjunto de datos que representa fielmente el mundo real, algo osado considerando que los datos reales son infinitos y nuestro dataset siempre será limitado.
  3. La distribución es estacionaria:
    Se da por hecho que las características y las relaciones aprendidas no cambian con el tiempo. Pero, como decía Heráclito: "La única constante es el cambio". En el mundo real, las cosas evolucionan, y con ellas, la relevancia de nuestro modelo.

Data drift: cuando los datos cambian

La deriva de datos ocurre cuando cambia la distribución de las características de entrada.

Un ejemplo clásico es un modelo de detección de spam que inicialmente funciona a la perfección, pero con el tiempo empieza a fallar.

¿Por qué?

Pues porque los spammers son listos y cambian sus tácticas:

  • Cambiando palabras clave: Usan trucos como sustituir letras por símbolos para evitar que el modelo las detecte.
  • Alterando patrones de envío: Emplean múltiples direcciones IP y personalizan los correos para evitar la detección.

El modelo, entrenado con datos históricos, sigue buscando patrones antiguos que ya no se aplican. Esto es data drift: los datos de entrada han cambiado tanto que el modelo ya no es útil.

Label drift: cuando cambian las etiquetas

La deriva de etiquetas (label drift) ocurre cuando cambia la distribución de las etiquetas.

Imagina que has desarrollado un modelo de Machine Learning para diagnosticar diabetes basándote en características médicas como los niveles de glucosa, presión arterial y antecedentes familiares.

Lo entrenaste con datos históricos, y al principio funciona a la perfección: el modelo identifica correctamente a los pacientes diabéticos según los criterios médicos establecidos.

Pero un día, los estándares cambian. Las asociaciones médicas actualizan las guías diagnósticas, y ahora los niveles de glucosa considerados normales son más estrictos.

De repente, pacientes que antes no eran clasificados como diabéticos ahora sí lo son.

¿Qué ocurre?

Este es un ejemplo claro de label drift, donde:

  • La distribución de las etiquetas cambia: Los pacientes etiquetados como "no diabéticos" en los datos de entrenamiento ahora entrarían en la categoría "diabético" bajo las nuevas normas.
  • El modelo pierde precisión: Sigue utilizando los criterios antiguos, lo que genera errores en la clasificación.
  • La realidad avanza, pero el modelo no: Aunque los datos de entrada no han cambiado, los criterios para definir las etiquetas sí lo han hecho.

En este escenario, el modelo se vuelve obsoleto porque las etiquetas ya no corresponden a las definiciones aprendidas durante el entrenamiento.

Actualizar el modelo con los nuevos criterios es fundamental para que siga siendo relevante y útil en producción.

Concept drift: cuando cambian las relaciones entre datos y etiquetas

La deriva conceptual (concept drift) ocurre cuando cambia la relación entre las características y las etiquetas.

Esto significa que el modelo, entrenado con relaciones específicas, pierde precisión porque esas relaciones ya no son válidas.

El caso del e-commerce y la deriva conceptual

Imagina que acabas de lanzar un modelo de recomendaciones para tu tienda online. Al principio, todo es un éxito: las recomendaciones son relevantes, los usuarios hacen clic, compran más y las métricas de conversión suben. Tu equipo está encantado, y parece que el modelo es imbatible. Pero con el tiempo, las cosas empiezan a cambiar. Las métricas caen, las recomendaciones ya no interesan y los usuarios optan por usar el buscador en lugar de confiar en las sugerencias del sistema. ¿Qué ha pasado?

  • Aquí nos encontramos con un ejemplo claro de deriva conceptual combinado con deriva de datos. En este escenario:
  • El catálogo evoluciona: Nuevos productos llegan, otros desaparecen y algunos dejan de ser populares.
  • Las preferencias de los usuarios cambian: Lo que antes era tendencia ahora ya no despierta interés.
  • El modelo se queda obsoleto: Sigue aferrado a los patrones de clics y compras aprendidos durante el entrenamiento, que ya no reflejan la realidad actual.

Este es un caso de concept drift combinado con data drift: no solo cambian las características de entrada, sino también la relación entre esas características y las etiquetas (compras).

Aunque los datos de entrada no hayan cambiado, las etiquetas sí lo han hecho, lo que hace que las predicciones del modelo sean incorrectas.

Tipos de concept drift

La deriva conceptual puede manifestarse de diferentes formas según cómo cambien las relaciones entre las características y las etiquetas con el tiempo.

Estos cambios pueden ser rápidos o lentos, predecibles o inesperados, y hasta cíclicos en algunos casos.

Entender los tipos de concept drift es fundamental para diseñar estrategias efectivas que permitan adaptarse a estos cambios y mantener la relevancia de los modelos de Machine Learning en producción.

  1. Gradual: Cambios lentos en la relación entre las características de entrada y las etiquetas, como en las recomendaciones de e-commerce o servicios como Netflix, donde los gustos de los usuarios evolucionan poco a poco.
  2. Súbita: Cambios abruptos de un día para otro, como cuando se implementan nuevas regulaciones que alteran la relación entre características y etiquetas.
  3. Incremental: La relación entre las características de entrada y las etiquetas evoluciona progresivamente hacia un nuevo estado, como los patrones de clics en anuncios online, que dejan de ser efectivos con el tiempo.
  4. Recurrente: Relaciones antiguas reaparecen, como en patrones estacionales (por ejemplo, aumento de compras de productos navideños en diciembre).

¿Cómo manejar la caducidad de los modelos?

La caducidad de los modelos de Machine Learning no es opcional:

Todos los modelos pierden eficacia con el tiempo.

La clave está en gestionarlo de forma proactiva:

  1. Monitorizar las distribuciones de los datos:
    Vigila si las distribuciones de las características o de las etiquetas han cambiado y detecta posibles derivas.
  2. Reentrenar el modelo regularmente:
    Usa datos recientes que reflejen la nueva realidad para ajustar el modelo.
  3. Elegir características estables:
    Encuentra un equilibrio entre características con alto poder predictivo pero menos estables, y características más estables pero con menor poder predictivo.

Los modelos de Machine Learning no son eternos, y fenómenos como el data drift y el concept drift nos obligan a actualizarlos constantemente.

Monitorizar, reentrenar y diseñar sistemas adaptativos son esenciales para mantener su relevancia.

Porque, al final, como Heráclito nos recordó hace siglos,

La única constante es el cambio.

¿Estás preparado para evitar que tus modelos de Machine Learning se conviertan en ese yogur olvidado en la nevera?

Si te interesa profundizar en cómo diseñar sistemas de Machine Learning que sean robustos frente a la deriva de datos y al concept drift, te recomiendo que le eches un vistazo al capítulo 8 del libro "Designing Machine Learning Systems" de Chip Huyen.

En él, encontrarás estrategias prácticas para gestionar problemas como data drift y concept drift, además de enfoques para monitorizar modelos y mantener su rendimiento en entornos dinámicos.

Súper recomendado 🔥

Espero que te guste el episodio.

Si es así, no olvides dejar un «Me gusta» y algún comentario al episodio en Ivoox o una valoración de 5 estrellas del podcast en Apple podcasts, en Spotify, en Youtube o donde quiera que escuches el podcast.

Recuerda que si tienes cualquier duda o pregunta puedes contactar conmigo a través del formulario de contacto o podemos seguir la conversación en Twitter.

Muchas gracias por estar ahí y te espero en el próximo episodio de Un Podcast Ninja sobre Big Data.

Accede a todo el contenido premium

Ya no necesitas pagar cientos de euros por un Bootcamp para convertirte en ninja de los datos. Por solo 17€/mes (o menos 🤯), obtén acceso al podcast premium, a todos los tutoriales y a los resúmenes de los libros más top sobre Machine Learning y Ciencia de datos y aprende a tu ritmo.
¡Empieza ahora!
Copyright © 2024  · Datos 🥷 · Todos los derechos reservados