Aprendizaje no supervisado: métodos y técnicas
En aprendizaje no supervisado no hay hoja de respuestas: el método siempre devuelve algo, nunca dice «aquí no hay nada». k-means da los grupos que le pidas, y un equipo de Google Brain demostró que datos genuinamente aleatorios pueden aparentar grupos espectaculares en un gráfico de t-SNE. Los métodos, sus supuestos declarados en la documentación de referencia, y las cuatro pruebas que distinguen una estructura real de una fabricada por el algoritmo.
El aprendizaje no supervisado agrupa las técnicas que buscan estructura en datos que nadie ha etiquetado: segmentar clientes sin saber de antemano cuántos tipos hay, detectar transacciones raras sin una lista de fraudes conocidos, reducir mil variables a dos para poder dibujarlas.
Y arrastra una dificultad que no tiene solución técnica, solo disciplina: aquí no hay hoja de respuestas. En aprendizaje supervisado uno se equivoca y se entera, porque existe una etiqueta correcta contra la que medirse. En no supervisado se puede estar equivocado indefinidamente y con gráficos preciosos. Casi todos los «hallazgos» que salen de una segmentación de datos nacen así, y muy pocos se validan.
Las familias, en una frase cada una
El agrupamiento reparte los datos en grupos de elementos parecidos entre sí. La reducción de dimensionalidad comprime muchas variables en pocas conservando lo esencial, sea para visualizar o para alimentar otro modelo. La detección de anomalías busca lo que se sale del patrón mayoritario. Y la estimación de densidad modela cómo se reparten los datos en su espacio, que es la base formal de casi todo lo anterior.
Son cuatro problemas distintos, pero comparten el mismo talón de Aquiles: todos devuelven un resultado siempre. Nunca hay un mensaje que diga «aquí no hay nada».
k-means y la trampa del número redondo
El algoritmo más usado para agrupar es k-means, y su primera característica dice mucho: hay que decirle de antemano cuántos grupos quiere uno. Si pide cinco, obtiene cinco. Si pide doce, obtiene doce. En ningún caso responde que los datos no se agrupan.
La documentación de scikit-learn, que es la implementación de referencia, lo advierte con precisión: la medida que k-means minimiza «asume que los grupos son convexos e isótropos, lo cual no siempre es el caso» y «responde mal a grupos alargados o a variedades con formas irregulares». Traducido: el método busca bolas, y si sus datos se organizan en filamentos o en medias lunas, le devolverá bolas de todos modos, cortando por donde no hay corte.
La misma página avisa de un segundo problema que sorprende a mucha gente: «en espacios de dimensionalidad muy alta, las distancias euclídeas tienden a inflarse (una manifestación de la llamada maldición de la dimensionalidad)». Cuando todo está lejos de todo, la noción misma de «parecido» se degrada, y agrupar por distancia deja de significar lo que uno cree. Por eso se recomienda reducir dimensiones antes de agrupar.
El gráfico que convence a todo el mundo
Aquí está la trampa más cara, porque es visual y muy persuasiva. Las técnicas que proyectan datos de muchas dimensiones en un plano —t-SNE, UMAP— producen esas nubes de puntos con islas bien separadas que aparecen en presentaciones de todo el mundo, y que casi nadie sabe leer.
En octubre de 2016, Martin Wattenberg, Fernanda Viégas e Ian Johnson publicaron en Distill un artículo interactivo sobre cómo se malinterpretan estos gráficos. Sus advertencias son concretas y conviene tenerlas a mano:
Primera: «No se pueden ver los tamaños relativos de los grupos en un gráfico de t-SNE», porque el algoritmo «expande de forma natural los grupos densos y contrae los dispersos, igualando los tamaños». Ese conjunto que parece dominar el gráfico puede tener cuatro elementos.
Segunda: «Las distancias entre grupos bien separados en un gráfico de t-SNE pueden no significar nada». Que dos islas estén lejos no implica que sean muy distintas.
Y la tercera, la que debería enseñarse antes que el resto: «El ruido aleatorio no siempre parece aleatorio». Los autores lo demuestran con datos genuinamente aleatorios que, con ciertos ajustes del parámetro de perplejidad, «parecen mostrar grupos espectaculares». Estructura nítida, contundente y absolutamente falsa.
Cómo no engañarse: cuatro pruebas
Esto es lo que se lleva usted, y vale para cualquier hallazgo salido de un análisis sin etiquetas, lo haya hecho un modelo o una consultora.
Uno, la prueba del ruido. Ejecute exactamente el mismo procedimiento sobre datos aleatorios con la misma forma —mismo número de filas, columnas y rangos— y mire el resultado. Si también salen grupos bonitos, la estructura la pone el método, no sus datos. Es la prueba más barata que existe y casi nadie la hace.
Dos, la prueba de la estabilidad. Repita el análisis sobre la mitad de los datos elegida al azar, varias veces. Si los grupos cambian de composición en cada repetición, no son grupos: son cortes arbitrarios de una nube continua.
Tres, la prueba del segundo método. Si k-means y un algoritmo basado en densidad, que funcionan por principios distintos, coinciden aproximadamente, hay algo. Si cada uno cuenta una historia, la historia es del algoritmo.
Cuatro, la prueba externa. ¿Los grupos predicen algo que no se usó para construirlos? Si el «segmento 3» además compra distinto, se da de baja antes o responde a otra campaña, entonces existe. Si solo se distingue por las variables con las que se le fabricó, es una tautología con nombre bonito.
La anomalía y su aritmética incómoda
La detección de anomalías merece un apartado propio porque falla de una manera muy concreta que no tiene que ver con el algoritmo, sino con los números.
Supongamos un detector de fraude realmente bueno: acierta el 99 % de las veces, tanto al señalar fraude como al descartarlo. Y supongamos que el fraude afecta a una de cada mil operaciones. Sobre un millón de transacciones habrá 1.000 fraudulentas, de las que el sistema cazará 990. Pero de las 999.000 legítimas marcará por error el 1 %: casi 10.000 alarmas falsas.
Es decir: de cada once avisos que llegan al analista, diez son ruido. Con un detector del 99 %. Y no hay ajuste de umbral que arregle eso sin dejar pasar fraude, porque el problema no es el modelo: es que lo que se busca es rarísimo.
Esa aritmética —la misma de un cribado médico de una enfermedad poco frecuente— explica la mayor parte de los proyectos de detección que se abandonan a los seis meses «porque el sistema da muchos falsos positivos». No daba muchos: daba los que impone la base. La pregunta que hay que hacer antes de empezar no es qué precisión tiene el modelo, sino cuántas alarmas al día puede atender de verdad un equipo humano, y cuánto cuesta cada una.
Y cuando no hay etiquetas para evaluar
La documentación de scikit-learn lo plantea sin adornos: «Si no se conocen las etiquetas verdaderas, la evaluación debe realizarse usando el propio modelo», y propone el coeficiente de silueta, donde una puntuación más alta indica grupos mejor definidos.
Es una herramienta útil y conviene usarla, pero note lo que dice esa frase: el modelo se está puntuando a sí mismo con su propia idea de lo que es un buen grupo. La silueta premia grupos compactos y separados, así que favorecerá a los métodos que buscan justo eso. No es una verificación independiente. Es una segunda opinión del mismo médico.
Por dónde seguir, sin intermediarios
La documentación de agrupamiento de scikit-learn es gratuita, está bien escrita y contiene una tabla comparativa de algoritmos con sus supuestos y sus casos de uso: media hora ahí ahorra semanas. El artículo de Distill sobre t-SNE es interactivo y es de las pocas lecturas que cambian de verdad cómo se mira un gráfico.
La capacidad que se lleva usted es un reflejo: cada vez que alguien le enseñe grupos encontrados en unos datos, preguntar qué salió al aplicar el mismo método a ruido — porque si nadie lo ha probado, nadie sabe si el hallazgo es del mundo o del algoritmo.
Este artículo se ha elaborado con inteligencia artificial bajo supervisión editorial humana.