Você está na página 1de 9

Spectral Clustering

Alisson S. Barros, Daniel Campos, Jose N. Santos, Jose Simoes, Leandro M. Ferreira, Lucas Brighen
1
Instituto de Ciencias Exatas e Informatica (ICEI)
Pontifcia Universidade Catolica de Minas Gerais (PUC-MG)
Belo Horizonte - MG - Brasil
{albarros73,dcs.engenharia,jnecomp,jspimenta.neto,leandromferreira.eng}@gmail.com

Abstract.

Resumo. Nos u ltimos anos, o agrupamento espectral tornou-se um dos mais


populares algoritmos de clustering modernos. Simples de implementar, pode
ser resolvido eficientemente pelo software de a lgebra linear padrao, e muitas
vezes supera algoritmos de clustering tradicionais, como o algoritmo k-means.
No entanto, a` primeira vista, o Spectral Clustering parece um pouco misterioso,
nao sendo trivial a compreensao do por que ele funciona em tudo e o que real-
mente faz. Este artigo e uma introduca o ao agrupamento espectral. Descreve-
mos diferentes grafos laplacianos e suas propriedades basicas, apresentamos
os algoritmos de agrupamento espectral mais comuns. As vantagens e desvan-
tagens dos diferentes algoritmos de agrupamento espectral sao discutidas.

1. Introduca o
Clustering e uma das tecnicas mais amplamente utilizadas para exploraca o de analises
de informaca o, com aplicaco es que vao desde estatstica, ciencias da computaca o, bi-
ologia ate mesmo ciencias sociais ou psicologia. Dentre praticamente todos os campos
cientficos que lidam com dados empricos, as pessoas tentam obter uma primeira im-
pressao em seus dados ao tentar identificar grupos de comportamento similar. Neste
artigo nos gostaramos de introduzir o leitor para a famlia dos algoritmos de spectral
clustering. Comparado com os tradicionais algoritmos como K-means ou single link-
age, o Spectral Clustering tem muitas vantagens fundamentais. Resultados obtidos com o
Spectral Clustering sao muito simples de implementar e pode ser resolvido eficientemente
por metodos padroes de a lgebra linear.[Luxburg 2007]
Este artigo tem o objetivo de descrever o funcionamento do Spectral Clustering.
Para isso daremos uma breve introduca o nos assuntos necessarios para o entendimento
do algoritmo. Na seca o 2 explicaremos o que e a clusterizaca o e seus conceitos basicos,
na seca o 3 e 4 uma breve introduca o em autovalores e autovetores e matriz laplaciana,
respectivamente. Na seca o 5 explicaremos o funcionamento do metodo de clusterizaca o
e mostraremos seu algoritmo.

2. Clusterizaca o
A Clusterizaca o de Dados ou Analise de Agrupamentos e uma tecnica de mineraca o de da-
dos multivariados que, atraves de metodos numericos e a partir somente das informaco es
das variaveis de cada caso, tem por objetivo agrupar automaticamente por aprendizado
nao supervisionado os n casos da base de dados em k grupos, geralmente disjun-
tos denominados clusters ou agrupamentos. Distinta do conceito de classificaca o, a
Clusterizaca o e uma tecnica mais primitiva na qual nenhuma suposica o e feita a re-
speito dos grupos. Ao contrario da Classificaca o, a Clusterizaca o nao conta com classes
predefinidas e exemplos de treinamento de classes rotuladas, sendo assim realiza uma
forma de aprendizado nao supervisionado.[Maxwell ]
A estrategia basica da clusterizaca o e que os elementos que pertencem a um
mesmo grupo devem representar uma similaridade alta (ou seja, elementos parecidos
seguem o mesmo padrao) e elementos disjuntos tenham a similaridade baixa. Em outras
palavras, toda clusterizaca o e feita com objetivo de maximizar a homogeneidade dentro de
cada cluster e maximizar a heterogeneidade entre clusters. A grande vantagem do uso das
tecnicas de Clusterizaca o e que, ao agrupar dados similares, pode-se descrever de forma
mais eficiente e eficaz as caractersticas peculiares de cada um dos grupos identificados
[Ochi et al. 2004].
De uma forma mais formal, em um conjunto com n elementos X =
{X1 , X2 , ..., Xn }, o problema de clusterizaca o consiste na obtenca o de um conjunto de
k clusters, C = {C1 , C2 , ..., Ck }, de maneira que os elementos contidos em um cluster
Ci possuam uma maior similaridade entre si do que com os elementos de qualquer um
dos demais clusters do conjunto C. O conjunto C e considerado uma clusterizaca o com
k clusters caso as seguintes condico es sejam satisfeitas:

k
[
Ci = X (1)
i=1

Ci = , para1 i k (2)

Ci Cj = , para 1 i, j k e i 6= j (3)

O valor de k pode ser conhecido ou nao. Caso o valor de k seja fornecido como
parametro para a soluca o, o problema e referenciado na literatura como problema de
k-clusterizaca o [Fasulo 1999]. Caso contrario, isto e , caso o k seja desconhecido, o
problema e referenciado como problema de clusterizaca o automatica e a obtenca o do
valor de k faz parte do processo de soluca o do problema, como em [Doval et al. 1999]
Em uma k-clusterizaca o, o numero total de diferentes formas de agrupamento
de n elementos de um conjunto em k clusters, equivale a` funca o N (n, k) apresentada
em 4, enquanto na clusterizaca o automatica o numero total de combinaco es sofre uns
incrementos significativos, sendo definido de acordo com a equaca o 5. As duas equaco es
demostram o alto custo computacional devido as combinaco es entre elementos e o numero
de clusters, pre-definidos ou nao.

