🎙 Episodio 35. El aprendizaje no supervisado es una tarta

En el episodio  de hoy de Un podcast ninja sobre Big Data hablamos sobre aprendizaje no supervisado. Si realmente se refiere a dejar entrenándose solito a un modelo de Machine Learning mientras nosotros nos vamos a la pastelería o de qué va realmente 🍰

Para situarnos lo primero que vamos a hacer es recordar que ya nos habíamos hecho una idea de las claves del aprendizaje supervisado en el episodio 22.

Resumen sobre el aprendizaje supervisado

Tenemos un montón de observaciones, que en el argot de la gente que se dedica a esto de la Inteeligencia Artificial se llaman instancias y sus correspondientes respuestas correctas, que técnicamente se llaman etiquetas.

Y el modelo de Machine Learning aprende a través de estos datos de ejemplo o dataset de entrenamiento a asignar observaciones nuevas con la respuesta correcta.

Es decir, que al darle una nueva instancia pues devuelve la etiqueta que considera que le corresponde.

Ejemplo de aprendizaje supervisado (el clásico)

Un ejemplo muy clásico: detectar emails de spam de emails que no son spam.

Necesitamos un montón de emails de una y otra clase con la etiqueta correspondiente de si son o no son spam. Esto sería nuestro conjunto de datos de entrenamiento.

Y de ahí el modelo aprendería los patrones dentro de un email que hacen que sea spam o que no lo sea.

Así que si queréis fardar por ahí de conocimientos de Inteligencia Artificial recordad:

  • Los ejemplos que tenemos para entrenar el modelo son instancias. Cada mail de spam y no spam sería una instancia.
  • La solución para cada uno de nuestros ejemplos es la etiqueta. En este caso, etiqueta de spam y de no spam
  • Y todo este montón de emails de ejemplo con sus correspondientes soluciones son el conjunto de datos de entrenamiento o dataset de entrenamiento.

Bueno pues ya está, eso es el aprendizaje supervisado. Tenemos ejemplos de los que aprender con solución.

Este es el tipo de Machine Learning más extendido y más eficiente.

El problema del aprendizaje supervisado

Peeeeero, la mayoría de las veces en el mundo real la solución no está disponible.

La vida es dura.

Y entonces tenemos dos opciones.

Podemos invertir tiempo o dinero en coger todas nuestras instancias y etiquetarlas nosotros mismos o pagar a alguien para que lo haga.

Imaginad, que tenemos miles de emails y tenemos que mirarlos todos para ponerles una etiqueta de si es spam o no es spam antes de poder ni siquiera pensar en entrenar el modelo.

Además de ser un rollazo pues seguramente nos lleve un montón de tiempo.

Pues he aquí la razón por la que el señor Yann LeCunn decía que el aprendizaje no supervisado es la tarta de la inteligencia artificial.

No hay que pasar por el paso aburrido y que lleva un montón de tiempo, de etiquetar los datos que tenemos para formar nuestro dataset de entrenamiento y entrenar el modelo.

Y además, la mayoría de los datos del universo obviamente vienen sin etiquetar.

Aprendizaje no supervisado

¿Entonces en qué consiste esto del aprendizaje no supervisado?

Pues el aprendizaje no supervisado consiste en entrenar un modelo de Machine Learning con datos de los que no tenemos etiqueta. 

Es decir, el modelo se entrena de ejemplos sin solución.

Este tipo de aprendizaje también se da en humanos y animales.

Imaginad un bebé de pocos meses que tiene una mascota en casa, vamos a poner un perro, si está acostumbrado a jugar con el perro, acariciarlo y que todo vaya bien. Cuando vea otro perro pues probablemente desarrolle el mismo comportamiento que tiene hacia su propia mascota.

Igual si ve un gato, el comportamiento es diferente. No sabemos.

Pero el caso y a lo que voy es que nadie le ha dicho que eso es un perro y sin embargo, el bebé es capaz de ver similitudes entre el animal nuevo y el que tiene en casa.

Así que el aprendizaje no supervisado lo que hace es reconocer patrones dentro de nuestros datos y agrupar instancias similares juntas.

Ejemplo de aprendizaje no supervisado

Si volvemos a nuestro ejemplo clásico de clasificar fotos de perros y fotos de gatos pero resulta que las instancias no tienen etiqueta.

Decidimos utilizar aprendizaje no supervisado.

Entoncesle diremos al modelo de Machine Learning lo que sí sabemos y es que queremos que clasifique todas las fotos que tenemos en dos grupos y con suerte nos devolverá un grupo con los perros y otro grupo con los gatos.

Y sí, habéis leído bien…

He dicho con suerte.

El modelo va a devolver dos grupos, el grupo 1 y el grupo 2 y habrá puesto cada instancias del dataset en el grupo que haya creído conveniente.

