🎙 Episodio 57. Aún más mandamientos del Machine Learning

En el episodio de hoy de Un podcast ninja sobre Big Data seguimos hablando de las 43 reglas del Machine Learning de Google. En concreto de los mandamientos a seguir para entrenar a nuestra Inteligencia Artificial con los datos correctos y precisos que necesita.

Estos datos de los que aprende un modelo de Machine Learning se llaman características.  

El valor informacional de los datos está representado por las características.

Es decir, las características contienen la información que el modelo usa para:

  • Separar las clases, en el caso de que queramos clasificar si algo pasa o no pasa
  • Estimar los valores, en el caso de que lo que estemos tratando de predecir sea un valor,  que nos va a devolver como resultado.

Regla#16. Sed muy consciente de que esto va a ser un proceso de entrenar y reentrenar

Vamos que el modelo en el que estéis trabajando en un primer momento no va a ser definitivo.

Así que hay que tener muy en cuenta que si en cada iteración que hacemos estamos añadiendo una complejidad muy muy grande, igual cuando vayamos por el ensayo número 10 el proceso de entrenar el modelo es tan sumamente leeeento que ya no nos sirve.

Sin embargo, reentrenar modelos tiene un coste de tiempo y esfuerzo, así que hay que hacerlo cuando tenga sentido.

Para cada caso de uso será antes o después, dependiendo de si tenemos nuevas características que creemos que van a suponer una mejora del rendimiento o si estamos ajustando el objetivo que queremos conseguir.

Regla#17. Empezad por las características que pueden ser observadas directamente en lugar de por características aprendidas

Antes de nada…

¿qué puñetas es una característica aprendida y una directamente observada?

Una característica directa es aquella que forma parte de nuestros datos de manera directa.

Un ejemplo...

Si tenemos una tienda online con los datos que hemos estado capturando con el comportamiento de nuestros clientes una característica que podemos observar directamente es el tiempo que está el cliente viendo la página del producto que va a comprar, o la hora en la que ha visitado nuestra tienda online, o el país desde el que nos visita.

Esas serían características directas.

Una característica aprendida es una que ha generado un sistema externo.

Por ejemplo, otro modelo de Machine Learning que tengamos funcionando para otra cosa y que pudiera estar segmentando a ese cliente y devolver por cómo se comporta ese usuario pues está interesado en el yoga, por ejemplo, qué sé yo… 

Ese interés que hemos aprendido con otro sistema lo usamos como característica aprendida y se lo enchufamos a nuestro modelo que predice si esta persona compra o no compra en nuestra tienda online.

No sabemos fijo si le interesa el yoga, porque no nos lo ha dicho, pero un modelo de ML no supervisado dice que sí.

Puede fallar o no.

Esta característica podría ser muy útil y tener un valor predictivo muy alto pero si estamos empezando mejor no nos metemos en esos jardines de características aprendidas porque pueden fallar y además utilizar estas características tiene complejidad añadida.

Así que ya que estamos en las primeras versiones, mejor simplificar.

Regla#18. Explora características que generalicen bien en distintos contextos

En un sistema puede haber varios modelos de IA, unos alimentándose de otros.

Cada uno de estos modelos tiene un objetivo y un contexto del que está aprendiendo.

Entonces, por ejemplo imaginad YouTube.

Obviamente un sistema como Youtube tiene modelos de Machine Learning por todas partes.

Uno que recomienda los vídeos cuando hacemos una búsqueda en la barra de búsqueda de youtube otro que recomienda el vídeo que ver después del vídeo que estás viendo en este momento y bueno, más…

Entonces si un usuario que está viendo un vídeo muestra interés por un vídeo completamente distinto, esta información puede ser de utilidad a la hora de hacer recomendaciones tanto en el modelo que rankea los videos que ver cuando hacemos una búsqueda como en el modelo que elige los vídeos a ver después del que estamos viendo. 

