Ir al contenido
  1. Posts/

Spectral Clustering: Cómo los Vectores Propios Revelan Estructuras Complejas

··278 palabras·2 mins·

🔵 K-means falla con clusters curvos. Spectral Clustering los resuelve usando vectores propios del grafo de similitud.

El problema con K-means:

En datos con forma de luna (o cualquier estructura no lineal), K-means agrupa incorrectamente porque asume clusters esféricos.

El flujo de Spectral Clustering:

Dataset → Grafo de Similitud → Laplaciano → Vectores Propios → Clusters

Los 7 pasos:

  1. Obtener datos
  2. Matriz de similitud (W) → mide similitud entre cada par de puntos (kernel Gaussiano con parámetro gamma)
  3. Matriz de grado (D) → diagonal: suma de similitudes de cada punto con todos los demás
  4. Laplaciano (L = D − W) → captura la estructura del grafo
  5. Eigendecomposición de Leigenvalues, eigenvectors = np.linalg.eigh(L)
  6. Seleccionar los k vectores propios más pequeños → corresponden a los k clusters (eigengap heuristic: elegir donde hay el mayor salto entre valores propios consecutivos)
  7. Aplicar K-means en el espacio de embedding espectral → ahora los clusters son linealmente separables

Por qué funciona:

Los vectores propios del Laplaciano transforman los datos a un nuevo espacio donde puntos muy conectados quedan juntos. K-means sí funciona ahí, aunque no funcionaba en el espacio original.

💡 Explicación en pocas palabras
#

Spectral Clustering no agrupa por distancia euclidiana, sino por conectividad en un grafo de similitud. El truco elegante: los vectores propios del Laplaciano del grafo actúan como nuevas features donde las estructuras complejas se vuelven linealmente separables. La combinación de álgebra lineal + K-means permite detectar clusters que ningún método basado en distancias podría encontrar.

Más información en el link 👇

También publicado en LinkedIn.
Juan Pedro Bretti Mandarano
Autor
Juan Pedro Bretti Mandarano