Y puede que no haya seguido el criterio que nosotros queríamos.

Por ejemplo, imaginad que en todas las fotos de perros y gatos que tenemos solo hay perros blancos, perros negros, gatos blancos y gatos negros.

Si configuramos el modelo para que nos clasifique nuestras imágenes en dos grupos porque queremos diferenciar los perros de los gatos puede ser que el modelo nos devuelva un grupo con todos los animales blancos y otro grupo con todos los animales negros.

Está muy bien, pero no es lo que queríamos…

Lo que hacen los modelos no supervisados es buscar patrones en los datos que les damos, una estructura, para poder agrupar instancias similares.

Lo que pasa es que no hay garantías de que el sistema vaya a agrupar las instancias según el criterio que nosotros queremos.

Aquí es importante mantenernos cautos ante los resultados, hacer pruebas con datos nuevos y ver si las hipótesis sobre los resultados del modelo se mantienen o se desmontan.

Todo lo que podemos hacer es analizar los grupos que nos devuelve el sistema y ver si nos inspiran algo, nos dicen algo sobre nuestros que nos sirva para lo que queremos conseguir. Si no nos gustan los resultados, probamos con un modelo no supervisado diferente y así hasta que encontremos algo que nos valga.

Y la verdad es que no hay garantías de que vayamos a obtener algún patrón en nuestros datos que nos vaya a servir pero vale la pena intentarlo. 

Aplicaciones del aprendizaje no supervisado

Segmentación de mercados

Entre las aplicaciones del aprendizaje no supervisado está la segmentación de mercados, que es súper importante en el marketing.

Si tú eres capaz de saber que tipo de persona te está comprando tu producto puedes hacer campañas de publicidad más dirigidas a ese tipo de persona concreto. Eso se hace con aprendizaje no supervisado.

Análisis de redes sociales

También se puede hacer mediante aprendizaje no sueprvisado el análisis de redes sociales y de audiencias.

De nuevo se segmenta a los usuarios mediante modelos no supervisados porque la información explícita que damos al abrir una cuenta en una red social es muy limitada, y fijaos que digo al abrir una cuenta, luego con el uso y con estos modelos no supervisados flipariaís con lo que se puede inferir sobre nosotros.

Mediante el aprendizaje no supervisado se analiza el rendimiento de un post en una red socialy se aumenta el alcance de un post mostrándoselo a públicos similares a los que ya han interactuado con ese post.

En parte es así como funcionan las redes sociales.

Detección de anomalías

La detección de anomalías es muy importante por ejemplo para detectar si tu tarjeta de crédito ha sido robada y te están vaciando la cuenta.

Al final los datos bancarios no suelen estar etiquetados y si fueramos capaces de representar los movimientos normales de tu tarjeta pues serían más o menos similares, comprar en lugares cercanos, cantidades más o menos parecidas, etc... Si de repente te gastas 1000 euros en un casino de Singapur pues el modelo de Machine Learning, que tiene agrupaditas todas tus transacciones habituales, detecta que esta última no se parece en nada.

Una anomalía.

Aprendizaje no supervisado como parte de otros sistemas de ML.

Además, también se pueden usar modelos no supervisados como parte de un sistema de Machine Learning más grande, en particular para la ingeniería de características.

Por ejemplo si algunas observaciones de un grupo tienen valores faltantes podemos inferir estos valores a partir de los aquellos de las otras observaciones del mismo grupo.

También se pueden usar para simplificar datasets complejos.

Para este caso imaginad que tenemos un montón de datos de personas, más datos de los que podemos manejar, lo que podríamos hacer es agrupar esas personas en varios grupos y sustituir todos esos datos por el identificador del grupo al que pertenecen.

Hemos simplificado.

Pero recordad que los modelos no supervisados lo que hacen es buscar patrones en los datos y nos pueden ayudar a encontrar características de esos datos que nos ayuden a clasificarlos.

Además es mucho más sencillo y barato encontrar datos que estén sin etiquetar que encontrar datos etiquetados para nuestro caso de uso.

Ahora bien, precisamente porque las instancias no están etiquetadas, es decir, los ejemplos vienen sin solución, no  sabemos si los resultados que nos dé el modelo van a corresponder con algo que tenga sentido para nosotros o que se corresponda con lo que buscábamos.

Y además, vamos a necesitar tiempo para interpretar qué es lo que nos ha devuelto el modelo.

Espero que os guste el episodio.

Si es así, no olvidéis 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 Google podcasts 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.

Boletín Ninja

Suscríbete a la newsletter y recibe la guía ninja del Big Data y la Inteligencia Artificial.

Guía ninja del Big Data
Copyright © 2023  Â· Datos 🥷 · Todos los derechos reservados