Vous êtes sur la page 1sur 11

FUNDAO EDUCACIONAL DE DUQUE DE CAXIAS

CURSO DE BACHARELADO EM SISTEMAS DE INFORMAO


PRO1ETO DE PESQUISA:
UM EFICIENTE ALGORITMO DE CLUSTERIZAO KMEANS:
ANLISE E IMPLEMENTAO
PARTE II

Alunos: Emmanoel 1efferson dos Santos
1efferson Pita dos Santos
Icaro Figueira Martins de Oliveira
Coordenao: Prof. Renan Souza
Duque de Caxias, 01 de dezembro de 2009.
FUNDAO EDUCACIONAL DE DUQUE DE CAXIAS
CURSO DE BACHARELADO EM SISTEMAS DE INFORMAO
PRO1ETO DE PESQUISA:
Um eficiente Algoritmo de Clusterizao k-Means:
Anlise e Implementao
Parte II
_______________________________________ _________________
Emmanoel 1efferson dos Santos
(Aluno)
_______________________________________ _________________
1efferson Pita dos Santos
(Aluno)
_______________________________________ _________________
Icaro Figueira Martins de Oliveira
(Aluno)
_______________________________________ _________________
Renan Souza
(Coordenador Responsvel)
2
INDICE
Resumo ...........................................................................................................................pg 4
Analise de dados sensveis ............................................................................................pg 4
Dados Reais .................................................................................................................pg 7
Comparao com BIRCH ............................................................................................pg 7
Consideraes Finais ....................................................................................................pg 8
Anexos.............................................................................................................................pg 8
Bibliografia ..................................................................................................................pg 11
3
Um eficiente Algoritmo de Clusterizao k-Means:
Anlise e Implementao
Resumo: Na clusterizao com k-means, nos dado um conjunto de n pontos de dados em um espao
dimensional R
a
e um inteiro k e o problema determinar um conjunto de k pontos em R
a
, chamados
centroides , de modo a minimizar a distncia mdia de cada ponto de dados para o seu centro mais proximo.
Uma popular descoberta para o k-means o algoritmo de Lloyd's. Nesta pesquisa, apresentado uma
implementao simples e eIiciente do algoritmo de clusterizao Lloyd's k-means, que chamado de
algoritmo de Iiltragem. Este algoritmo de Iacil implementao, exigindo uma ka-tree como unica estrutura
de dados importante.
1. Anlise de dados Sensveis
Nesta seo, apresentado uma analise do tempo gasto em cada etapa do algoritmo de Iiltragem.
Tradicionalmente o pior caso de analise no realmente necessario aqui desde que, no inicio, o algoritmo
possa encontrar cenarios em que se degenera busca por Iora bruta. Isso acontece, por exemplo, se os pontos
centrais esto todos localizados em uma esIera centrada na unidade de origem e os pontos de dados esto
agrupados em torno da origem. Porque os centros so quase eqidistantes a qualquer subconjunto de pontos
de dados. Naturalmente, este um cenario absurdamente artiIicial.
Analisando o tempo de execuo do algoritmo, no apenas como uma Iuno de k, mas como uma Iuno do
grau em que o conjunto de dados consiste de clusters separados. Para eIeitos de nossos resultados teoricos,
teremos uma estrutura de dados mais Iorte do que as propriedades geomtrica ka-simple-tree. Considere o ka-
tree a estrutura basica de dados descrita no primeiro documento. DeIinindo a relao de aspecto em uma
clula a ser a razo entre o comprimento do seu lado mais longo ao seu lado mais curto. O tamanho de uma
clula o comprimento do seu lado mais comprido. As clulas de uma ka-tree geralmente tem alta
arbitrariedade. Para esta analise, suponhamos que, ao invs de uma ka-tree, os pontos de dados so
armazenados em uma estrutura chamada bba-tree para o set point. Os dois seguintes lemas resumi as
relevantes propriedades da bba-tree.
Lema 1:
Dado um conjunto P de n pontos de dados no R
a
e um delimitado C hipercubo para os pontos, em
O(an log n) tempo possivel construir uma bba-tree que representa uma decomposio hierarquica de C em
clulas de complexidade 0(a) tal que:
1. A arvore tem O(n) nos e proIundidade O(log n)
2. As clulas tm limitado a relao de aspecto e, com cada 2d niveis de descida na
arvore, os tamanhos das clulas associadas diminuem em pelo menos um Iator de .
Lema 2 (embalagem de restrio): Considere um conjunto C de clulas o bba-tree com
pares interiores disjuntos, cada um do tamanho de ,pelo menos, que se cruzam uma bola de
raio R. O tamanho desse conjunto , no maximo, (1 [4r/8{)
a
Esta analise motivada pela constatao de que um grande trato do tempo de execuo do algoritmo de
Lloyas gasto nas Iases posteriores do algoritmo quando os pontos centrais esto proximos e suas localizao
Iinal, mas o algoritmo ainda no convergiram. A analise baseada na suposio de que o conjunto de dados
pode realmente ser agrupadas em k clusters natural em que a centros atuais so localizadas perto dos centros
do cluster verdadeiro. Esses pressupostos so reconhecidamente Iorte, mas a nosso experimento resulta
conIirmar a eIicincia do algoritmo mesmo quando esses pressupostos no so cumpridos.
Um no visto, se o processo de Iiltro invocado sobre ele. Um no interno expanaiao se seus Iilhos esto
vistos. Um no no-Iolha terminal, se no ha nenhum centro : que esta mais perto de qualquer parte da clula
de associados do que o proximo centro :*. note que, se uma clula no-Iolha intercepta o diagrama de voronoi
(ou seja, no existe nenhum centro que esta mais proximo de cada parte da clula), ento no pode ser um no
4
terminal. Na Iig. 1, o no com uma pilha terminal, pois inteiramente situado dentro da clula de Voronoi de
seu centro mais proximo.
Clula b terminal, pois uma Iolha. No entanto, a clula c no terminal, porque no uma Iolha e cruza
com o diagrama de Voronoi. Observe que, neste exemplo bem tipico, se os clusters esto bem separados e os
pontos centrais esto perto dos centros do cluster verdadeiro, ento uma Irao relativamente pequena de
conjunto de dados encontra-se perto das bordas do diagrama de Voronoi os centros. Dos mais separados
clusters, o menos sera essa Irao e, conseqentemente, menos clulas de estrutura de pesquisa tera de ser
visitada pelo algoritmo. Nossa analise Iormaliza essa intuio.
Assumindo que os pontos de dados so gerados de Iorma independente de k diIerentes distribuies
multivariadas na R
d
. Considere qualquer distribuio de tal. Seja X ( x1, x2,..., xa ) denote um vetor
aleatorio desta distribuio. Deixe C R
a
denotar o ponto mdio dessa distribuio e vamos denotar a matriz
de co-varincia a x a para a distribuio.
l E(( n)( n)
T
).
Observe que os elementos da diagonal so as varincias as variaveis aleatorias que so associadas,
respectivamente, com as coordenadas individuais. Vamos tr(l ) denotar o trao, isto e, a soma dos seus
elementos na diagonal. Vamos medir a disperso da distribuio de uma variavel pelo o\tr(l ). Esta uma
generalizao natural do conceito de norma de desvio de uma distribuio uni variada.
Caracterizando o grau de separao dos agregados por dois parmetros, n
(i)
e o
(i)
, denote, respectivamente, a
mdia e a disperso do cluster ith distribuio,
r min / min, n
(i)
, e o max max o
(i)
onde ,q q, denote a distncia euclidiana entre os pontos q e p. A quantidade de ex-meia o minimo de
distncia entre dois centros de agrupamento e esta ultima a disperso maxima. Intuitivamente, em locais
bem separados clusters r max, r min so grande em relao a o max. Nos deIinimos o cluster de separao da
distribuio a ponto de ser
(r min / o max).
Isto similar a noo Dasguptas de pares c-separaaos clusters, onde c 2p. E tambm semelhante ao da
separao medida de clusters i Coggins e Jain, deIinida para ser min f=i , n
(i)
- n
(f)
, /o
(i)
.
Supondo que os centros dos candidatos esto relativamente proximos ao cluster signiIica n
(i)
, ento, como p
aumenta (isto , como clusters so mais bem separados), o tempo de execuo do algoritmo melhora. Esta
prova Iaz uso da generalizao seguinte direta de Chebyshev desigualdade para distribuies multivariadas. O
produto a prova, aplicando a desigualdade de Chebyshev para cada coordenada e somando os resultados de
todos os a coordenadas.
Lema 3: Seja X um vetor aleatorio em R
a
elaborado a partir de uma distribuio com isso
n e ae aisperso o ( a raiz quadrada do trao da matriz de co-varincia ). Ento, para todo t
positivo,
Pr(,X n,~ to )(a / t
2
)
Para o ~ 0, dizemos que um conjunto de candidatos o-close com relao a um determinado conjunto de
clusters, se, par cada centro c
(i)
, ha um cluster de associados, um n
(i)
dentro da distncia de, no maximo, or
min e vice-versa. Aqui o principal resultado desta seo. Re-chamando quando um no visitado, se o
procedimento de Iiltro invocado sobre ele.
Teorema 1. Considere um conjunto de n pontos em R
a
elaborado a partir de uma coleo
de clusters de distribuies com separao de cluster r min , o max, e considere um
conjunto de centros de candidatos de k o-close ao cluster signiIica, para alguns o1. Ento,
para qualquer C, 0 C1 o, e por alguma constante c, o numero esperado de nos visitados
pelo algoritmo de Iiltragem
O( k( ( c\a ) / C )
a
2
a
k log n( an /
2
( 1 C )
2
) )
5
Antes de dar a prova, existe algumas observaes sobre este resultado. O resultado Iornece um limite superior
de numero de nos visitados. O tempo necessario para processar cada no proporcionalmente ao numero de
candidatos para o no, que no maximo k e geralmente muito menor. Assim, o tempo total do algoritmo
maior por pelo menos um Iator de k. Alm disso, o tempo total de execuo inclui uma contribuio aditiva de
O( an log n ) tempo necessario para construir bba-tree inicial.
Note que, para a, e C Iixo( delimitadamente longe de 0 e 1 o ), o numero de nos visitados em Iuno de n
O(n) ( deste o ultimo termo da analise domina ). Assim, o tempo de execuo total O(kn), que parece no
ser melhor que o algoritmo de Iora bruta. A observao importante, no entanto, que, a medida que aumenta
o cluster de separao , o O( kn /
2
) diminui o tempo de execuo do algoritmo e aumenta a eIicincia
rapidamente. O numero real esperado de clulas visitadas pode ser muito menor para distribuies
especiIicas.
Prova. Considere o ensimo cluster. Com c
(i)
designe um candidato a centro que esta
dentro da distncia or min da sua mdia n
(i)
. Com o
(i)
denote sua disperso. Com B
(i)
denote uma bola de raio r min centrada em um n
(i)
. Observe que, porque nenhum cluster
centro esta mais perto do que 2r min, esses bolas tm par interiores disjuntos. Com b
(i)
denote uma bola do raio r min( 1 C o ) centrado em c
(i)
. Porque c
(i)
o-close to ni , b
(i)
contido dentro de uma esIera de raio r min( 1 C ) centrada em um n
(i)
e, portanto esta
contida dentro de B
(i)
. Alm disso, a distncia entre os limites de B
(i)
e b
(i)
pelo menos
Cr min.
Considere um no visitado e deixe C denote sua clula associada no bba-tree. Consideramos dois casos.
Primeiro, suponha que, para alguns cluesters i, C b
(i)
= O. Chamamos C no Iim. Caso contrario, se a clula
no cruza nenhuma das b
(i)
bolas, um no distante. (veja a Iig. 2). A intuio por tras da prova o seguinte:
se o cluster Iorte, ento nos esperariamos apenas alguns pontos a serem distantes dos centos do cluster e,
portanto, existem poucos nodos distantes. Se um no esta perto de seu centro e no muito grande, ento so
existe um candidato para o vizinho mais proximo e, portanto, o no sera terminal. Como as clulas da bba-tree
tm delimitado proporo, o numero de clulas grandes que podem sobrepor-se a uma bola esta delimitado.
Primeiro, Ioi limitado o numero de nos distantes visitados. Considere a subarvore da bba-tree induzida por
esses nos. Se um no esta distante, ento seus Iilhos so tanto distante, o que implica que esta subarvore
induzida uma arvore estritamente binaria ( isto , cada no no Iolha tem exatamente duas crianas ). E
sobejamente conhecido que o numero total de nos no Iolha de uma arvore binaria completa no maior que
o numero de Iolhas. O ponto de dados associados com todas as Iolhas da subarvore induzida no pode exceder
o numero de pontos de dados que se encontram Iora de b
(i)
. ConIorme ja Ioi reIerido, para qualquer cluster i,
um ponto de dado do cluster que esta Iora de b
(i)
a distncia para n
(i)
de pelo menos
r min ( 1 C ) ( r min / o
(i)
) (1 - ) o
(i)
~ (1 C ) o
(i)
.
Pelo lema 3, a probabilidade de isso acontecer , no maximo a/ ( ( 1 C ) )
2
. Assim, o numero esperado de
pontos de tais dados an/( ( 1 C ) )
2
. Decorre de norma resultando em arvore binaria que o numero de nos
distantes mais em dobro.
Em seguida, Ioi limitado o numero de nos visitados Iechados. Claramente, o numero de nos visitados perto
proporcional ao numero de nos Iechados expansiveis. Para cada cluster i, considere as Iolhas das subarvores
induzido consiste em Iechar nos expandidos que b
(i)
se cruzam. ( o numero total de nos expandidos proximo
sera maior por um Iator de k ) Logando o numero de nos tal que, nos ainda classiIicaremos pelo tamanho da
clula associativa. v um no expandido cujo tamanho de pelo menos 4r min grande e, caso contrario, ele
pequeno. Foi visto que o grande numero de nos expandidos delimitado por O( 2
a
log n ) e o numero de
pequenos nodulos expandidos delimitado por O( (c\a / C )
a
), para alguma constante c.
6
Comeando por mostrar o limite do numero de grandes nos expandidos. Na descida atravs da bba-tree, os
tamanhos dos nos diminuem monotonicamente. Considere o conjunto de todos os nos expandidos de tamanho
superior a 4r min. Esses nos induzem uma subarvore no bba-tree. Seja L denote as Iolhas desta arvore. As
clulas associadas com os elementos da L tem par no interior eles cruzam b
(i)
e, Assim, eles cruzam B
(i)
.
Decorre do lema 2 ( aplicado a B
(i)
e as clulas associadas a L ) que existem no maximo (1 [ 4r min / (4r
min) { )
a
2
a
tais clulas. Pelo lema 1, a proIundidade da arvore O( log n ) em conseqentemente, o
numero total de grande nos expandidos O( 2
a
log n ), como desejado.
Finalmente, considere os pequenos nos expandidos. AIirmando que o dimetro da clula correspondente a
qualquer no seja pelo menos Cr min. Se no, ento essa clula iria mentir inteiramente dentro de uma esIera
de raio r min ( 1 o ) de c
(i)
. Desde que a clula Ioi alargada, sabemos que deve existir um ponto nesta clula
que esta mais perto de algum outro centro cf. Este implica que a distncia entre o c
(i)
e c
(f)
e inIerior a 2r min
(i o ). desde que os candidatos sejam o-close, segue-se que existem dois meios clusters n
(i)
e n
(f)
que esto
mais perto do que 2r min ( 1 o ) 2o r min 2r min. No entanto esta estaria em contradio com a
deIinio de r min. Uma clula em dimenso a de dimetro x tem comprimento maior de pelo menos no lado
x/\a. Assim, o tamanho de cada clula seja pelo menos C r min / \d. Pelo lema 2, segue-se que o numero
dessas clulas que se sobrepem B(i) no maximo
( c\d / C )
d
Isso conclui a prova.
2. Dados reais
Para entender a relativa eIicincia desse algoritmo em circunstncias mais pratica, Ioram Ieitas um certo
numero de experincias com conjuntos de dados provenientes de aplicaes reais no processamento de
imagem, compresso e segmentao. Cada experincia envolveu resolver um problema de k-means em um
conjunto de pontos na R
a
para diIerentes as. Em cada caso, aplicou-se todos os trs algoritmos: Iora bruta
( Brute ), ka-center (KDcenter), e Iiltragem (Filter). No algoritmo de Iiltragem, incluimos o tempo de pr-
processamento em mdia. Em cada caso, nos computamos o tempo mdio de CPU por etapa em segundo (T-)
e a mdia do numero de no-pares candidato (CN-). Isso Ioi repetido para os valores de k escolhido
8,64,256}. Os resultados so apresentados na tabela 1.
Os experimentos so agrupados em trs categorias gerais. O primeiro envolve uma aplicao de quantizao
de cores. A cor da imagem dado e um numero de pixels so mostrados a partir da imagem (10.000 para o
experimento ). cada pixel representado como uma tripla composta de componentes vermelho, verde e azul,
cada um na Iaixa |0,255| e , portanto, um ponto em R
3
. As imagens Ioram escolhidas na entrada de um
numero de imagens padro para esta aplicao. As imagens so mostradas na Iig. 3 e os resultados so dados
a correr na parte superior metade da tabela 1, em Irente a imagem nomes correspondentes. O experimento
seguinte envolveu uma quantizao vetorial aplicao para compresso de dados. Aqui, as imagens so
imagens em escala de cinza com valores de pixels no intervalo |0, 255|. Unidade 2x2 subarray de pixels
selecionada e mapeada para um elemento do vetor e o algoritmo K-means executado resultando em um
conjunto de vetores. As imagens so mostradas na Iig. 4 e os resultados so apresentados na tabela 1, ao lado
de nomes.
O Iinal do experimento envolveu a segmentao de imagem. A 512 x 512 imagens Landsat de Israel, que
consiste em quatro espectrais bandas Ioram usadas. O resultado vetores 4-elementos no intervalo |0,255|
Ioram apresentados aos algoritmos. Um das bandas de imagem mostrada na Iig. 5 e os resultados so
apresentados na tabela 1, em Irente ao nome de 'Israel.
Uma inspeo dos resultados mostra que o algoritmo de Iiltragem superou signiIicativamente os outros dois
algoritmos em todos os casos. Parcelas do ponto subjacente distribuies mostraram que a maioria desses
7
conjuntos de dados no eram realmente bem clusterizado. Assim, o algoritmo de Iiltragem bastante
eIiciente, mesmo quando as condies do teorema 1 no esto satisIeitos.
3. Comparao com BIRCH
Uma comparao entre o algoritmo de Iiltragem e o esquema BIRCH de clusterizao apresentado na tabela
2. A tabela mostra as distores provocadas por ambos os algoritmos. A Coluna 'BIRCH de relatorios das
distores obtidos com o soItware de btula. A coluna chamada de 'Filter prev as distores obtidas devido
a Iiltragem do algoritmo k-means ( com os centros inicialmente mostrados aleatoriamente a partir dos pontos
de dados ). Alternativamente, podem-se usar os centros obtidos por BIRTCH como centros iniciais para o
algoritmo de Iiltragem. Isso mostrado na coluna 'Combined da tabela. Como pode ser visto, as distores
so sempre melhores consideravelmente melhor em alguns dos casos. (Isso porque k-means no pode
aumentar as distores. ) Na verdade, como Ioi mencionado anteriormente, k-means pode ser executado para
melhorar a distoro de qualquer algoritmo de agrupamento.
4. Consideraes Finais
Foi apresentado uma implementao eIiciente do algoritmo de clusterizao Lloyas k-means, o chamado de
algoritmo Iiltragem. O algoritmo Iacil de implementar e requer apenas que uma ka-tree possa ser construida
uma vez para os pontos de dados Iornecidos. A eIicincia conseguida porque os pontos de dados no variam
ao longo do calculo e, dai, esta estrutura de dados no precisa ser recalculada em cada etapa. Uma vez que
existam normalmente muitos mais pontos de dados de 'consulta pontos ( ou seja, centros ), a vantagem
relativamente Iornecida pelo pr-processamento de Iorma maior. Nosso algoritmo diIere das abordagens
existentes apenas na Iorma mais proxima dos centros que so computados, para que pudesse ser aplicada a
muitas variantes do algoritmo d Lloyas.
Demonstrando a eIicacia pratica deste algoritmo, tanto teoricamente, atravs de uma analise de dados
sensiveis, e empiricamente, atravs de experincias de ambos produzidos sinteticamente com conjunto de
dados reais. A analise dos dados mostra que os mais sensiveis, e bem separado o cluster, mais rapido o
algoritmo executado. Isto esta sujeito a suposio de que os pontos centrais so de Iato perto dos centros de
cluster. Embora esta suposio seja bastante Iorte, a nossa analise empirica em dados sintticos indica que o
tempo de execuo do algoritmo no melhora dramaticamente com o aumento da separao de cluster. Estes
resultados para ambos os conjuntos de dados sintticos e reais indicam que o algoritmo de Iiltragem
signiIicativamente mais eIiciente do que os outros dois mtodos que Ioram testados. Alm disso, eles
mostram que o algoritmo de escamas tem ate dimenses moderadamente altas ( de 10 a 20 ). Seu desempenho
em termos de distores competitivo com o do soItware BIRCH bem conhecida e, por execuo do k-means
como uma etapa pos-processamento para BIRCH, possivel melhorar signiIicativamente as distores.
Uma pergunta natural se o algoritmo de Iiltragem pode ser melhorado. A Ionte mais obvia de ineIicincia do
algoritmo que ele no passa nenhuma inIormao de um estagio para o proximo. Presumivelmente, nas
Iases posteriores do algoritmo de Lloyas, como os centros esto convergindo para as posies Iinais, seria de
se esperar que a grande maioria dos pontos de dados terem o centro mais proximo mesmo de um estagio para
o proximo. Um bom algoritmo deve explorar essa coerncia para melhorar o tempo de execuo. Um mtodo
cintico ao longo destas linhas Ioi proposto, mas este algoritmo bastante complexo e no oIerece muito mais
rapidez no tempo de Iuncionamento na pratica. O desenvolvimento de um algoritmo simples e pratico, que
combina os melhores elementos da cintica e abordagens de Iiltragem Iaria uma contribuio signiIicativa.
5. Anexos
8
9
Figura 1
Figura 2
Figura 5
Figura 3
Figura 4
10
Tabela 1
6. BIBLIOGRAFIA
On Lloyd`s k-means Method 2007
Sariel Har-Peled Bardia, Sariel Har-peled, Bardia Sadri
http://citeseerx.ist.psu.edu/viewdoc/summary?doi10.1.1.4.2480
K-Means Clustering Algorithms: Implementation and Comparison - 2007
The University oI Iowa, Iowa City, Iowa, USA
Gregory A. Wilkin, Xiuzhen Huang
http://www2.computer.org/portal/web/csdl/doi/10.1109/IMSCCS.2007.51
11
Tabela 2

Vous aimerez peut-être aussi