Regla#19. Usa características muy específicas cuando puedas

Imaginad que tenéis un montón de información enorme.

En lugar de tratar de entender todo de una manera muy complicada, a menudo es mejor enfocarse en muchos detalles pequeños y simples.

Aunque estos detalles, estas características, no apliquen a todos los datos.

En muchos casos es más fácil aprender de pequeñas cosas sencillas, características simples,  antes que intentar entender el misterio del universo de una sola vez a través de la característica definitiva y super compleja.

Regla#20. Combina y modifica características de manera que sean comprensibles para los humanos

Hay muchas maneras en las que podemos crear nuevas características de manera que un modelo de Inteligencia Artificial pueda sacar información útil para el objetivo que le hemos asignado de los datos.

De hecho a esto se dedica la ingeniería de características.

Transformar y combinar los datos para extraer la información útil para que el modelo pueda cumplir su objetivo.

Si cuando hagamos nuestra ingeniería de características somos capaces de interpretar el significado de las nuevas características que creemos podremos interpretar si realmente tienen sentido en el problema que estamos tratando.

Regla#21. En un modelo lineal, la cantidad de características que podremos usar es más o menos proporcional a la cantidad de datos que tenemos

Esto no es una ciencia exacta y Google lo aplica sobretodo pues a lo que hace todos los días que es rankear resultados en búsquedas en internet.

La idea es:

  • Si por ejemplo tenemos un dataset de 1000 observaciones tiene sentido que estemos utilizando no más de una docena de características. Luego ya veremos de dónde las sacamos a partir de nuestro conocimiento del contexto del problema y de técnicas de ingeniería de características.
  • Si lo que tenemos es un millón de observaciones en nuestro dataset deberíamos estar en torno al centenar de características, no más.
  • Si tenemos un conjunto de datos de mil millones de observaciones pues podríamos optar por 10 millones de características.

Pero bueno, como digo, esto no es más que una guía para que os hagáis una idea de las proporciones de características y observaciones que tienen sentido según Google para modelos lineales.

Regla#22. Deshacedos de las características que ya no usáis

Sin miedo… La desechamos dentro de la canalización.

Si en el futuro descubrimos cómo sacar partido de esa característica siempre podemos volver a incluirla.

Regla#23. Probablemente no seais el usuario típico del sistema

Esto no aplica únicamente al Machine Learning… y es, en cierta manera, de sentido común.

Peeeero muchas veces lo olvidamos.

Por un lado nosotros hemos pasado mucho tiempo e invertido esfuerzo en el diseño del modelo de Machine Learning y tenemos muy claro cómo debería utilizarse.

Lo que pasa es que cuando el modelo esté ahí fuera en el mundo real, no sólo lo vamos a utilizar nosotros sino un montón de usuarios diferentes.

Así que probar como es de usable todo el sistema con modelo de IA incluido es muy importante.

Deberemos ver cómo reaccionan los usuarios, si saben interpretar los resultados y si el comportamiento y rendimiento es el esperado antes de avanzar.

Regla#24. Medid la diferencia de resultados entre el nuevo modelo y el anterior antes de cambiar uno por otro

Antes de desplegar un nuevo modelo haced una sencilla comparación de resultados con el que está vigente.

Si los resultados son muy parecidos, probablemente el rendimiento de los modelos sea similar y será seguro desplegar el nuevo modelo .

Si, por otro lado, resulta que los resultados son bastante diferentes... ¡ojo! porque  tendréis que analizar porqué y aseguraos de que realmente el nuevo es mejor que el anterior.

Regla#25. A la hora de elegir un modelo tal vez el modelo con más poder de predicción no sea el mejor

En muchas ocasiones el objetivo sobre el que optimizamos un modelo de Machine Learning y el objetivo de - negocio, digamos - que perseguimos en realidad no coinciden al 100%. 

Es verdad que habremos intentado que se parezcan lo máximo posible pero igual no podemos hacer que sean exactamente iguales.

