◐ learning · kind algorithm · level 2 · 6h

Agrupación de puntos de datos en clusters donde los puntos dentro de un cluster son más similares entre sí que con puntos de otros clusters. Es una técnica fundamental de aprendizaje no supervisado para descubrir estructura en datos sin etiquetas.

Mecanismo. La familia k-means es el algoritmo más usado: dado k (número de clusters), inicializa k centroides aleatorios, asigna cada punto al centroide más cercano (usualmente distancia euclidiana), recalcula los centroides como el promedio de los puntos asignados, y repite hasta convergencia. El objetivo es minimizar la varianza intra-cluster (inertia): .

Variantes y alternativas:

  • Hierarchical clustering: Construye un dendrograma mergeando (aglomerativo) o dividiendo (divisivo) clusters — permite ver la estructura a múltiples niveles de granularidad
  • DBSCAN: Agrupa por densidad — encuentra clusters de forma arbitraria y marca puntos en zonas sparse como noise — no requiere especificar k
  • Spectral clustering: Usa la descomposición espectral de la matriz de similaridad del grafo de datos — útil cuando los clusters no son convexos
  • Gaussian Mixture Models (GMM): Asume que los datos son una mezcla de distribuciones Gaussianas, cada una representando un cluster — permite clusters elípticos y asignación soft (probabilística)

Pitfall. El número de clusters k es un hiperparámetro que debe elegirse — métodos como elbow method, silhouette score, o gap statistic ayudan pero no son definitivos. K-means asume clusters esféricos de tamaño similar, y falla en clusters con forma arbitraria o densidades muy diferentes. Los resultados dependen de la inicialización (k-means++) y de la escala de las features — siempre escalar antes de clusteare.

Ejercicio. Ver notebooks/kmeans-essentials.ipynb para una implementación desde scikit-learn con visualización de los clusters y elbow method para elegir k.

Referencias. MacQueen (1967) “Some methods for classification and analysis of multivariate observations.” Lloyd (1982) “Least squares quantization in PCM.”


Enlaces

Fuentes