k  
1X i k
N (n, k) = (1) (k i)n (4)
k i=0 i
n k  
X 1X i k
N (n) = (1) (k i)n (5)
k=1
k i=0 i

Para a utilizaca o da clusterizaca o e importante definir como sera considerado a


similaridade de um elemento com os demais. Para isso geralmente e utilizado a medida
de similaridade, que e especificada para cada problema de agrupamento. Um dos princi-
pais criterios para identificar a similaridade entre dois elementos e a distancia entre eles,
que trabalha com as diferencas entre os valores de cada atributo dos elementos. Neste
caso, quanto menor for a` distancia entre um par de elementos, maior e a similaridade en-
tre eles. As medidas de distancia mais utilizadas sao a distancia euclidiana e a distancia
de Manhattan.

2.1. Grafo de Similaridade


Dado um conjunto de pontos x1 , . . . xn e alguma notaca o de similaridade sij 0 en-
tre todos os pares de pontos da base de dados, o principal objetivo da clusterizaca o e o
de dividir estes pontos em grupos, ou seja, pontos parecidos (similares) devem estar no
mesmo grupo e os pontos em outro grupo sao disjuntos aos demais pontos. Sem muitas
informaco es de similaridade entre os pontos uma das maneiras de representar e utilizando
um grafo de similaridade, G = (V, E), onde cada vertex vi no grafo representa um ponto
xi , e as arestas entre eles representam a similaridade entre os pontos xi e xj . Se este valor
for maior do que um parametro pre-definido, a aresta e ponderada por sij .
A clusterizaca o agora pode trabalhar usado o grafo de similaridade, para parti-
cionar o grafo de maneira que as arestas entre grupos tenham pesos baixos (o que sig-
nifica que eles sao disjuntos) e as arestas entre o grupo tenham peso alto (ou seja, eles
pertencem ao mesmo grupo).
Existem problemas de clusterizaca o que nao utilizam a distancia como criterio
de similaridade, tendo em vista que os valores nao sao escalares. Como exemplo, ao
tratar um problema de clusterizaca o que envolve atributos como sexo e endereco, sao
necessarias outras medidas que demonstrem o grau de similaridade entre as instancias da
base de dados. [Ochi et al. 2004]

3. Autovalores e Autovetores
Problemas envolvendo autovalores e autovetores podem ser aplicados em varios campos
da Matematica, como nos sistemas de equaco es diferenciais, assim como em outras a reas
como Teoria da Informaca o, em processamento de imagens, por exemplo, e tambem na
Fsica.
Definica o: Dado V um espaco vetorial e T: V um operador linear, diz-se que
, um operador escalar real, e um autovalor de T, se existe um vetor nao nulo v V tal
que T(v) = v. Neste caso, v e um autovetor de T, associado ao autovalor .
De acordo com a definica o, qualquer multiplo do vetor V pode ser um autovetor,
com a exceca o do vetor zero, pois este e autovetor de todo autovalor. Para encontrar o
autovetor e necessario substituir o valor do autovalor (tambem chamado de valor proprio
ou valor caracterstico) na equaca o original. Desta forma, e possvel encontrar o autovetor.
O autovalor sera, entao, associado ao autovetor encontrado.
Atraves do polinomio caracterstico e possvel determinar os autovalores de uma
matriz caracterstica.
Definica o: A matriz I - A, onde A = (aik )n1 , e definida como matriz caracterstica
de Anxn . O determinante da matriz caracterstica

P () = det(I A) = 0 (6)

e um polinomio escalar em e e chamado de polinomio caracterstico da matriz. As-


sim, para encontrar os autovalores da matriz e necessario determinar as razes deste
polinomio caracterstico. Determinar os vetores V 6= 0 que sao soluco es do sistema lin-
ear homogeneo
det(I A)V = 0 (7)
e um passo fundamental para que seja viavel encontrar os autovetores associados a cada
um dos autovalores.

4. Matriz Laplaciana
Nesta seca o iremos definir o conceito de Matriz Laplaciana, um artefato de muita utilidade
na avaliaca o do espectro de um grafo. Dessa forma tem-se que dado um grafo G = (V, E)
com n vertices, sua matriz laplaciana pode ser definida como L onde:

L=DA (8)
Em que:
A - e a matriz de adjacencia do grafo G.
D - e a a matriz diagonal dos graus dos vertices de G.
Assim, a Matriz L pode ser definida como:

deg(vi )
se i = j
Li,j = 1 se i 6= je vi for adjacente a vj

0 demais situaco es

Considere (vi ) sendo o grau do vertice i


Os numeros de componentes convexos de um grafo podem ser identificados a par-
tir dos autovalores de sua matriz laplaciana. Assim como ja e feito na matriz de adjacencia
a partir da Matriz L, podemos entao definir tanto o polinomio laplaciano quanto o espec-
tro laplaciano desse grafo. Assim define-se o polinomio caracterstico laplaciano de G
como:
PL () = det(I L(G)) (9)
O espectro laplaciano e o multiconjunto das razes de PL, com suas respectivas multiplici-
dades. A matriz laplaciana e tambem simetrica e, portanto, possui todos seus autovalores
reais e nao negativos. Assim temos as seguintes informaco es sobre os autovalores de L
[Merris 1994]:

l1 l2 . . . ln
(i) l1 = 0 e o vetor com todas entradas iguais a 1 e autovetor associado
(ii) G e conexo se, e somente se, l2 > 0.
Portanto, para um grafo desconexo, o numero de autovalores iguais a zero e pre-
cisamente o numero de componentes conexas do grafo. Assim, a multiplicidade do au-
tovalor zero e o numero de componentes conexas de G. O polinomio laplaciano de um
grafo com varias componentes conexas e o produto dos polinomios laplacianos de cada
componente. Finalmente, o espectro laplaciano e a uniao do espectro de cada compo-
nente.

4.1. Matriz Laplaciana nao-normalizada


Uma matriz laplaciana nao-normalizada pode ser definida por:

L=DW (10)

Em que:
D - e a matriz diagonal dos graus dos vertices de G.
W - e a matriz de pesos de G.

A partir de [Mohar 1997] obtemos as seguintes preposico es que sao muito


importantes para implementaca o de grafos clusterizados:

L e simetrica e positivamente semi-definida.


o menor autovalor de L e 0, seu autovetor e um vetor unitario.
L possui todos seus autovalores reais e nao negativos
Sendo G um grafo nao direcionado e sem pesos negativos, entao a multiplicidade
k do autovalor 0 de L e igual ao numero de componentes conectados

4.2. Matriz Laplaciana normalizada


Atualmente existem duas matrizes laplacianas que podem ser chamadas de normalizadas
e ambas se relacionam. Sao essas definidas como:
1 1 1 1
Lsym := D 2 LD 2 = I D 2 W D 2 (11)

Lrw := D1 L = I D1 W (12)

5. Spectral Clustering
Tomando como base as publicaco es de [Wertheimer 1938] sobre agrupamento perceptual
e de [Chung 1997] sobre teoria espectral de grafos, [Shi and Malik 2000] desenvolveram
um dos primeiros algoritmos de Spectral Clustering. Na ocasiao, propuseram uma nova
abordagem para o problema de agrupamento perceptual na visao, visando extrair a im-
pressao global de uma imagem. Com isso, [Shi and Malik 2000] segmentaram imagens
usando particionamento de grafos e propuseram o corte normalizado, como um novo
criterio global para segmentar o grafo.
5.1. Teoria Espectral de Grafos
A teoria espectral em grafos inicio-se na qumica quantica, por uma meio de um modelo
teorico de moleculas de hidrocarbonetos nao saturados. Tais moleculas possuem ligaco es
qumicas com diversos nveis de energia de eletrons. Alguns desses nveis de energia
podem ser representados por autovalores de um grafo, o que caracteriza o estudo da teoria
espectral. Ela foi popularizadas nas ultimas decadas por [Chung 1997]
O uso da teoria espectral e muito utilizada em problemas de agrupamento de
grafos em forma de relaxaca o espectral de problemas de particionamento de grafos. Uma
das vantagens dos algoritmos de agrupamento baseados em relaxaca o espectral de mode-
los de particionamento de grafos e a sua soluca o por a lgebra linear padrao, que pode ser
facilmente implementado em programas de computadores.
Na matematica, a teoria espectral de grafos analisa as propriedades de um grafo
atraves das suas representaco es matriciais e dos seus respectivos espectros. Alem disso,
estudam-se as propriedades estruturais decorrentes das matrizes que representam grafos.
No estudo da teoria espectral dos grafos, sao relacionadas as propriedades
algebricas do espectro das matrizes a um grafo e a` s propriedades estruturais deste grafo.
Uma das associaco es mais comuns e feita pela matriz de adjacencia e o espectro
dessa matriz e o espectro do grafo. Dado um grafo G = (V, E) com n vertices, a matriz
de adjacencia de G e a matriz de ordem n dada por A(G) = [aij ], onde aij = 1 se vi vj
E e aij = 0 nas outras entradas.