Por ejemplo, si trabajamos en el equipo del motor de búsqueda de Google igual hemos diseñado un modelo de Machine Learning que optimiza el porcentaje de veces que un usuario hace clic sobre un resultado cuando se muestra en la página de búsqueda.

Peeero lo que buscamos en realidad es que la calidad de los resultados que hemos mostrado sea elevada.

Normalmente estará alineado… y si la calidad de los resultados es buena el objetivo objetivo estará bien optimizado. 

Pero si empieza a no estarlo de manera más frecuente habrá llegado la hora de revisar el objetivo del modelo.

Regla#26. Buscad patrones en los errores y cread nuevas características con ellos

Vuestro modelo de Machine Learning no va a acertar siempre.

Mejor empezar a tenerlo presente cuanto antes.

Y cuando falle, podemos tirarnos de los pelos porque no ha sido capaz de predecir ese ejemplo concreto o podemos convertir esto en una característica nueva y pasarsela al modelo en un futuro entrenamiento para que aprenda de sus errores.

Literalmente.

Si montáis un dataset a partir de los errores que ha cometido el modelo y hacéis un análisis de datos para buscar patrones para saber por qué se está equivocando o que información le falta para tener mejores resultados tal vez seáis capaces de definir una característica nueva, la característica que os faltaba para el siguiente entrenamiento.

Regla#27. Intentad cuantificar los comportamientos no deseados

A veces los modelos de Machine Learning devuelven buenas métricas, parece que se están comportando bien y prediciendo lo que sea que tienen que predecir con precisión y sin embargo parece que algo huele a chamusquina pero no sabemos decir exactamente qué es.

Lo más importante aquí es traducir el olor a chamusquina o las malas sensaciones que nos da nuestro modelo en algo que podamos medir.

Por ejemplo, volvemos a nuestros puestos de trabajo en el equipo encargado del motor de búsqueda en Google y nuestro modelo parece que rankea bien.

Las métricas que hemos definido salen correctas y sin embargo, tenemos la sensación de que cuando buscamos algo en internet siempre acabamos en webs que nos recomiendan comprar productos de Amazon… 

Igual aquí, necesitamos la intervención humana para ayudar a nuestro modelo.

Podemos etiquetar manualmente algunos ejemplos en los que nuestro modelo de IA esté rankeando páginas puerta y con estos datos podemos definir una nueva métrica.

Esta métrica podría ser el número de páginas de afiliados de Amazon que aparecen en cada consulta y además podríamos definir una nueva característica para volver a entrenar al modelo y obtener mejores resultados.

Regla#28. Ojo… que dos modelos se comporten igual en el corto plazo no implica que vayan  hacerlo a largo plazo

Por ejemplo, imaginad dos modelos de Machine Learning que intentan predecir el valor de la  bolsa.

Al principio los dos parecen tener la misma precisión, esto sigue sucediendo así durante semanas….

Sin embargo, en un momento dado hay una crisis financiera que no estaba representada en los datos de entrenamiento de uno de los modelos.

Este modelo ve su rendimiento deteriorarse rápidamente.

Sin embargo, el otro cuyo conjunto de datos de entrenamiento sí incluía datos de crisis financieras más o menos se defiende en sus predicciones ante la nueva situación.

Por cierto, si queréis ver cómo predecir el valor de la bolsa con IA podéis escuchar el episodio 9.

Espero que el episodio de hoy os sea de provecho y que aprendáis algo de valor. 

Si es así, no olvidéis dejar una valoración de 5 estrellas del podcast en Apple podcasts, en Spotify, en Ivoox, en Google podcast o donde quiera que escuchéis el podcast. 

Recordad que si tenéis cualquier duda o pregunta podéis contactar conmigo a través del formulario de contacto o podemos seguir la conversación en Twitter.

Muchas gracias por estar ahí y os 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 © 2025  · Datos 🥷 · Todos los derechos reservados