Title: A Spectral Clustering Approach To Finding Communities in Graphs
1A Spectral Clustering Approach To Finding
Communities in Graphs
- Luís Oliva Felipe
- (loliva_at_lsi.upc.edu)
2Índice
- Introducción
- Aproximación espectral
- Algoritmos de agrupación
- Spectral-1
- Spectral-2
- Resultados experimentales
- Conclusiones
3Introducción
Introducción / Aproximación espectral /
Algoritmos de agrupación / Resultados
experimentales / Conclusiones
4Introducción
- Algoritmos de clustering se basan en función
objetivo - Newman propone función de modularidad Q
- Valores altos de Q dan buenas clasificaciones
Introducción / Aproximación espectral /
Algoritmos de agrupación / Resultados
experimentales / Conclusiones
5Aproximación espectral
- White y Smyth reaprovechan la función Q para
aplicar una aproximación espectral - Reducen el problema de maximizar Q por un
problema de asignación - Relajan el problema de asignación a un problema
continuo en espacio euclidiano - Calculan la matriz de vectores eigen sobre la que
aplicar algoritmo de agrupación geométrico
(Kmeans)
Introducción / Aproximación espectral /
Algoritmos de agrupación / Resultados
experimentales / Conclusiones
6Aproximación espectral
Lq
Introducción / Aproximación espectral /
Algoritmos de agrupación / Resultados
experimentales / Conclusiones
7Algoritmos de agrupación
Algoritmo Spectral-1 Entrada UK Matriz de
vectores eigen Salida Pk Partición en
clusters de grafo K Nº de clusters
resultantes 1.- hacer 2.- Formar la matriz Uk a
partir de las primeras k-1 columnas de UK 3.-
Escalar las filas de Uk mediante la norma l²
para que sean de longitud unitaria 4.- Agrupar
las filas de los vectores de Uk mediante un
algoritmo de clustering (ej. KMeans) 5.- para
cada k entre 2 k K 6.- Escoger la k y la
correspondiente partición que maximizan
Q(Pk). Fin Algoritmo
Introducción / Aproximación espectral /
Algoritmos de agrupación / Resultados
experimentales / Conclusiones
8Algoritmo Spectral-2 Entrada UK Matriz de
vectores eigen Salida Pk Partición en
clusters de grafo k Nº de clusters
resultantes 1.- kkmin PKMeans(k, Uk) 2.-
hacer 3.- PnuevaP 4.- hacer 5.- Formar, si
no se ha hecho, la matriz Uk a partir de las
primeras k-1 columnas de UK y escalar mediante
la norma l² para que sean de longitud
unitaria 6.- Formar la matriz Uk,c a partir de
la matriz Uk , pero cogiendo únicamente las
filas de los nodos pertenecientes a Vc 7.-
Vc,1, Vc,2 KMeans(2, Uk,c) 8.- P P
Sustituir en P Vc por Vc,1 y Vc,2 9.- si
Q(P)gtQ(P) entonces PnuevoP 10.-
knumClusters(Pnuevo) 11.- para cada Vc ?
P 12.- mientras kltK o no sePuedeParticionar(Pnuev
o) 13.- Pk Pnuevo Fin Algoritmo
Introducción / Aproximación espectral /
Algoritmos de agrupación / Resultados
experimentales / Conclusiones
9Resultados experimentales
- Buena calidad de Q
- Mayor velocidad
Introducción / Aproximación espectral /
Algoritmos de agrupación / Resultados
experimentales / Conclusiones
10Conclusiones
- Algoritmos Spectral de orden lineal cuando
aristas nodos (Newman O(n²)) - Uso de redes dispersas
- Kmeans empleado similar a Marata
- Posible mejora, utilizar semillas aleatorias
Introducción / Aproximación espectral /
Algoritmos de agrupación / Resultados
experimentales / Conclusiones
11