5.2. Algoritmo de Spectral Clustering


O Spectral Clustering e uma tecnica que permite a segmentaca o nao supervisionada das
instancias da base de dados. Ao contrario do k-means, o spectral clustering possibilita o
agrupamento em regioes concavas como podemos ver na Figura 1.

Figure 1. Agrupamento de pontos com amostras (a) n=700, (b) n=5000 e (c)
n=20000. Adpatado de [Sakai and Imiya 2009]

Dado um conjuntos de pontos X = x1 , . . . , xn Rk , spectral clustering encontra


um conjunto de clusters C1 , . . . , Ck D, baseado na analise espectral de um grafo de
similaridade, como descrito na Subseca o 2.1. A matriz de similaridade W . Cortando as
arestas de G conseguimos subgrafos disjuntos como clusters de X.
Os clusters resultantes devem ser o mais compacto e isolados possveis. O par-
ticionamento de grafico para o agrupamento de dados pode ser interpretado como um
problema de minimizaca o de uma funca o objetiva, na qual a compacidade e o isola-
mento sao quantificados pelo subconjunto de somas de pesos de arestas. As funcoes
de minimizaca o mais usadas sao ratio cut (Rcut), normalised cut (Ncut) e min-max cut
(Mcut)[Sakai and Imiya 2009], expressas por:

