Spectral Clustering Alisson S. Barros, Daniel Campos, Jos e´ N. Santos, Jos e´ Sim ˜ Sim ˜ oes, Leandro M. Ferreira, Lucas Brighe 1
Instituto de Ciˆ Ciencias eˆ ncias Exatas e Inform atica a´ tica (ICEI) Pontif ´ıcia ıcia Universidade Cat olica o´ lica de Minas Gerais (PUC-MG) Belo Horizonte - MG - Brasil {albarros73,dcs.engenharia,jnecomp,jspimenta.neto,leandromferreira.eng }@gmail.com
Abstract. Resumo. Nos ultimos ´ anos, o agrupamento espectral tornou-se um dos mais populares algoritmos de clustering modernos. Simples de implementar, implementar, pode ser resolvido eficientemente pelo software de algebra linear padr ao, ´ ˜ ˜ e muitas vezes supera algoritmos de clustering clustering tradicionais, tradicionais, como o algoritmo algoritmo k-means. k-means. No entanto, a` primeira vista, o Spectral Clustering parece um pouco misterioso, nao compreensao ˜ sendo trivial a compreens˜ ˜ do por que ele funciona em tudo e o que realmente faz. Este artigo e´ uma introduc int roduc¸ao ˜ ao agrupamento espectral. Descrevemos diferentes grafos laplacianos e suas propriedades b´ asicas, apresentamos os algoritmos de agrupamento espectral mais comuns. As vantagens e desvantagens tagens dos diferentes algoritmos algoritmos de agrupamento agrupamento espectral s˜ sao ˜ discutidas.
1. Introd Int roduc uc¸ ˜ ao Clustering e´ uma das t´ecnicas ecnicas mais amplamente utilizadas para explorac¸ ˜ao a o de an´alises alises de infor in formac mac¸ ao, a˜ o, com aplicac apli cac¸ oes o˜ es que v ao a˜ o desde estat´ estat´ıstica, ıstica, ciˆ ciencias eˆ nci as da computac compu tac¸ ao, a˜ o, biologia at´ ate´ mesmo ci encias eˆ ncias sociais ou psicolog psicologia. ia. Dentre Dentre praticame praticamente nte todos os campos cient´ıficos ıficos que lidam com dados emp´ıricos, ıricos, as pessoas tentam obter uma primeira impress˜ pressao a˜ o em seus dados dados ao tentar identificar identificar grupos de ”comporta ”comportament mento o similar”. similar”. Neste Neste artigo n´ nos o´ s gostar´ gostar´ıamos ıamos de introduzir o leitor para a fam´ fam ´ılia ılia dos algoritmos de spectral clustering. Comparad Comparado o com os ”tradicion ”tradicionais ais algoritmos” algoritmos” como K-means ou single linkage, o Spectral Clustering tem muitas vantagens fundamentais. fundamentais. Resultados obtidos com o Spectral Clustering sao a˜ o muito muito simple simpless de implem implement entar ar e pode pode ser resolv resolvido ido eficien eficientem tement entee por m´ metodos e´ todos padroes o˜ es de ´ de ´algebra algebra linear.[Luxburg 2007]
Este artigo tem o objetivo de descrever o funcionamento do Spectral Clustering. Para isso daremos uma breve introduc i ntroduc¸ ao a˜ o nos assuntos necess arios a´ rios para o entendimento do algori al goritmo. tmo. Na sec¸ ao a˜ o 2 explicaremos o que e´ a cluster clus terizac izac¸ ao a˜ o e seus conceitos b asicos, a´ sicos, na sec¸ ao a˜ o 3 e 4 uma breve breve introduc¸ ao a˜ o em autovalores e autovetores e matriz laplaciana, respectivam resp ectivamente ente.. Na sec¸ ao a˜ o 5 explicaremos o funcionamento do m etodo e´ tod o de d e clust c lusteri erizac zac¸ ao a˜ o e mostraremos seu algoritmo.
2. Clusteri Clus terizac zac¸ ˜ ao A Clusteri Clus terizac zac¸ a˜ o de Dados dos ou Analise a´ lise de Agrupame Agrupamentos ntos ´ ´eumat´ e umatecnica e´ cnica de minerac¸ a˜ o de dados multivariados que, atrav´es es de m´etodos etodos num´ericos ericos e a partir somente das informac¸ oes o˜ es das vari´ variaveis a´ veis de cada caso, tem por objetivo agrupar automaticamente por aprendizado
n˜ao supervisionado os n casos da base de dados em k grupos, geralmente disjuntos denominados clusters ou agrupamentos. Distinta do conceito de classificac¸ ˜a o, a Clusterizac¸a˜ o e´ uma t´ecnica mais “primitiva” na qual nenhuma suposic¸a˜ o e´ feita a respeito dos grupos. Ao contr´ario da Classificac¸ a˜ o, a Clusterizac¸ a˜ o n˜ao conta com classes predefinidas e exemplos de treinamento de classes rotuladas, sendo assim realiza uma forma de aprendizado n a˜ o supervisionado.[Maxwell ] A estrat´egia b´asica da clusterizac¸a˜ o e´ que os elementos que pertencem a um mesmo grupo devem representar uma similaridade alta (ou seja, elementos parecidos seguem o mesmo padr a˜ o) e elementos disjuntos tenham a similaridade baixa. Em outras palavras, toda clusterizac¸ a˜ 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 t´ecnicas de Clusterizac¸ a˜ o e´ que, ao agrupar dados similares, pode-se descrever de forma mais eficiente e eficaz as caracter´ısticas peculiares de cada um dos grupos identificados [Ochi et al. 2004]. De uma forma mais formal, em um conjunto com n elementos X = {X 1 , X 2 ,...,X n}, o problema de clusterizac¸a˜ o consiste na obtenc¸ a˜ o de um conjunto de k clusters, C = {C 1 , C 2 ,...,C k }, de maneira que os elementos contidos em um cluster C i 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 clusterizac¸ a˜ o com k clusters caso as seguintes condic¸ o˜ es sejam satisfeitas: k
C = X
(1)
i
i=1
C i = ∅,
C i C j = ∅,
para1 ≤ i ≤ k
1 ≤ i, j ≤ k
para
(2)
i = j
e
(3)
O valor de k pode ser conhecido ou n a˜ o. Caso o valor de k seja fornecido como parˆametro para a soluc¸ a˜ o, o problema e´ referenciado na literatura como “problema de k-clusterizac¸a˜ o” [Fasulo 1999]. Caso contr a´ rio, isto e´ , caso o k seja desconhecido, o problema e´ referenciado como “problema de clusterizac¸ a˜ o autom´atica” e a obtenc¸ a˜ o do valor de k faz parte do processo de soluc¸ a˜ o do problema, como em [Doval et al. 1999] Em uma k -clusterizac¸ a˜ o, o nu´ mero total de diferentes formas de agrupamento de n elementos de um conjunto em k clusters, equivale a` func¸ a˜ o N (n, k) apresentada em 4, enquanto na clusterizac¸a˜ o autom´a tica o n´umero total de combinac¸o˜ es sofre uns incrementos significativos, sendo definido de acordo com a equac¸ a˜ o 5. As duas equac¸ o˜ es demostram o alto custo computacional devido as combinac¸o˜ es entre elementos e o n u´ mero de clusters, pr´e-definidos ou n˜ao.
1 N (n, k) = k
k
(−1) k(k − i) i
i=0
n
i
(4)
n
k
k 1 N (n) = (−1) (k − i) i
k=1
k
i=0
i
n
(5)
Para a utilizac¸a˜ o da clusterizac¸ a˜ o e´ importante definir como ser a´ 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 principais crit´erios para identificar a similaridade entre dois elementos e´ a distˆancia entre eles, que trabalha com as diferenc¸as entre os valores de cada atributo dos elementos. Neste caso, quanto menor for `a distˆancia entre um par de elementos, maior e´ a similaridade entre eles. As medidas de dist aˆ ncia mais utilizadas s a˜ o a distˆancia euclidiana e a dist aˆ ncia de Manhattan.
2.1. Grafo de Similaridade Dado um conjunto de pontos x1 , . . . xn e alguma notac¸a˜ o de similaridade sij ≥ 0 entre todos os pares de pontos da base de dados, o principal objetivo da clusterizac¸ ˜ao e´ o de dividir estes pontos em grupos, ou seja, pontos parecidos (similares) devem estar no mesmo grupo e os pontos em outro grupo s a˜ o disjuntos aos demais pontos. Sem muitas informac¸ o˜ es de similaridade entre os pontos uma das maneiras de representar ´e utilizando um grafo de similaridade, G = (V, E ), onde cada vertex v i no grafo representa um ponto xi , e as arestas entre eles representam a similaridade entre os pontos xi e x j . Se este valor for maior do que um parˆametro pr´e-definido, a aresta ´e ponderada por s ij . A clusterizac¸ a˜ o agora pode trabalhar usado o grafo de similaridade, para particionar o grafo de maneira que as arestas entre grupos tenham pesos baixos (o que significa que eles s a˜ o disjuntos) e as arestas entre o grupo tenham peso alto (ou seja, eles pertencem ao mesmo grupo). Existem problemas de clusterizac¸a˜ o que n˜ao utilizam a distˆancia como crit´erio de similaridade, tendo em vista que os valores n˜ao s˜ao escalares. Como exemplo, ao tratar um problema de clusterizac¸a˜ o que envolve atributos como sexo e enderec¸o, s a˜ o necess´arias outras medidas que demonstrem o grau de similaridade entre as inst aˆ ncias da base de dados. [Ochi et al. 2004]
3. Autovalores e Autovetores Problemas envolvendo autovalores e autovetores podem ser aplicados em v a´ rios campos da Matem´atica, como nos sistemas de equac¸ o˜ es diferenciais, assim como em outras ´areas como Teoria da Informac¸a˜ o, em processamento de imagens, por exemplo, e tamb e´ m na F´ısica.
Definic¸ ˜ ao: Dado V um espac¸o vetorial e T: → V um operador linear, diz-se que λ , um operador escalar real, e´ um autovalor de T, se existe um vetor n˜ ao nulo v ∈ V tal que T(v) = λv. Neste caso, v ´ e um autovetor de T, associado ao autovalor λ. De acordo com a definic¸ a˜ o, qualquer mu´ ltiplo do vetor V pode ser um autovetor, com a excec¸a˜ o do vetor zero, pois este e´ autovetor de todo autovalor. Para encontrar o autovetor e´ necess´ario substituir o valor do autovalor (tamb e´ m chamado de valor pr o´ prio ou valor caracter´ıstico) na equac¸a˜ o original. Desta forma, e´ poss´ıvel encontrar o autovetor. O autovalor ser a´ , ent˜ao, associado ao autovetor encontrado.
Atrav´es do polinoˆ mio caracter´ıstico e´ poss´ıvel determinar os autovalores de uma matriz caracter´ıstica.
Definic¸ ˜ ao: A matriz λ I - A, onde A = (aik )n1 , ´ e definida como matriz caracter ´ ıstica de Anxn . O determinante da matriz caracter ´ıstica
P (λ) = det(λI − A) = 0
(6)
e´ um polinˆ omio escalar em λ e e´ chamado de polinˆ omio caracter ´ıstico da matriz. As sim, para encontrar os autovalores da matriz e´ necess´ ario determinar as ra´ızes deste = 0 que s˜ polinˆ omio caracter ´ıstico. Determinar os vetores V ao soluc¸oes ˜ do sistema linear homogˆ eneo det(λI − A)V = 0 (7) e´ um passo fundamental para que seja vi´ avel encontrar os autovetores associados a cada um dos autovalores.
4. Matriz Laplaciana Nesta sec¸a˜ o iremos definir o conceito de Matriz Laplaciana, um artefato de muita utilidade na avaliac¸ a˜ o do espectro de um grafo. Dessa forma tem-se que dado um grafo G = (V, E ) com n v´ertices, sua matriz laplaciana pode ser definida como L onde:
L = D − A
(8)
Em que:
A - ´e a matriz de adjacˆencia do grafo G. D - ´e a a matriz diagonal dos graus dos v e´ rtices de G. Assim, a Matriz L pode ser definida como:
deg(v ) = −1 0 i
Li,j
se i = j
= j e vi for adjacente a v j se i demais situac¸ o˜ es
Considere (vi ) sendo o grau do v´ertice i Os n´umeros de componentes convexos de um grafo podem ser identificados a partir dos autovalores de sua matriz laplaciana. Assim como j a´ ´e feito na matriz de adjacˆencia a partir da Matriz L, podemos ent a˜ o definir tanto o polinoˆ mio laplaciano quanto o espectro laplaciano desse grafo. Assim define-se o polinˆomio caracter´ıstico laplaciano de G como: P L (µ) = det(µI − L(G)) (9) O espectro laplaciano ´e o multiconjunto das ra´ızes de PL, com suas respectivas multiplicidades. A matriz laplaciana e´ tamb´em sim´etrica e, portanto, possui todos seus autovalores reais e n˜ao negativos. Assim temos as seguintes informac¸ o˜ es sobre os autovalores de L [Merris 1994]:
l1 ≤ l 2 ≤ . . . ≤ l n
(i) l 1 = 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 n u´ mero de autovalores iguais a zero e´ precisamente o n´umero de componentes conexas do grafo. Assim, a multiplicidade do autovalor zero e´ o nu´ mero de componentes conexas de G . O polinoˆ mio laplaciano de um grafo com v´arias componentes conexas e´ o produto dos polin oˆ mios laplacianos de cada componente. Finalmente, o espectro laplaciano ´e a uni˜ao do espectro de cada componente.
4.1. Matriz Laplaciana n ˜ ao-normalizada Uma matriz laplaciana n˜ao-normalizada pode ser definida por:
L = D − W
(10)
Em que:
D - ´e a matriz diagonal dos graus dos v e´ rtices de G . W - ´e a matriz de pesos de G. A partir de [Mohar 1997] obtemos as seguintes preposic¸o˜ es que s˜ao muito importantes para implementac¸ a˜ o de grafos clusterizados:
• L e´ sim´ etrica e positivamente semi-definida. • o menor autovalor de L e´ 0, seu autovetor ´ e um vetor unit ario. ´ • L possui todos seus autovalores reais e n˜ ao negativos • Sendo G um grafo n˜ ao direcionado e sem pesos negativos, ent˜ ao a multiplicidade k do autovalor 0 de L e´ igual ao n´ umero de componentes conectados 4.2. Matriz Laplaciana normalizada Atualmente existem duas matrizes laplacianas que podem ser chamadas de normalizadas e ambas se relacionam. S a˜ o essas definidas como:
Lsym := D
−
1 2
LD
−
1 2
= I − D
−
1 2
WD
Lrw := D 1L = I − D 1 W −
−
−
1
(11)
2
(12)
5. Spectral Clustering Tomando como base as publicac¸ o˜ 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 ocasi a˜ o, propuseram uma nova abordagem para o problema de agrupamento perceptual na vis a˜ o, visando extrair a impress˜ao global de uma imagem. Com isso, [Shi and Malik 2000] segmentaram imagens usando particionamento de grafos e propuseram o corte normalizado, como um novo crit´erio global para segmentar o grafo.
5.1. Teoria Espectral de Grafos A teoria espectral em grafos inicio-se na qu´ımica quˆantica, por uma meio de um modelo te´orico de mol´eculas de hidrocarbonetos n a˜ o saturados. Tais mol e´ culas possuem ligac¸ o˜ es qu´ımicas com diversos n´ıveis de energia de el e´ trons. Alguns desses n´ıveis de energia podem ser representados por autovalores de um grafo, o que caracteriza o estudo da teoria espectral. Ela foi popularizadas nas ultimas d e´ cadas por [Chung 1997] O uso da teoria espectral e´ muito utilizada em problemas de agrupamento de grafos em forma de relaxac¸ a˜ o espectral de problemas de particionamento de grafos. Uma das vantagens dos algoritmos de agrupamento baseados em relaxac¸ ˜ao espectral de modelos de particionamento de grafos e´ a sua soluc¸ a˜ o por a´ lgebra linear padr˜ao, que pode ser facilmente implementado em programas de computadores. Na matem´atica, a teoria espectral de grafos analisa as propriedades de um grafo atrav´es das suas representac¸ o˜ es matriciais e dos seus respectivos espectros. Al e´ m disso, estudam-se as propriedades estruturais decorrentes das matrizes que representam grafos. No estudo da teoria espectral dos grafos, s a˜ o relacionadas as propriedades alg´ebricas do espectro das matrizes a um grafo e `as propriedades estruturais deste grafo. Uma das associac¸ o˜ es mais comuns e´ feita pela matriz de adjac eˆ ncia e o espectro dessa matriz e´ o espectro do grafo. Dado um grafo G = (V, E ) com n v e´ rtices, a matriz de adjacˆencia de G e´ a matriz de ordem n dada por A(G) = [aij ], onde a ij = 1 se v i v j ∈ E e aij = 0 nas outras entradas.
5.2. Algoritmo de Spectral Clustering O Spectral Clustering e´ uma t´ecnica que permite a segmentac¸ a˜ o n˜ao supervisionada das instˆancias da base de dados. Ao contr a´ rio do k-means, o spectral clustering possibilita o agrupamento em regi o˜ es cˆoncavas 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 = x 1 , . . . , xn ∈ Rk , spectral clustering encontra um conjunto de clusters C 1 , . . . , Ck ⊂ D, baseado na analise espectral de um grafo de similaridade, como descrito na Subsec¸ a˜ 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 poss ´ıveis. O particionamento de gr´afico para o agrupamento de dados pode ser interpretado como um problema de minimizac¸ a˜ o de uma func¸a˜ o objetiva, na qual a compacidade e o isolamento s˜ao quantificados pelo subconjunto de somas de pesos de arestas. As func o˜ es
de minimizac¸a˜ o mais usadas s a˜ o ratio cut (Rcut), normalised cut (Ncut) e min-max cut (Mcut)[Sakai and Imiya 2009], expressas por: k
cut(C , C ) Rcut(C , . . . , C ) = i
k
1
i=1
i
|Ci|
(13)
k
cut(C , C ) NCut(C , . . . , C ) = i
k
1
i=1
i
cut(C i , X )
(14)
(15)
k
cut(C , C ) MCut(C , . . . , C ) = i
k
1
i=1
i
cut(C i , C i )
Onde cut(X, Y ) ´e o somat o´ rio entre os pesos entre os elementos de X e Y . Existem duas verso˜ es diferentes de agrupamento espectral normalizado, dependendo de qual dos grafos Laplacianos normalizados ´e u´ til.
Spectral clustering normalizado de acordo com [Shi and Malik 2000] Input: Matriz de Similaridade S ∈ Rn n n´umero de k clusters a serem constru´ıdos. ×
• Construir um grafo de similaridade da maneira descrita na Subsec¸ a˜ o 2.1. E seja W a matriz de adjacˆencia. • Calcule a matriz laplaciana n a˜ o normalizada L . • Calcule os k primeiros autovetores u1 ,. . . , uk do problema de autovalores generalizando por Lu = λDu • Seja U ∈ Rn k uma matriz contendo os vetores u1 , . . . , uk como colunas. • Para i = 1, . . . , n, e yi ∈ Rk seja o vetor correspondente a i-n e´ sima linha de U. • Clusterizar os pontos (yi)i=1,...,n in Rk utilizando o algoritmo k-means para os clusters C 1 , . . . , Ck . ×
Output: Clusters A1 , . . . , Ak com Ai = { j
| y j ∈ C i }.
Note-se que este algoritmo utiliza os autovetores generalizados de L. Assim, na verdade, o algoritmo trabalha com autovetores do Laplaciano normalizado Lrw e, portanto, e´ chamado de agrupamento espectral normalizado. O algoritmo seguinte tamb e´ m usa um Laplaciano normalizado, mas desta vez a matriz L sym em vez de L rw . Como vimos, este algoritmo precisa introduzir uma etapa de normalizac¸˜ao de linha adicional que n˜ao ´e necess´aria nos outros algoritmos, como os demostrados acima das equac¸ o˜ es 13, 14 e 15
Spectral clustering normalizado de acordo com [Ng et al. 2001] Input: Matriz de Similaridade S ∈ Rn n n´umero de k clusters a serem constru´ıdos. ×
• Construir um grafo de similaridade da maneira descrita na Subsec¸ ˜ao 2.1. E seja W a matriz de adjacˆencia. • Calcule matriz laplaciana normalizada Lsym .
• Calcule os k primeiros autovetores u1 , . . . , uk da Lsym . • Seja U ∈ Rn k uma matriz contendo os vetores u1 , . . . , uk como colunas. ao NCut da • Formar a matriz T ∈ Rn k do U utilizando a normalizac¸ ˜ 2 Equac¸ ˜ ao 14, definido como t ij = u ij /( k uik ) • Para i = 1, . . . , n, e yi ∈ Rk seja o vetor correspondente a i-n e´ sima linha de U. • Clusterizar os pontos (yi)i=1,...,n em Rk utilizando o algoritmo k-means para os clusters C 1 , . . . , Ck . ×
×
Output: Clusters A1 , . . . , Ak com Ai = { j
1 2
| y j ∈ C i }.
Existe tamb´em o algoritmo n˜ao normalizado
Spectral clustering n ˜ ao normalizado n n Input: Matriz de Similaridade S ∈ R n´umero de k clusters a serem constru´ıdos. ×
• Construir um grafo de similaridade da maneira descrita na Subsec¸ a˜ o 2.1. E seja W a matriz de adjacˆencia. • Calcule a matriz laplaciana n a˜ o normalizada L . • Calcule os k primeiros autovetores u1,. . . , uk de L . • Seja U ∈ Rn k uma matriz contendo os vetores u1 , . . . , uk como colunas. • Para i = 1, . . . , n, e yi ∈ Rk seja o vetor correspondente a i-n´esima linha de U. • Clusterizar os pontos (yi)i=1,...,n in Rk utilizando o algoritmo k-means nos clusters C 1 , . . . , Ck . ×
Output: Clusters A1 , . . . , Ak com Ai = { j
| y j ∈ C i }.
Todos os trˆes algoritmos acima mencionados parecem bastante semelhantes, al e´ m do fato dos trˆes utilizarem diferentes grafos laplacianos. Em todos os algoritmos, o principal truque ´e mudar a representac¸ a˜ o dos pontos de dados abstratos xi para pontos yi ∈ Rk . Isto e´ devido a` s propriedades do grafo Laplaciano que esta mudanc¸a de representac¸ ˜ao e´ u´ til.
5.3. Custo Computacional Os algoritmos de agrupamento espectral se comportam de forma satisfat o´ ria quando aplicados a` um conjunto reduzido de n o´ s. Enquanto apresentam alto custo computacional para grandes conjuntos de n o´ s, que no pior caso e´ da ordem O(n3), sendo n o n´umero de no´ s do grafo. Esse custo elevado dos algoritmos se deve ao c a´ lculo dos autovetores 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 did a´ tico deste aumento do custo computacional. Tomemos uma imagem de 400 x 300 pixels, com 120000 n´os no grafo, a matriz de adjac eˆ ncia W precisaria de 14,4 bilh o˜ es de entradas (ou aproximativamente 53,6 GB de mem o´ ria). 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 aplicac¸ a˜ 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 eficiˆencia computacional sugere um algoritmo iterativo de r´apida aproximac¸ a˜ o (baseado em k-means). Inicialmente os autores prop˜oem empregar o algoritmo k-means no conjunto de dados e tem-se como resultado yk centroides dos k grupos, que s˜ao as amostras representativas de cada grupo. Em seguida, o spectral clustering ´e aplicado neste yk centroides, tendo como resultado uma reduc¸ a˜ o no custo computacional do processo. A complexidade computacional da primeira parte, onde foi aplicado k-emans, ´e de O(knt), sendo t o nu´ mero de iterac¸o˜ es do c´alculo do k-means. J´a na segunda parte, onde foi aplicado o spectral clustering, a complexidade computacional e´ de O(k 3). Por fim, a complexidade computacional total deste m e´ todo, denominado 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, Whasington, 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. STEP’99. Proceedings, pages 73–81. 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. Clusterizac¸ao ˜ de Dados. PUC-Rio. Merris, R. (1994). Laplacian matrices of graphs: a survey. Linear algebra and its applications, 197:143–176. Mohar, B. (1997). Some applications of laplace eigenvalues of graphs. In Graph symmetry, pages 225–275. 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 849–856. MIT Press. Ochi, L. S., Dias, C. R., and Soares, S. S. F. (2004). Clusterizac¸ ˜ao em minerac¸ a˜ o de Federal Fluminense-Niter oi ˜ ´ . dados. Instituto de Computac¸ao-Universidade Sakai, T. and Imiya, A. (2009). Fast Spectral Clustering with Random Projection and Sampling, pages 372–384. 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 71–88. 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.