Atlasingeniería

Aprendizaje automáticoNo supervisado y reducción de dimensiónTema 1

Clustering: k-means y jerárquico

Agrupar sin etiquetas parece objetivo y no lo es: cada algoritmo trae su propia definición de qué es un grupo, y los datos casi siempre se dejan partir aunque no haya grupos reales.

Para este tema conviene tener claro:Qué significa que un modelo aprenda

Pedirle a un algoritmo que encuentre grupos en los datos suena a descubrimiento neutral. No lo es: todo algoritmo de clustering impone una idea de qué forma tiene un grupo, y siempre devuelve una partición, haya estructura real o no.

K-means, en dos pasos que se repiten

K-means es el más usado y su mecánica cabe en dos pasos que se repiten: asignar cada punto al centro más cercano, y recalcular cada centro como el promedio de sus puntos.

Los datos: dos grupos claros, a la izquierda y a la derecha. El punto es que el algoritmo no los ve así.

1 / 6
Dos pasos que se alternan hasta que nadie cambia de grupo. Fijate que los centros arrancaron mal y aun así terminaron bien: eso pasa seguido, pero no siempre, y por eso se corre varias veces.

Converge rápido y siempre, aunque a un óptimo local: el resultado depende de dónde arrancaron los centros, y por eso se corre varias veces con inicializaciones distintas. La inicialización k-means++ elige los centros iniciales bien separados y mejora bastante la consistencia.

Antes de seguir, predecí

Corrés k-medias dos veces sobre los mismos datos. ¿Da lo mismo?

Lo que k-means supone sin decirlo

Lo que k-means supone es fuerte y conviene tenerlo explícito: grupos esféricos, de tamaño parecido y de densidad similar, porque minimizar la distancia al centro no puede representar otra cosa.

Con grupos alargados, anidados o de tamaños muy distintos, parte mal. También exige elegir kk de antemano y escalar los atributos, porque trabaja con distancias. Y los valores atípicos corren los centros, porque el promedio no es robusto.

Elegir k: heurísticas, no respuestas

Para elegir kk hay heurísticas, no respuestas. El método del codo grafica la inercia contra kk y busca el quiebre, que muchas veces no existe con claridad. El coeficiente de silueta mide qué tan bien separado está cada punto de los grupos vecinos y da un número comparable.

La decisión honesta suele ser distinta: elegir el kk que resulte accionable. Si los grupos se van a usar para armar cinco campañas, hay cinco grupos; la matemática no va a resolver una pregunta que es de negocio.

El jerárquico, que no pide k

El clustering jerárquico no pide kk. En su versión aglomerativa, arranca con cada punto como grupo y va fusionando los dos más cercanos hasta quedarse con uno solo, produciendo un árbol.

Ese dendrograma se corta a la altura que se quiera, y eso permite mirar la estructura antes de decidir cuántos grupos hay. Lo que hay que definir es cómo medir la distancia entre grupos: enlace simple —que forma cadenas alargadas—, completo —que tiende a grupos compactos—, o promedio. El costo es cuadrático o peor, así que no escala a conjuntos grandes.

DBSCAN: un grupo es una región densa

DBSCAN parte de otra definición: un grupo es una región densa. Los puntos con suficientes vecinos cerca forman núcleos que se encadenan, y los que quedan en zonas ralas se marcan como ruido.

Eso le da tres ventajas concretas: encuentra grupos de forma arbitraria, no necesita kk y detecta atípicos en vez de forzarlos adentro. A cambio, hay que elegir el radio y el mínimo de vecinos, y funciona mal cuando los grupos tienen densidades muy distintas.

Evaluar sin etiquetas, el problema difícil

Evaluar sin etiquetas es el problema difícil. Las métricas internas —silueta, índices de separación— miden coherencia geométrica, que no es lo mismo que utilidad.

La validación que sirve es externa: ¿los grupos se distinguen en variables que no se usaron para armarlos? ¿Alguien que conoce el dominio los reconoce? ¿Se mantienen si se reparte la muestra en dos? Sin alguna de esas respuestas, un clustering es una partición bonita sin evidencia de que signifique algo.

Qué algoritmo para qué forma

k-meansDBSCANJerárquicoMezcla de gaussianas
Hay que elegir knono: se corta el árbol
Forma de los gruposesféricacualquieracualquieraelíptica
Atípicoslos mete en un grupolos deja afueralos metelos mete
Escalamuy bienmedianamal: O(n²)bien
Pertenenciaduraduradurablanda: probabilidad por grupo
La segunda fila es la que más decide: si los grupos no son esféricos, k-means no puede encontrarlos por más que se elija bien k, porque minimizar la distancia al centro no representa otra cosa.

Cierre

K-means es rápido y supone grupos esféricos de tamaño similar, con kk fijado de antemano y sensibilidad a la inicialización y a los atípicos. El jerárquico muestra la estructura en un árbol y no escala; DBSCAN agrupa por densidad y marca ruido. Y la validación real es externa, no geométrica.

Autoevaluación

¿Lo entendiste?

¿Por qué encontrar grupos no es un descubrimiento neutral?
¿Qué supone k-means?
¿Por qué se corre k-means varias veces?
¿Qué hace distinto un método basado en densidad como DBSCAN?