k
X cut(Ci , Ci )
Rcut(C1 , . . . , Ck ) = (13)
i=1
|Ci|

k
X cut(Ci , Ci )
N Cut(C1 , . . . , Ck ) = (14)
i=1
cut(Ci , X)

k
X cut(Ci , Ci )
M Cut(C1 , . . . , Ck ) = (15)
i=1
cut(Ci , Ci )

Onde cut(X, Y ) e o somatorio entre os pesos entre os elementos de X e Y .


Existem duas versoes diferentes de agrupamento espectral normalizado, depen-
dendo de qual dos grafos Laplacianos normalizados e u til.

Spectral clustering normalizado de acordo com [Shi and Malik 2000]


Input: Matriz de Similaridade S Rnn numero de k clusters a serem construdos.
Construir um grafo de similaridade da maneira descrita na Subseca o 2.1.
E seja W a matriz de adjacencia.
Calcule a matriz laplaciana nao normalizada L.
Calcule os k primeiros autovetores u1 ,. . . , uk do problema de autovalores
generalizando por Lu = Du
Seja U Rnk uma matriz contendo os vetores u1 , . . . , uk como colunas.
Para i = 1, . . . , n, e yi Rk seja o vetor correspondente a i-nesima linha de U.
Clusterizar os pontos (yi)i=1,...,n in Rk utilizando o algoritmo k-means
para os clusters C1 , . . . , Ck .
Output: Clusters A1 , . . . , Ak com Ai = {j | yj Ci }.

