Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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
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)
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
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.
L=DW (10)
Em que:
D - e a matriz diagonal dos graus dos vertices de G.
W - e a matriz de pesos de G.
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.
Figure 1. Agrupamento de pontos com amostras (a) n=700, (b) n=5000 e (c)
n=20000. Adpatado de [Sakai and Imiya 2009]
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 )
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.