Note-se que este algoritmo utiliza os autovetores generalizados de L. Assim, na


verdade, o algoritmo trabalha com autovetores do Laplaciano normalizado Lrw e, por-
tanto, e chamado de agrupamento espectral normalizado. O algoritmo seguinte tambem
usa um Laplaciano normalizado, mas desta vez a matriz Lsym em vez de Lrw . Como vi-
mos, este algoritmo precisa introduzir uma etapa de normalizaca o de linha adicional que
nao e necessaria nos outros algoritmos, como os demostrados acima das equaco es 13, 14
e 15

Spectral clustering normalizado de acordo com [Ng et al. 2001]


Input: Matriz de Similaridade S Rnn numero de k clusters a serem construdos.
Construir um grafo de similaridade da maneira descrita na Subseca o 2.1.
E seja W a matriz de adjacencia.
Calcule matriz laplaciana normalizada Lsym .
Calcule os k primeiros autovetores u1 , . . . , uk da Lsym .
Seja U Rnk uma matriz contendo os vetores u1 , . . . , uk como colunas.
Formar a matriz T Rnk do U utilizando P 2 1 a normalizaca o NCut da
Equaca o 14, definido como tij = uij /( k uik ) 2
Para i = 1, . . . , n, e yi Rk seja o vetor correspondente a i-nesima linha de U.
Clusterizar os pontos (yi)i=1,...,n em Rk utilizando o algoritmo k-means
para os clusters C1 , . . . , Ck .
Output: Clusters A1 , . . . , Ak com Ai = {j | yj Ci }.

Existe tambem o algoritmo nao normalizado

Spectral clustering nao normalizado


Input: Matriz de Similaridade S Rnn numero de k clusters a serem construdos.
Construir um grafo de similaridade da maneira descrita na Subseca o 2.1.
E seja W a matriz de adjacencia.
Calcule a matriz laplaciana nao normalizada L.
Calcule os k primeiros autovetores u1 ,. . . , uk de L.
Seja U Rnk uma matriz contendo os vetores u1 , . . . , uk como colunas.
Para i = 1, . . . , n, e yi Rk seja o vetor correspondente a i-nesima linha de U.
Clusterizar os pontos (yi)i=1,...,n in Rk utilizando o algoritmo k-means nos
clusters C1 , . . . , Ck .
Output: Clusters A1 , . . . , Ak com Ai = {j | yj Ci }.

Todos os tres algoritmos acima mencionados parecem bastante semelhantes, alem


do fato dos tres utilizarem diferentes grafos laplacianos. Em todos os algoritmos, o princi-
pal truque e mudar a representaca o dos pontos de dados abstratos xi para pontos yi Rk .
Isto e devido a` s propriedades do grafo Laplaciano que esta mudanca de representaca o e
u til.

5.3. Custo Computacional


Os algoritmos de agrupamento espectral se comportam de forma satisfatoria quando
aplicados a` um conjunto reduzido de nos. Enquanto apresentam alto custo computa-
cional para grandes conjuntos de nos, que no pior caso e da ordem O(n3 ), sendo n o
numero de nos do grafo. Esse custo elevado dos algoritmos se deve ao calculo dos au-
tovetores da matriz laplaciana do grafo, na sua forma normalizada, que possui ordem
O(n3 )[Shi and Malik 2000].
[Shi and Malik 2000] usam um exemplo bastante didatico deste aumento do custo
computacional. Tomemos uma imagem de 400 x 300 pixels, com 120000 nos no grafo,
a matriz de adjacencia W precisaria de 14,4 bilhoes de entradas (ou aproximativamente
53,6 GB de memoria). Assim, podemos ver a inviabilidade de se trabalhar com grandes
imagens, o que justifica a escolha dos autores por iniciarem seus estudos com imagens de
tamanho pequeno porte.
Dado a boa qualidade dos resultados da aplicaca o de spectral clustering, estudos
continuaram com objetivo de reduzir o custo computacional deste tipo de algoritmos,
tendo grande foco atualmente na linearidade da complexidade.
Uma abordagem de destaque nesta busca por eficiencia computacional sugere um
algoritmo iterativo de rapida aproximaca o (baseado em k-means). Inicialmente os autores
propoem empregar o algoritmo k-means no conjunto de dados e tem-se como resultado yk
centroides dos k grupos, que sao as amostras representativas de cada grupo. Em seguida,
o spectral clustering e aplicado neste yk centroides, tendo como resultado uma reduca o no
custo computacional do processo. A complexidade computacional da primeira parte, onde
foi aplicado k-emans, e de O(knt), sendo t o numero de iteraco es do calculo do k-means.
Ja na segunda parte, onde foi aplicado o spectral clustering, a complexidade computa-
cional e de O(k 3 ). Por fim, a complexidade computacional total deste metodo, denomi-
nado KASP (Fast spectral clustering with k-means) e de O(k 3 ) + O(knt)[Yan 2009]

References
Chung, F. R. K. (1997). Spectral graph theory, v. 92 cbms regional conference series in
mathematics. pages xii+207. Conference Board of the Mathematical Sciences, Whas-
ington, DC.
Doval, D., Mancoridis, S., and Mitchell, B. S. (1999). Automatic clustering of software
systems using a genetic algorithm. In Software Technology and Engineering Practice,
1999. STEP99. Proceedings, pages 7381. IEEE.
Fasulo, D. (1999). An analysis of recent work on clustering algorithms. Technical report,
Technical report.
Luxburg, U. V. (2007). A tutorial on spectral clustering.
Maxwell. Clusterizaca o de Dados. PUC-Rio.
Merris, R. (1994). Laplacian matrices of graphs: a survey. Linear algebra and its appli-
cations, 197:143176.
Mohar, B. (1997). Some applications of laplace eigenvalues of graphs. In Graph symme-
try, pages 225275. Springer.
Ng, A. Y., Jordan, M. I., and Weiss, Y. (2001). On spectral clustering: Analysis and an
algorithm. In ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS,
pages 849856. MIT Press.
Ochi, L. S., Dias, C. R., and Soares, S. S. F. (2004). Clusterizaca o em mineraca o de
dados. Instituto de Computaca o-Universidade Federal Fluminense-Niteroi.
Sakai, T. and Imiya, A. (2009). Fast Spectral Clustering with Random Projection and
Sampling, pages 372384. Springer Berlin Heidelberg, Berlin, Heidelberg.
Shi, J. and Malik, J. (2000). Normalized cuts and image segmentation. Technical report.
Wertheimer, M. (1938). Laws of organization in perceptual forms. In Routledge and
Kegan Paul, pages 7188.
Yan, D.; Huang, L. J. M. I. (2009). Fast approximate spectral clustering. pages 907
916. Proceedings of the 15th ACM SIGKDD International Conference on Knowledge
Discovery and Data Maning.