Você está na página 1de 112

Clusterizao de dados utilizando tcnicas

de redes complexas e computao


bioinspirada

Tatyana Bitencourt Soares de Oliveira


SERVIO DE PS-GRADUAO DO ICMC-USP

Data de Depsito:

Assinatura:

Clusterizao de dados utilizando tcnicas de redes complexas e


computao bioinspirada

Tatyana Bitencourt Soares de Oliveira

Orientador: Prof. Dr. Zhao Liang

Dissertao apresentada ao Instituto de Cincias Matem-


ticas e de Computao ICMC/USP, como parte dos re-
quisitos para obteno do ttulo de Mestre em Cincias de
Computao e Matemtica Computacional.

USP - So Carlos
Janeiro/2008
Agradecimentos

Quando um trabalho chega concluso, sempre existem inmeras pessoas as quais queremos
agradecer. s vezes essas pessoas no tm idia de sua importncia na execuo de um trabalho, e
precisam de um agradecimento mais explcito.

Agradeo inicialmente Deus, pela f e serenidade proporcionados nos momentos mais neces-
srios.

Agradeo minha famlia, meu porto seguro. Em especial, obrigada minha me Ingrid, pelo
incentivo constante, ao meu pai Silvio, pelo apoio incondicional, e ao meu irmo Crystian, pela
alegria contagiante. Um obrigada especial tambm minha tia Sigried e minha prima Areane, pela
presena constante.

Obrigada ao professor Zhao, meu orientador, pela direo e pela dedicao nesses dois anos de
trabalho.

Obrigada ao meu amigo, companheiro e amor, Eduardo, pelo apoio e compreenso em todos
os momentos.

Obrigada aos amigos, prximos ou distantes, sempre com palavras de conforto e apoio nas
horas mais difceis.

Obrigada aos professores e funcionrios do ICMC/USP, que de uma forma ou de outra contri-
buram para a realizao desse trabalho.

Obrigada CAPES, pelo apoio financeiro a esse trabalho.

A todos que contriburam de alguma forma para essa realizao, esse o meu agradecimento.

i
Resumo

C lusterizao de dados em grupos oferece uma maneira de entender

A e extrair informaes relevantes de grandes conjuntos de dados. A


abordagem em relao a aspectos como a representao dos dados
e medida de similaridade entre clusters, e a necessidade de ajuste de parme-
tros iniciais so as principais diferenas entre os algoritmos de clusterizao,
influenciando na qualidade da diviso dos clusters. O uso cada vez mais co-
mum de grandes conjuntos de dados aliado possibilidade de melhoria das
tcnicas j existentes tornam a clusterizao de dados uma rea de pesquisa
que permite inovaes em diferentes campos. Nesse trabalho feita uma
reviso dos mtodos de clusterizao j existentes, e descrito um novo m-
todo de clusterizao de dados baseado na identificao de comunidades em
redes complexas e modelos computacionais inspirados biologicamente. A
tcnica de clusterizao proposta composta por duas etapas: formao da
rede usando os dados de entrada; e particionamento dessa rede para obten-
o dos clusters. Nessa ltima etapa, a tcnica de otimizao por nuvens
de partculas utilizada a fim de identificar os clusters na rede, resultando
em um algoritmo de clusterizao hierrquico divisivo. Resultados experi-
mentais revelaram como caractersticas do mtodo proposto a capacidade de
deteco de clusters de formas arbitrrias e a representao de clusters com
diferentes nveis de refinamento.

iii
Abstract

A ta clustering is an important technique to understand and to extract

D relevant information in large datasets. Data representation and si-


milarity measure adopted, and the need to adjust initial parame-
ters, are the main differences among clustering algorithms, interfering on
clusters quality. The crescent use of large datasets and the possibility to im-
prove existing techniques make data clustering a research area that allows
innovation in different fields. In this work is made a review of existing data
clustering methods, and it is proposed a new data clustering technique based
on community dectection on complex networks and bioinspired models. The
proposed technique is composed by two steps: network formation to repre-
sent input data; and network partitioning to identify clusters. In the last step,
particle swarm optimization technique is used to detect clusters, resulting in
an hierarchical clustering algorithm. Experimental results reveal two main
features of the algorithm: the ability to detect clusters in arbitrary shapes and
the ability to generate clusters with different refinement degrees.

v
Sumrio

Agradecimentos i

Resumo iii

Abstract v

1 Introduo 1
1.1 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Estrutura do documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Clusterizao de dados 7
2.1 Etapas do processo de clusterizao . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Medidas de similaridade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Similaridade entre dados . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Similaridade entre clusters . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Tcnicas de clusterizao de dados . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1 Algoritmos de clusterizao por particionamento . . . . . . . . . . . . . . 12
2.3.2 Redes Auto-Organizveis - SOM . . . . . . . . . . . . . . . . . . . . . . 14
2.3.3 Algoritmos de clusterizao por densidade . . . . . . . . . . . . . . . . . 15
2.3.4 Algoritmos de clusterizao hierrquica . . . . . . . . . . . . . . . . . . . 16
2.3.5 Algoritmos de clusterizao baseados em grafo . . . . . . . . . . . . . . . 18
2.4 Validao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.1 ndice Davies-Bouldin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.2 ndice Rand Corrigido . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3 Deteco de comunidades em redes complexas 29


3.1 Edge Betweenness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Partcula Browniana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.1 Exemplos de comunidades locais e globais . . . . . . . . . . . . . . . . . 36
3.2.2 ndice de dissimilaridade . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Modularidade e estrutura de comunidades . . . . . . . . . . . . . . . . . . . . . . 38
3.4 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

vii
4 Tcnicas de Computao Bioinspirada 41
4.1 Sistema de Colnia de Formigas . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1.1 Colnia de Formigas e o Caixeiro Viajante . . . . . . . . . . . . . . . . . 43
4.2 Otimizao por Nuvem de Partculas - PSO . . . . . . . . . . . . . . . . . . . . . 45
4.2.1 Descrio do PSO clssico . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2.2 PSO com velocidade adaptativa . . . . . . . . . . . . . . . . . . . . . . . 48
4.3 Aprendizado por Reforo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.1 O Aprendizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3.2 Q-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3.3 Programao Neurodinmica . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.4 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5 Clusterizao de dados e deteco de comunidades 61


5.1 Viso geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.2 Formao da rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3 Regra de atualizao do ngulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.3.1 Clculo do peso wij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3.2 Taxa de atualizao de ngulo e estabilidade do sistema . . . . . . . . . . . 69
5.4 Algoritmo de clusterizao de dados . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.4.1 Exemplo de execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.5 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

6 Experimentos 77
6.1 Metodologia de avaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2 Dados artificiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.2.1 Redes artificiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.2.2 Conjunto de dados artificiais . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.3 Dados reais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.3.1 Redes complexas reais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.3.2 Conjuntos de dados reais . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.4 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

7 Concluso 87
7.1 Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.2 Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.3 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

viii
Lista de Figuras

1.1 Clusterizao de um conjunto de dados (a) dados originais; (b) diviso em dois
clusters; (c) diviso em trs clusters e (d) diviso em cinco clusters. Cada cluster
representado por uma cor diferente. . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Exemplos de clusters de diferentes formas e tamanhos (Karypis et al., 1999) . . . . 2

2.1 Etapas do processo de clusterizao . . . . . . . . . . . . . . . . . . . . . . . . . 8


2.2 Ilustrao do clculo da distncia de Minkowski (Jain & Dubes, 1988) . . . . . . . 10
2.3 Em um algoritmo que leva em conta apenas a proximidade entre elementos dos
dois clusters, os clusters em (a) seriam unidos por estarem mais prximos em de-
trimento dos clusters em (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Em um algoritmo que leva em conta apenas a interconectividade entre elementos
dos dois clusters, os clusters verde e azul seriam unidos e no os clusters azul e
vermelho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.5 Sada gerada por algoritmo de clusterizao hierrquica . . . . . . . . . . . . . . . 16
2.6 Construo do dendrograma nos algoritmos de clusterizao hierrquica . . . . . . 17
2.7 Etapas do algoritmo Chameleon . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.8 Construo de grafos a partir dos k-vizinhos mais prximos: (a) dados originais,
(b)1-, (c)2-, (d)3-vizinhos mais prximos . . . . . . . . . . . . . . . . . . . . . . 21
2.9 Diviso em duas parties pelo algoritmo de particionamento de grafos multi-
nvel. Em (a) o algoritmo identifica regies esparsas; em (b) o algoritmo identifica
a conexo entre os clusters. (Karypis et al., 1999) . . . . . . . . . . . . . . . . . . 23

3.1 Exemplo de rede randmica com 8 vrtices. (a) Quando p = 0 o grafo gerado no
possui arestas; (b) Quando p = 0.1 poucas arestas so adicionadas contribuindo
para a formao de rvores; (c) A adio de mais arestas, com p = 0.3, possibilita
a formao de ciclos no grafo; (d) Para p = 0.8, o grafo gerado aproxima-se de um
grafo completo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2 Processo de alterao de uma frao p de arestas de uma rede regular formada
por 20 vrtices. Para determinados valores de p, a rede criada uma rede de
pequeno-mundo. Conforme o valor de p aproxima-se de 1, grande parte das arestas
modificada, resultando em uma rede randmica (Albert & Barabasi, 2002). . . . . 30
3.3 Rede Livre de Escala, formada por 200 vrtices e 199 arestas, com a presena de
hubs (vrtices com grande nmero de arestas incidentes). Vrtices em diferentes
cores possuem maior grau k: vermelho k = 33; azul k = 12 e verde
k = 11 (Strogatz, 2001). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

ix
3.4 Rede com estrutura de comunidade, formada por trs comunidades. . . . . . . . . 32
3.5 Sada gerada por algoritmo de deteco de comunidades . . . . . . . . . . . . . . 32
3.6 Diviso de comunidades da rede de interaes do clube de carat de (Zachary,
1977). Originalmente os dados so divididos em duas comunidades representadas
pelas diferentes cores, enquanto a diviso dada pelo algoritmo de (Zhou, 2003b)
dada pela localizao espacial dos ns. . . . . . . . . . . . . . . . . . . . . . . . . 36
3.7 Diviso de comunidades da rede de interaes do campeonato de futebol ameri-
cano de (Girvan & Newman, 2002) dada pelo algoritmo de (Zhou, 2003b) . . . . . 37

4.1 Formigas reais em busca por alimento: (a) formigas seguem um caminho de seu
ninho fonte de alimento (b)um obstculo colocado no caminho e as formigas
devem decidir qual caminho seguir (c)a quantidade de feromnio no menor cami-
nho maior e mais formigas seguem por ele. . . . . . . . . . . . . . . . . . . . . . 42
4.2 Influncia da quantidade de formigas na busca pelo menor caminho . . . . . . . . 44
4.3 Convergncia das partculas para o mnimo global da funo de Raistrigin . . . . . 48
4.4 Influncia de na definio do coeficiente de velocidade c (). Para qualquer
valor de , c () = 1 se = 1. Para = 0, c () 1. Para 0 < < ,
0 < c () < 1 se 0 < < 1. Para = , c () = 0 se 0 < < 1. . . . . . . . . 50
4.5 Diagrama da interao entre o sistema de aprendizado e seu ambiente. . . . . . . . 52
4.6 Interpretao do Q-valor (Haykin, 1999) . . . . . . . . . . . . . . . . . . . . . . . 55
4.7 Utilizao de rede neural para aproximao da funo valor V (Haykin, 1999) . . 58

5.1 As setas indicam o valor do ngulo de um n vi , da rede artificial da Figura 5.2, e


seus vizinhos. As cores indicam o cluster ao qual o n pertence. (a) Inicialmente
os ngulos dos ns movimentam-se aleatoriamente. (b) Aps algumas iteraes,
ns de um mesmo cluster entram em acordo e tendem a ter ngulos similares. . . 64
5.2 Rede artificial original. Ns de diferentes cores pertencem diferentes clusters. . . 64
5.3 Evoluo do processo de atualizao de ngulos. Nas primeira iteraes, os ngu-
los encontram-se desordenados. Aps algumas iteraes, os ngulos dos vrtices
dividem-se em grupos estveis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4 Evoluo do processo de atualizao de ngulos dos ns da rede artificial da Figura
5.2. A diviso de ngulos dos vrtices que pertencem originalmente aos clusters
em azul e verde no to clara, diferente do que acontece na execuo mostrada
na Figura 5.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.5 (a) Conjunto de dados original (b) Estrutura E1, baixo nvel de refinamento, divi-
dindo os dados em 2 clusters; (c) Estrutura E2, maior nvel de refinamento, divi-
dindo os dados em 4 clusters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.6 Interaes entre o vrtice v0 e seus vizinhos, aps a modelagem do conjunto de
dados em uma rede, onde o peso nas arestas indica a distncia euclidiana entre os
vrtices. A cor de cada vrtice indica a qual cluster ele pertence originalmente, de
acordo com a estrutura E2 apresentada na Figura 5.5(c). . . . . . . . . . . . . . . 68
5.7 Relao entre o peso do vrtice vj na atualizao do ngulo de v0 e a variao de .
A cor da srie indica o cluster ao qual o vrtice pertence originalmente na estrutura
E2. Conforme o valor de aumenta, a influncia de vizinhos mais distantes na
atualizao do ngulo de v0 diminui mais acentuadamente do que a influncia de
vizinhos mais prximos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

x
5.8 Influncia de SN (v0 , vj ) no clculo do peso final w0,j de cada vizinho de v0 . A cor
da srie indica o cluster ao qual o vrtice pertence originalmente na estrutura E2.
possvel notar que os vizinhos que no pertencem ao mesmo cluster de v0 so os
que possuem o menor peso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.9 (a) O agrupamento de ns de um mesmo cluster indicado pelo desvio padro
dos ngulos de vi e seus vizinhos; (b) Decrescimento da taxa de atualizao dos
ngulos medida em que estes comeam a agrupar-se. . . . . . . . . . . . . . . . 70
5.10 Influncia da escolha de na eficincia do algoritmo. (a) Quando = 0.5 o sis-
tema atinge a estabilidade com os ngulos formando um nico grupo; (b) Quando
= 50, a atualizao dos ngulos muito lenta, resultando em nenhum agrupa-
mento dos ngulos; (c) Quando = 5, o sistema atinge a estabilidade quando os
ngulos de ns de um mesmo cluster encontram-se agrupados. . . . . . . . . . . . 72
5.11 Diviso do cluster C1 atravs da regra de atualizao de ngulos. O cluster
dividido na posio em que ocorreu a maior diferena entre ngulos. . . . . . . . . 74
5.12 O cluster C2 apresenta a maior diferena entre ngulos, aps a aplicao da regra
de atualizao de ngulos a todos os clusters de CSet. . . . . . . . . . . . . . . . 75
5.13 Os trs clusters em CSet correspondem s comunidades da rede original. A partir
desse ponto, a diviso dos clusters no revela qualquer estrutura de comunidades
da rede original. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6.1 Relao entre o ndice CR e a probabilidade de conectar vrtices de comunidades


diferentes, dada por P l, em rede artificial formada por 4 comunidades com 32
vrtices cada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2 Conjunto de dados com 2123 pontos. . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.3 Resultado da clusterizao dos dados da Figura 6.2, com = 0.4. (a) Diviso do
conjunto de dados em 2 clusters. (b) Estrutura E1, formada por 3 clusters. . . . . . 80
6.4 Resultado da clusterizao dos dados da Figura 6.2, com = 0.5. (a) Diviso
do conjunto de dados em 2 clusters. (b) Diviso dos dados em 3 clusters, onde
a estrutura E1 no mais identificada. (c) Diviso dos dados em 4 clusters. (d)
Diviso dos dados em 5 clusters. (e) Estrutura E2, formada por 6 clusters. . . . . . 81
6.5 Evoluo do processo de atualizao dos ngulos para a rede social de (Lusseau et
al., 2003). As duas comunidades reais podem ser identificadas pelos agrupamentos
presentes na srie temporal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.6 Dendrograma do resultado da simulao para a rede social de (Lusseau et al.,
2003). O dendrograma revela a diviso dos dados nas duas comunidades originais,
indicadas pelos itens em verde (41 elementos) e itens em vermelho (21 elementos). 82
6.7 Estrutura de comunidades encontrada pelo algoritmo proposto no conjunto de da-
dos de (Girvan & Newman, 2002). Os ns so coloridos de acordo com as co-
munidades reais, e a localizao espacial indica as comunidades identificadas pelo
algoritmo. O algoritmo apresenta mdia de CR = 0.8017, tendo melhores resul-
tados de CR quando a partio tem exatemente 12 grupos. Grande parte dos ns
classificados erradamente pelo algoritmo trata-se de ns instveis. . . . . . . . . . 83
6.8 Dendrograma do resultado da simulao para a estrutura E1 do conjunto de dados
golub. A linha pontilhada corta o dendrograma em dois clusters, representando
dois tipos de leucemia: ALL (itens em vermelho) and AML (itens em azul). . . . . . 86

xi
Lista de Tabelas

2.1 Clculo das distncias de acordo com as trs variaes da distncia de Minkowski . 11

5.1 Proporo de vrtices em comum entre v0 e seus vizinhos (SN (v0 , vj )) . . . . . . . 68

6.1 Resultados da simulao para o conjunto de dados IRIS (3 clusters originais) . . . . 84


6.2 Nmero de elementos dos clusters das duas estruturas conhecidas do conjunto de
dados GOLUB (Golub et al., 1999) . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.3 Resultados da simulao para o conjunto de dados GOLUB - E1 (2 clusters originais) 85
6.4 Resultados da simulao para o conjunto de dados GOLUB - E2 (3 clusters originais) 85

xiii
C APTULO

1
Introduo

A clusterizao de dados em grupos pode oferecer uma maneira de entender e extrair informa-
es relevantes de grandes conjuntos de dados. A idia que dados de um mesmo grupo tenham
mais caractersticas em comum entre si do que com dados de outro grupo.
A principal diferena entre classificao e clusterizao de dados que na primeira os dados
devem ser atribudos a grupos j conhecidos previamente, enquanto a segunda deve descobrir
esses grupos. A Figura 1.1 mostra um conjunto de dados antes da clusterizao (Figura 1.1 (a))
e maneiras diferentes de separ-los em grupos, onde cada cor corresponde a um grupo: na Figura
1.1 (b) os dados so separados em dois clusters; na Figura 1.1 (c) em trs clusters e na Figura 1.1
(d) em cinco clusters.

Figura 1.1: Clusterizao de um conjunto de dados (a) dados originais; (b) diviso em dois
clusters; (c) diviso em trs clusters e (d) diviso em cinco clusters. Cada cluster representado
por uma cor diferente.

O problema de clusterizao de dados relevante para as mais diversas reas de pesquisa, como
aprendizado de mquina (Mitchell, 1997), minerao de dados (Tan et al., 2005) e reconhecimento
de padres (Bishop, 2006). Entre as aplicaes realizadas nessas reas encontram-se bioinform-

1
2

tica (Jiang et al., 2004; Golub et al., 1999), classificao de documentos da Web (Boley et al.,
1999) e segmentao de imagens (Celenk, 1990), entre outras.
Diversos fatores devem ser levados em considerao por um algoritmo de clusterizao de
dados: a representao dos dados, como mensurar a similaridade entre dados e entre clusters,
como avaliar a qualidade do resultado gerado pelo algoritmo (Jain et al., 1999), entre outros. A
abordagem dada a cada um desses fatores e os parmetros a serem ajustados inicialmente so as
principais diferenas entre os algoritmos de clusterizao, influenciando na qualidade da diviso
dos clusters.
Grupos de dados de diferentes formas, densidades e tamanhos esto presentes em diferentes
conjuntos de dados. A restrio de alguns desses atributos pode levar a uma distribuio errada
dos dados. Alguns algoritmos clssicos de clusterizao so incapazes de detectar clusters como
os da Figura 1.2, de tamanhos diferentes (Figura 1.2 (a)) e formas cncavas (Figura 1.2 (b)). Um
exemplo o algoritmo K-Mdias1 que restringe-se a identificao de clusters de forma elipsoidal.
Algoritmos que utilizam centros como representantes de cada cluster, e a similaridade entre os
clusters calculada de acordo com a similaridade entre os centros, tm dificuldades em identificar
clusters de formas e tamanhos variados. Enquanto isso, alguns algoritmos capazes de detectar
clusters de formas variadas so altamente sensveis a rudos ou acabam unindo clusters de maneira
equivocada.

Figura 1.2: Exemplos de clusters de diferentes formas e tamanhos (Karypis et al., 1999)

Alm da deteco de clusters de formas arbitrrias, a produo de uma estrutura hierrquica


de clusters uma caracterstica desejada dos algoritmos de clusterizao, pois produz diversas
possibilidades de partio de um mesmo conjunto de dados. Essa hierarquia pode ser representada
por uma rvore, onde as folhas representam o conjunto de dados, e medida que a altura da rvore
cresce os dados so agrupados em clusters. Cada nvel dessa rvore corresponde a uma partio
do conjunto de dados, onde a ltima partio formada por um cluster com todos os dados e
representada pela raiz da rvore. Em alguns mtodos hierrquicos tradicionais, cada cluster
representado por um centride (i.e. um ponto especial que traduz toda disposio dos dados no
cluster), e a similaridade entre dois clusters medida atravs da similaridade entre esses centrides.
Essa abordagem encontra dificuldades quando dados de um certo cluster esto mais prximos do
centro de outro cluster do que do centro de seu prprio cluster. Esta situao ocorre em muitos
clusters naturais. Por exemplo, se h uma grande variao no tamanho dos clusters, como na Figura
1.2 (a), ou quando a forma dos clusters cncava, como na Figura 1.2 (b).
1
descrito em detalhes no captulo 2
CAPTULO 1. INTRODUO 3

Algoritmos baseados em grafos so capazes de identificar clusters de formas variadas e os


representam de maneira hierrquica. Um exemplo dessa classe o algoritmo Chameleon (Karypis
et al., 1999). O Chameleon modela os dados em um grafo esparso, onde os ns representam
os dados e as arestas representam a similaridade entre os ns, atravs do conceito de K-vizinhos
mais prximos (k-nearest neighbor - KNN). O processo de clusterizao d-se em duas etapas:
na primeira, o grafo particionado em inmeros subgrafos por um algoritmo de particionamento
de grafos; na segunda etapa, os subgrafos so sucessivamente agrupados de maneira hierrquica,
encontrando assim os clusters finais. Devido a representao em grafo dos dados, o algoritmo
Chameleon busca a estrutura topolgica entre os dados de entrada. Conseqentemente, capaz de
identificar, at certo nvel, formas de clusters variadas.
A segunda rea contemplada nesse projeto chamada Redes Complexas. As redes complexas
esto presentes em muitas relaes existentes em nosso planeta, como por exemplo a Internet, redes
sociais entre indivduos, cadeias alimentares e redes de interao entre protenas, entre outros.
Em 1998, (Watts & Strogatz, 1998) descobriram que a mdia de caminhos mais curtos pode ser
dramaticamente reduzida por alterao aleatria de poucas ligaes de uma rede regular. A rede
resultante chamada de Rede de Pequeno Mundo (Small-World Network). Em 1999, Barabsi e
Albert (Barabasi & Albert, 1999) descobriram que muitas redes complexas reais tm a distribuio
de grau para os vrtices que obedece a lei de potncia (power law): P (k) k , onde k o nmero
de ligaes de um vrtice escolhido aleatoriamente e o expoente de escala. Essa distribuio
heterognea revela a existncia de um pequeno grupo de vrtices que possuem um grande nmero
de ligaes, dando origem s Redes Livre de Escala (Scale-free Networks). Enquanto isso as Redes
Aleatrias (Random Networks), apresentam uma distribuio de grau homognea, resultando na
ausncia de vrtices dominantes.
A partir dessas descobertas, muitas pesquisas continuam sendo feitas e a rea de redes com-
plexas atualmente bem definida. Um campo de pesquisa dessa rea que vem sendo estudado
por pesquisadores a deteco de comunidades em redes complexas. Uma propriedade partilhada
por muitas redes a presena de comunidades: conjuntos de ns que possuem densa conexo
entre si e baixa conexo entre grupos. Diversos algoritmos foram desenvolvidos para identificar
comunidades em redes complexas, trs desses abordados nesse trabalho. O mtodo de deteco
de comunidades desenvolvido por (Newman & Girvan, 2004) baseado no conceito de between-
ness de cada aresta (quantidade total de menores caminhos que passam pela determinada aresta)
da rede. A cada passo, a aresta de maior betweenness removida, dividindo a rede em comuni-
dades. O segundo mtodo de identificao de comunidades baseado no conceito de movimento
browniano para calcular a distncia entre os ns da rede. A partir da distncia calculado um
ndice de dissimilaridade entre os ns, usado na diviso da rede. Esse mtodo foi desenvolvido por
(Zhou, 2003b) e estendido posteriormente em (Zhou, 2003a). O terceiro mtodo foi desenvolvido
por (Newman, 2004b) e sugere um algoritmo que otimize o valor da modularidade, medida usada
para qualificar determinada partio da rede em comunidades.
4 1.1. MOTIVAO

Outra rea de pesquisa discutida insipira-se em modelos biolgicos para resolver problemas
de otimizao. Tcnicas inteligentes tm sido aplicadas com sucesso em problemas de biologia
molecular, computao e mecnica, e tm a vantagem de precisarem de pouca informao para
encontrar a soluo do problema. Colnia de formigas, inteligncia coletiva e aprendizado por
reforo so as tcnicas bioinspiradas abordadas nesse trabalho.
A tcnica de otimizao por nuvem de partculas, ou Particle Swarm Optimization - PSO, foi
desenvolvida por (Kennedy & Eberhart, 1995) e inspira-se no comportamento de um bando de
pssaros. Em linhas gerais, o PSO formado por uma populao de partculas que exploram o
espao de busca de maneira inicialmente aleatria. medida que algumas partculas encontram
uma parte do espao de busca mais promissora, so seguidas pelas demais partculas que ajudam
na explorao do espao. Entretanto, as partculas ainda tm a possibilidade de explorar novas
regies e encontrar solues melhores para o problema.

1.1 Motivao
A quantidade de algoritmos de clusterizao grande, mas muitos apresentam dificuldades
em alguns aspectos. Por isso acredita-se existir um campo frtil para explorao de novas tcnicas
capazes de suprir e/ou amenizar as dificuldades encontradas em outros algoritmos de clusterizao.
O processo utilizado por algoritmos de clusterizao baseados em grafos consiste em repre-
sentar um conjunto de dados em um grafo, e particion-lo em subgrafos, onde cada subgrafo
corresponde a um cluster. Para isso necessrio adotar uma medida de similaridade (distncia)
no processo de agrupamento, o que pode fazer com que o algoritmo apresente alguma dificuldade
em determinar clusters de formas variadas. Em outras palavras, algoritmos baseados em grafos,
como por exemplo Chameleon, no so completamente livre da medida de similaridade fsica na
fase de partio de grafos. Enquanto isso, algoritmos de deteco de comunidade como (Newman
& Girvan, 2004), no utilizam qualquer medida de distncia entre os dados de entrada, apenas a
medida topolgica do grafo. Por isso, acredita-se que a deteco de comunidades em redes que
modelam a similaridade (distncia) entre ns pode produzir bons resultados.
A teoria dos grafos considera principalmente grafos formados por poucos vrtices, alm de
buscar solues exatas para os problemas. Quando os grafos possuem um grande nmero de
vrtices, a busca por solues timas torna-se invivel. Por outro lado, a rea de redes complexas
trata redes grandes, que modelam sistemas reais formados por milhares de ns. Ela apresenta alta
robustez e eficincia ao abordar redes de larga escala porque no busca a soluo tima, e sim uma
soluo satisfatria. Esse trabalho considera os termos grafo e rede intercambiveis.
Outro aspecto interessante o fato de que o problema de identificao de comunidades pode
ser visto como um problema de otimizao, onde deve-se maximizar a quantidade de arestas entre
ns de uma mesma comunidade e minimizar arestas entre ns de comunidades diferentes. Tal
CAPTULO 1. INTRODUO 5

caracterstica permite a aplicao de tcnicas adaptativas baseadas em sistemas biolgicos para


detectar comunidades em redes.
Alm disso, um mesmo conjunto de dados pode apresentar mais de uma diviso relevante dos
dados, com diferentes graus de refinamento. Tcnicas de clusterizao que buscam uma nica par-
tio dos dados no conseguem identificar as demais parties relevantes. Na rea de bioinform-
tica, por exemplo, a identificao de subgrupos em um conjunto de dados uma tarefa importante,
auxiliando na descoberta de novos subgrupos de doenas. Assim, um algoritmo de clusterizao
capaz de detectar clusters com diferentes graus de refinamento torna-se muito importante nessa
rea.

1.2 Objetivos
O uso cada vez mais comum de grandes conjuntos de dados aliado possibilidade de melhoria
das tcnicas j existentes tornam a clusterizao de dados uma rea de pesquisa que permite ino-
vaes em diferentes campos. Como na clusterizao de dados os clusters no so conhecidos a
priori, a ocorrncia de grupos de formas arbitrrias possvel e sua deteco correta importante
para organizao e anlise desses dados. Assim, o estudo de suas caractersticas e a busca por
tcnicas mais robustas e eficientes para sua deteco representa um grande avano para a rea de
clusterizao de dados.
O objetivo desse trabalho desenvolver uma nova tcnica para clusterizao de dados buscando
diminuir ao mximo a dependncia de parmetros pr-definidos e possibilitar a deteco de clusters
de formas, densidades e tamanhos variados. A nova abordagem visa tambm a identificao de
clusters com diferentes graus de refinamento, oferencendo diferentes interpretaes vlidas do
conjunto de dados.
O novo mtodo de clusterizao ser baseado em grafos, modificando os seguintes aspectos:
obter novas formas de modelar o conjunto de dados em um grafo e representar a similaridade entre
os dados; particionar o grafo em clusters atravs de uma tcnica de identificao de comunidades
em redes complexas inspirada em modelos inteligentes.
A primeira etapa do algoritmo proposto consiste na modelagem dos dados em forma de um
grafo. No algoritmo Chameleon, a modelagem dos dados feita atravs do conceito de K-vizinhos
mais prximos (K-nearest neighbors - KNN), resultando em uma rede sem pesos. A modelagem
proposta incorpora rede as distncias entre os dados como peso nas arestas. Uma vantagem
obtida com essa modelagem que a similaridade entre os dados considerada em conjunto com a
distncia topolgica descrita pela rede. Outro aspecto interessante que a tcnica pode ser aplicada
tanto para redes com ou sem peso.
Na segunda etapa, o algoritmo ir particionar a rede modelada no passo anterior, identificando
hierarquicamente os clusters que compem o conjunto de dados. Nessa etapa, as reas de redes
complexas e computao bioinspirada so unidas, atravs de uma tcnica inspirada biologicamente
6 1.3. ESTRUTURA DO DOCUMENTO

para detectar as comunidades existentes na rede. Cada n da rede possui um ngulo inicial e,
como na tcnica de nuvem de partculas, atravs da interao entre os ns da rede os clusters so
identificados. Assim, os ns agem como se fossem partculas, e se auto-organizam para formao
do padro desejado. Os clusters so identificados de acordo com o agrupamento dos ns com
ngulos similares.
A identificao de clusters com diferentes graus de refinamento ocorre atravs da variao de
um parmetro durante a etapa de particionamento da rede. Esse parmetro responsvel por
definir a importncia que cada vizinho ter na atualizao do ngulo de um n, de acordo com
distncia (dissimilaridade) entre eles, como ser descrito nos captulos a seguir.
Resumidamente, a abordagem proposta procura satisfazer duas caractersticas interessantes a
algoritmos de clusterizao: a deteco de clusters com diferentes formas, tamanhos e densidades,
e a identificao de clusters com diferentes graus de refinamento, em um mesmo conjunto de
dados. Os experimentos realizados com dados reais e artificiais, buscam comprovar a eficincia do
algoritmo na clusterizao de dados com clusters arbitrrios e/ou parties com diferentes nveis
de refinamento.

1.3 Estrutura do documento


No Captulo 2 so apresentados os conceitos e tcnicas de clusterizao de dados, bem como os
fatores que influenciam na eficcia da clusterizao dos dados. No Captulo 3 definido o conceito
de redes complexas e so expostas algumas recentes tcnicas para deteco de comunidades em
tais redes. No Captulo 4 so descritas algumas tcnicas de otimizao baseadas em sistemas
biolgicos. No Captulo 5 a abordagem proposta para clusterizao de dados apresentada. Os
resultados dos experimentos so apresentados no Captulo 6, mostrando a capacidade do algoritmo
proposto em atingir os requisitos estabelecidos. No Captulo 7 so apresentadas as concluses
obtidas com a realizao desse trabalho, os principais resultados alcanados, alm de possveis
trabalhos futuros.
C APTULO

2
Clusterizao de dados

Clusterizao a diviso de dados, com base na similaridade entre eles, em grupos disjuntos
chamados clusters. Isso significa que dados em um mesmo cluster so mais similares do que
dados pertencentes a clusters diferentes. O ato de agrupar os dados representa uma ferramenta
importante no aprendizado e compreenso a respeito dos mesmos. Pode ser definido tambm como
um problema de aprendizado no-supervisionado, j que a estrutura dos dados e as propriedades
que os tornam similares so desconhecidas. Como no existem rtulos iniciais, o objetivo da
clusterizao encontrar uma organizao vlida e conveniente dos dados, ao invs de separ-los
em categorias como acontece no reconhecimento de padres e na classificao de dados (Jain &
Dubes, 1988).
A seguir so definidos alguns termos de uso recorrente durante o captulo:

Conjunto de dados X = {x1 , x2 , . . . , xn } onde n o nmero de elementos;

Um dado xi formado por um vetor de d atributos ou caractersticas: xi = (xi1 , xi2 , . . . , xid ).


A representao do dado com d atributos feita em um espao d-dimensional;

Os dados so armazenados em uma matriz de dados n d;

Medida de similaridade usada para quantificar a semelhana entre dados ou clusters;

Matriz de similaridade uma matriz n n que indica a semelhana entre dados. Analoga-
mente, a matriz de dissimilaridade indica a diferena entre os dados.

P = hC1 , C2 , . . . , CK i indica uma partio do conjunto de dados em K clusters.

7
8 2.1. ETAPAS DO PROCESSO DE CLUSTERIZAO

2.1 Etapas do processo de clusterizao


Diversos fatores devem ser levados em considerao para assegurar a eficincia da clusteriza-
o: coleta dos dados, seleo das variveis, medidas de similaridade, algoritmo de clusterizao,
validao e anlise dos resultados obtidos (Jain et al., 1999), como mostra a Figura 2.1.

Figura 2.1: Etapas do processo de clusterizao

A seguir so apresentadas as etapas que compem o processo de clusterizao:

1. Pr-processamento e seleo de variveis


Etapa em que so identificadas as variveis, ou atributos, mais relevantes do conjunto de
dados inicial. Nessa etapa algumas variveis podem ser eliminadas (por exemplo, quando
todos os valores da varivel so iguais) e os dados coletados so formatados de modo que
o algoritmo de clusterizao possa process-los. Em um conjunto formado por n dados, o
resultado uma matriz n d, onde d o nmero de atributos. Assim um dado corresponde
a um ponto no espao d-dimensional, e a tarefa de clusterizao consiste em identificar
conjuntos de dados prximos nesse espao d-dimensional (Jain & Dubes, 1988).

2. Medidas de similaridade
Para que a proximidade de dois dados, possa ser quantificada, necessrio adotar alguma
medida de similaridade entre eles. Existem diversas maneiras de quantificar a similaridade,
ou dissimilaridade, entre pares de dados e a escolha da medida de similaridade adequada
fundamental para a clusterizao dos dados. Normalmente as medidas utilizadas represen-
tam a dissimilaridade entre dados. A maneira mais comum de calcular a dissimilaridade
atravs da distncia Euclidiana, medida que ser discutida juntamente com outros tipos de
medidas de similaridade/dissimilaridade na Seo 2.2.

3. Algoritmos de clusterizao
Nessa etapa define-se o modo de agrupamento dos dados, que pode ser realizado de diferen-
tes maneiras. Os algoritmos de clusterizao so classificados de acordo com as diferentes
tcnicas que empregam no agrupamento dos dados. Dentre esses algoritmos destacam-se
os algoritmos de clusterizao hierrquica e os algoritmos por particionamento, que sero
discutidos na Seo 2.3. O resultado dessa etapa a diviso do conjunto de dados inicial em
clusters. Este trabalho focaliza esta etapa.
CAPTULO 2. CLUSTERIZAO DE DADOS 9

4. Validao e anlise dos resultados


Nessa etapa a qualidade dos clusters encontrados avaliada, j que so desconhecidos inici-
almente. Essa validao pode ser feita com base em ndices estatsticos ou atravs da com-
parao com outros algoritmos. Alm disso, a anlise dos resultados pode levar redefinio
dos atributos escolhidos e/ou da medida de similaridade, definidos nas etapas anteriores. Os
critrios adotados para validao dos resultados so descritos na Seo 2.4.

2.2 Medidas de similaridade


Muitos mtodos de clusterizao utilizam como ponto de partida uma matriz que reflete de
maneira quantitativa a proximidade entre os elementos de um conjunto de dados. Essa proximidade
pode representar a dissimilaridade, distncia ou similaridade entre dois elementos. Quanto maior a
similaridade, ou menor a dissimilaridade ou distncia, entre dois elementos, mais prximos esses
elementos encontram-se (Everitt et al., 2001). Essa matriz recebe o nome de matriz de similaridade
ou matriz de proximidade.
As medidas de similaridade variam de acordo com a representao e escala dos atributos dos
dados. Um atributo pode ter representao binria, discreta ou contnua. A escala indica o grau
de importncia de um atributo em relao aos demais. Por exemplo, um atributo pode indicar a
porcentagem de aceitao de um produto no mercado (onde o valor do atributo varia de 0 a 100)
ou indicar a distncia entre duas cidades (onde o valor absoluto do atributo relevante). Outros
tipos de escalas so detalhados em (Jain & Dubes, 1988).
A matriz de similaridade relaciona a proximidade entre dados do conjunto inicial. Entretanto,
alguns algoritmos utilizam a unio entre clusters, sendo necessrio alguma forma para calcular a
similaridade entre os clusters. Medidas para clculo da similaridade entre dois dados e entre dois
clusters so descritas a seguir.

2.2.1 Similaridade entre dados


A proximidade entre dois dados xi e xj denotada por d(xi , xj ). Uma maneira de medir a
similaridade entre atributos contnuos atravs do clculo da distncia entre eles. Para que a
distncia seja considerada uma mtrica deve satisfazer as seguintes condies:

d(xi , xj ) 0

d(xi , xj ) = 0, se e somente se xi = xj

d(xi , xj ) = d(xj , xi )

d(xi , xl ) d(xi , xj ) + d(xj ,l )


10 2.2. MEDIDAS DE SIMILARIDADE

onde xi , xj , xl X.
A distncia mais utilizada no clculo da similaridade entre dois dados a distncia de Min-
kowski. calculada pela Equao 2.1, onde d o nmero de atributos do dado.
v
u d
uX
p
d(xi , xj ) = t (|xik xjk |)p , p 1 (2.1)
k=1

Quando p = 2 calculada a distncia euclidiana, representada na Equao 2.3. a mtrica


mais utilizada quando os atributos possuem valores contnuos para avaliar a proximidade de dados
representados em duas ou trs dimenses. A variao do parmetro p define distncias diferentes.
As trs variaes mais comuns da distncia de Minkowski so calculadas pelas Equaes 2.2, 2.3
e 2.4 (Jain & Dubes, 1988) e ilustradas na Figura 2.2.

Distncia de Manhattan, p = 1

d
X
d(xi , xj ) = (|xik xjk |) (2.2)
k=1

Distncia Euclidiana, p = 2
v
u d
uX
d(xi , xj ) = t (|xik xjk |)2 (2.3)
k=1

Distncia "sup", p

d(xi , xj ) = max |xik xjk | (2.4)


1kd

Figura 2.2: Ilustrao do clculo da distncia de Minkowski (Jain & Dubes, 1988)
O clculo das distncias de acordo com as trs variaes da distncia de Minkowski no exem-
plo da Figura 2.2 dado pela Tabela 2.2.1.
CAPTULO 2. CLUSTERIZAO DE DADOS 11

Distancia Euclidiana: 42 + 22 = 4.472
Distancia de Manhattan: 4+2=6
Distancia "sup": max {4, 2} = 4

Tabela 2.1: Clculo das distncias de acordo com as trs variaes da distncia de Minkowski

Uma das desvantagens do uso da distncia euclidiana a possibilidade da dominncia de um


atributo sobre os demais. Uma das solues para o problema consiste na normalizao dos valores
dos atributos de acordo com a sua varincia e mdia. Entretanto a perda do valor absoluto pode
no ser desejado em algumas aplicaes.

2.2.2 Similaridade entre clusters


As medidas de similaridade descritas at o momento focalizam a proximidade entre dois dados
e no entre grupos de dados. Entretanto em alguns algoritmos de clusterizao necessrio unir
dois clusters similares. Uma maneira de medir essa similaridade calcular a distncia entre todos
os pares de pontos dos dois clusters, onde cada ponto pertence a um cluster diferente. Podem ser
escolhidas a distncia mnima entre todos os pares de dados (distncia do vizinho mais prximo),
a distncia mxima (distncia do vizinho mais distante) ou a mdia das distncias entre os pares
de dados (distncia mdia) (Everitt et al., 2001).
O uso da proximidade como medida de similaridade entre clusters pode levar algoritmos a
unirem clusters de maneira errada. Um exemplo dado pela Figura 2.3. Considerando que seja
usada a distncia do vizinho mais prximo para medir a similaridade entre os clusters, sejam d1
a distncia entre os clusters da Figura 2.3(a) e d2 a distncia entre os clusters da Figura 2.3(b).
Como a distncia d1 entre os elementos dos clusters da Figura 2.3(a) pequena, a tendncia
que o algoritmo una os dois clusters. J os elementos dos clusters em Figura 2.3(b) possuem uma
distncia maior e provavelmente no seriam escolhidos pelo algoritmo para unio.

Figura 2.3: Em um algoritmo que leva em conta apenas a proximidade entre elementos dos dois
clusters, os clusters em (a) seriam unidos por estarem mais prximos em detrimento dos clusters
em (b).
12 2.3. TCNICAS DE CLUSTERIZAO DE DADOS

Outra maneira de medir a similaridade entre os clusters o clculo da interconectividade (agre-


gao de similaridades) entre dois clusters. Nesse caso, dois dados xi e xj possuem uma conexo
caso a similaridade entre eles exceda algum limite (essa similaridade entre dados pode ser obtida
pelas medidas discutidas na Seo 2.2.1). A similaridade entre clusters dada pela soma das co-
nexes entre pares de dados, um dado de cada cluster. A idia que sub-clusters pertencentes a
um mesmo cluster tenham alta interconectividade. Em geral, a interconectividade entre pares de
clusters formados por muitos elementos alta; por isso muitos algoritmos normalizam a similari-
dade entre clusters em relao a interconectividade entre os elementos de cada cluster (Karypis et
al., 1999).
Um problema de algoritmos que utilizam apenas a interconectividade como medida de simi-
laridade entre clusters exemplificado na Figura 2.4. Supondo que a interconectividade entre os
elementos dos clusters verde e azul seja maior que a interconectividade entre os elementos do
cluster azul e vermelho, os clusters verde e azul seriam unidos de forma equivocada.

Figura 2.4: Em um algoritmo que leva em conta apenas a interconectividade entre elementos dos
dois clusters, os clusters verde e azul seriam unidos e no os clusters azul e vermelho.

2.3 Tcnicas de clusterizao de dados


Na Seo 2.2 foram relacionadas algumas medidas para quantificar a similaridade entre da-
dos. A matriz de similaridade que representa essa proximidade a entrada para os algoritmos
de clusterizao. Os algoritmos utilizados na clusterizao de dados podem ser classificados, por
exemplo, de acordo com a abordagem utilizada na definio dos clusters: particionamento, redes
auto-organizveis, baseado em densidade, hierrquico e baseado em grafos. As caractersticas
desses algoritmos so detalhadas nas subsees a seguir.

2.3.1 Algoritmos de clusterizao por particionamento


Na clusterizao por particionamento o conjunto de dados dividido em um nmero deter-
minado de clusters uma nica vez. Outra alternativa a dividir os dados gradualmente obtendo
diversas parties dos dados; nesse caso a clusterizao hierrquica (descrita na Seo 2.3.4). O
CAPTULO 2. CLUSTERIZAO DE DADOS 13

fato de gerar a partio uma nica vez passa a ser uma vantagem quando a quantidade de dados
muito grande e a construo e armazenamento de todas as possibilidades de diviso resultantes
da clusterizao hierrquica tornam-se muito custosas. Essas restries podem fazer com que a
clusterizao por particionamento seja ideal para alguns conjuntos de dados.
O problema de clusterizao por particionamento pode ser definido formalmente como: Dado
um conjunto de n dados caracterizados por d atributos cada, determine uma partio do conjunto
inicial em K clusters. A escolha do valor de K depende do problema abordado e pode interferir
na eficincia do algoritmo. O objetivo maximizar a similaridade entre elementos de um mesmo
cluster e minimizar a similaridade entre elementos de clusters diferentes, o que pode ser obtido
com a otimizao de uma funo objetivo. A funo objetivo pode expressar critrios diferentes
a serem otimizados: um critrio local forma os clusters a partir de informaes estruturais dos
dados, como por exemplo atribuir um dado e seus k vizinhos mais prximos a um mesmo cluster;
um critrio global usa um elemento do conjunto de dados como representante de cada cluster e
classifica os demais dados com base em sua similaridade com o dado representante (Jain & Dubes,
1988). O uso de um critrio global reduz o custo computacional da utilizao de todos os dados
no clculo da distncia entre os clusters.
Uma soluo intuitiva para o problema a listar todas as possveis parties e escolher como
resposta a partio que otimiza a funo objetivo. Entretanto a gerao de todas as possveis
combinaes de K clusters computacionalmente invivel. Uma soluo seria reduzir o espao de
busca, eliminando parties que no sejam interessantes. Outra alternativa dividir inicialmente os
dados em K clusters e mov-los entre os clusters otimizando a funo objetivo, como o algoritmo
K-Mdias apresentado a seguir.

Algoritmo K-Mdias

O K-Mdias um dos algoritmos por paticionamento mais famosos, em que os dados so


particionados em K clusters, onde K definido previamente. Cada cluster representado por
um dado, chamado de centro do cluster. A funo objetivo a ser minimizada pelo algoritmo a
funo de erro quadrtico, definida pela Equao 2.5, onde ck o centro do cluster k. A funo
de erro quadrtico busca minimizar a variao entre os dados em relao ao centro de cada cluster
e eficiente principalmente quando os clusters esto isolados (Jain et al., 1999). Os passos do
algoritmo so descritos a seguir.

K X
X
E2 = (xi ck )T (xi ck ), xi Ck (2.5)
k=1

1. Escolha a partio inicial formada por K clusters.


A escolha da partio inicial envolve a definio de dois parmetros: nmero de clusters, K,
e centros iniciais, representado por c(t) = {c1 (t), c2 (t), . . . , cK (t)} onde t = 0 representa a
primeira iterao do algoritmo. Para determinar K, essencial o conhecimento a respeito
14 2.3. TCNICAS DE CLUSTERIZAO DE DADOS

dos dados do problema. Estudos que buscam facilitar a escolha do nmero de clusters podem
ser encontrados em (Everitt et al., 2001). Outro parmetro que deve ser escolhido inicial-
mente so os centros de cada cluster. Os centros podem ser escolhidos de maneira aleatria
dentre os elementos do conjunto de dados inicial. A escolha errada da partio inicial pode
levar o algoritmo a convergir para um mnimo local (Jain & Dubes, 1988). Como trata-se de
um algoritmo rpido, O(n) (Jain et al., 1999), a sada geralmente execut-lo vrias vezes
com diferentes nmeros para K e diferentes centros de clusters iniciais, e utilizar a melhor
partio obtida.

2. Gere uma nova partio atribuindo cada dado ao cluster com o qual possui a maior seme-
lhana.
A semelhana entre um dado e um cluster calculada atravs da distncia entre os dois:
kxi cj k, onde i = {1, . . . , n} e j = {1, . . . , K}. O dado adicionado ao cluster com o
qual tiver a menor distncia. Ao fim desse passo, os n objetos esto distribudos entre os K
clusters.

3. Atualize os centros dos K clusters.


Os K centros so recalculados para representarem adequadamente cada cluster, de acordo
com a Equao 2.6, onde ck corresponde ao centro do cluster, nk o nmero de elementos
do cluster e xi so os elementos do cluster k.

nk
1 X
ck (t + 1) = xi (2.6)
nk i=1

Com a atualizao dos centros dos clusters, busca-se minimizar o ndice da Equao 2.7:

X
Jk = kxi ck (t + 1)k2 , k = 1, 2, . . . , K (2.7)
xCk

4. Volte ao Passo 2 at a convergncia.


O critrio ideal de trmino do algoritmo seria quando a funo objetivo no pudesse mais
ser otimizada. Entretanto, no h garantias de que o resultado alcanado pelo K-Mdias
seja timo. Geralmente o critrio de trmino utilizado quando os centros dos K clusters
permanecem inalterados, ou seja, ci (t + 1) = ci (t), para i = 1, 2, . . . , K.

2.3.2 Redes Auto-Organizveis - SOM


A aplicao mais comum de redes neurais feita na classificao de dados, onde dados so
separados em grupos previamente conhecidos. Entretanto, um tipo particular de rede neural, a
rede auto-organizvel, ou SOM (Self Organizing Maps), desenvolvida por (Kohonen, 1982) pode
separar dados em grupos desconhecidos inicialmente, atravs do aprendizado no-supervisionado
(Everitt et al., 2001).
CAPTULO 2. CLUSTERIZAO DE DADOS 15

Em linhas gerais, as redes auto-organizveis so formadas por um conjunto de neurnios, onde


cada dado tem seus atributos conectados a todos os neurnios da rede. A essa ligao entre neur-
nio e atributo dado um peso inicialmente aleatrio. O aprendizado ocorre medida em que os
dados so apresentados rede, e o neurnio, ou grupo de neurnios, com conjunto de pesos mais
prximo do dado escolhido para represent-lo. O neurnio vencedor tem seus pesos alterados a
fim de representar melhor o dado atribudo a ele. Assim cada neurnio, ou grupo de neurnios,
torna-se especialista na identificao dos atributos.
Entre as vantagens do uso de redes auto-organizveis na clusterizao de dados a possibi-
lidade de representao de um conjunto de dados com muitos atributos em um mapa de baixa
dimenso, alm do fato de clusters similares estarem prximos um do outro no mapa (Jiang et al.,
2004). Entre as desvantagens est o fato de poder representar apenas clusters de formas esfricas.

2.3.3 Algoritmos de clusterizao por densidade


Conforme descrito no incio do captulo, um dado com d atributos pode ser representado como
um ponto em um espao d-dimensional e os clusters correspondem a sub-conjuntos de dados que
estejam prximos. Dessa forma, os clusters localizam-se em regies de maior densidade no espao
de mtricas e so separados por regies de baixa densidade. Os mtodos de clusterizao por
densidade utilizam critrio de clusterizao local, por considerarem a densidade de ligaes entre
os dados. A possibilidade de encontrar clusters de formas arbitrrias e o fato de no precisar
da definio do nmero de clusters (Yip et al., 2006) como parmetro inicial so as principais
vantagens dos mtodos baseados em densidade. Entretanto, alguns algoritmos podem exigir a
definio de outros parmetros, como o caso do algoritmo DBSCAN (Ester et al., 1996) descrito a
seguir.

DBSCAN - A Density Based Spatial Clustering of Applications with Noise

Assim como existem diferentes medidas de similaridade, exitem tambm diferentes maneiras
de identificar reas de densidade. O algoritmo DBSCAN utiliza uma abordagem baseada em cen-
tro. A idia que cada dado de um cluster tenha uma vizinhana de um determinado raio que
contenha um nmero mnimo de pontos. Sendo Eps o raio mximo da vizinhana formada por
um nmero mnimo de pontos denotados por MinPts, a vizinhana de um dado xi definida por
NEps (xi ) = {xj X|d(xi , xj ) Eps}. O formato da vizinhana varia de acordo com a medida
de distncia d(xi , xj ) escolhida (Ester et al., 1996).
Aps a identificao das regies densas, os pontos podem ser classificados de acordo com sua
posio em relao mesma:

xi um ponto central se |NEps (xi )| M inP ts

xi um ponto perifrico se pertence vizinhana de um ponto central xj , ou seja, xi


NEps (xj )
16 2.3. TCNICAS DE CLUSTERIZAO DE DADOS

Se xi no se encaixar nos dois casos anteriores, considerado ponto ruidoso

O algoritmo recebe como entrada o tamanho da vizinhana Eps, o nmero mnimo de pontos
de uma vizinhana MinPts e um conjunto de dados X. Um cluster formado por um conjunto
de pontos densamente conectados. Se dois pontos centrais so prximos (a distncia entre eles
menor que Eps), eles so colocados no mesmo cluster. Os pontos perifricos so colocados no
mesmo cluster que os pontos centrais e pontos ruidosos so descartados da classificao, por no
pertencerem a cluster nenhum. Maiores detalhes sobre o algoritmo e heursticas para determinar
os parmetros Eps e MinPts podem ser obtidos em (Ester et al., 1996).

2.3.4 Algoritmos de clusterizao hierrquica


Nessa abordagem so produzidas diversas parties do conjunto de dados com base na jun-
o ou diviso dos clusters de acordo com a medida de similaridade. De acordo com o modo de
produo das parties, os mtodos de clusterizao hierrquicos podem ser classificados como
aglomerativos ou divisivos. Nos algoritmos aglomerativos a primeira partio formada por n
clusters que so unidos at a formao de uma nica partio com n elementos. J nos algorit-
mos divisivos, a primeira partio formada por todos os n elementos do conjunto de dados, que
dividida sucessivamente at a ltima partio formada por n clusters com um elemento. Em-
bora a clusterizao hierrquica seja composta por uma srie de passos, sua execuo pode ser
interrompida a qualquer momento. Um exemplo de critrio de parada quando a partio atual
considerada relevante de acordo com alguma medida de qualidade (Schaeffer, 2007).
O resultado da clusterizao hierrquica pode ser visualizado atravs de um dendrograma. O
dendrograma representa de maneira grfica o processo de clusterizao, ilustrando as sucessivas
unies ou divises dos dados em clusters, como mostra a Figura 2.5. O dendrograma uma rvore,
onde as folhas representam os clusters formados por apenas um elemento. A medida que a altura
da rvore cresce, os dados juntam-se para formar clusters maiores, at que todos faam parte de um
mesmo cluster. Algumas tcnicas para comparao entre dendrogramas so discutidas em (Everitt
et al., 2001).

Figura 2.5: Sada gerada por algoritmo de clusterizao hierrquica


CAPTULO 2. CLUSTERIZAO DE DADOS 17

Como consequncia da maneira como os clusters so formados, o dendrograma pode ser cons-
trudo a partir da raiz em direo s folhas (estratgia top-down) se for utilizado um mtodo di-
visivo, ou a partir das folhas em direo raiz (estratgia bottom-up) se for utilizado o mtodo
aglomerativo. Essa diferena exemplificada na Figura 2.6.

Figura 2.6: Construo do dendrograma nos algoritmos de clusterizao hierrquica

As tcnicas e caractersticas dos mtodos de clusterizao hierrquicos so apresentadas em


funo dos mtodos aglomerativos, por serem estes mais utilizados (Everitt et al., 2001). As tcni-
cas utilizadas pelos mtodos divisivos na diviso dos clusters podem ser encontradas tambm em
(Everitt et al., 2001).
Existem diferentes mtodos aglomerativos, mas todos seguem a mesma idia: a primeira parti-
o formada por n clusters, cada um com um elemento do conjunto de dados, e a ltima partio
possui um nico cluster composto pelos n dados. A diferena entre os mtodos est na escolha da
medida de similaridade utilizada, j que a cada passo so unidos os dois clusters mais similares.
As medidas de similaridade entre clusters podem basear-se na matriz de similaridade ou na
matriz de dados. Os trs primeiros algoritmos descritos a seguir utilizam a matriz de similaridade
no clculo da distncia inter-cluster, enquanto o ltimo utiliza o conjunto de dados.

Single Linkage: tambm chamado de nearest neighbor, une clusters com a distncia mnima
entre pares de dados de clusters diferentes.

Complete Linkage: tambm chamado de furthest neighbor, utiliza medida de distncia


oposta ao Single Linkage, utilizando a distncia entre os pares de indivduos mais distantes.

Group Average Linkage: a distncia entre os dois clusters a mdia da distncia entre
todos os pares formados por elementos de clusters diferentes.

Centroid Clustering: para cada cluster calculado um centro de cluster ck , e so unidos os


dois clusters com a menor distncia entre centros, dentre todos os pares de clusters.
18 2.3. TCNICAS DE CLUSTERIZAO DE DADOS

Apesar de encontrar clusters de diferentes formas e tamanhos (Karypis et al., 1999), os mtodos
aglomerativos possuem algumas desvantagens. Por exemplo, o mtodo Single Linkage falha na
deteco correta de clusters caso exista um dado que conecte dois clusters diferentes, levando
unio dos clusters. Esse problema chamado de chainning effect (Everitt et al., 2001). Alm disso,
como os mtodos hierrquicos utilizam uma abordagem gulosa, a m escolha de unir ou dividir
clusters no pode ser corrigida nos passos seguintes.

2.3.5 Algoritmos de clusterizao baseados em grafo


Os algoritmos de clusterizao baseados em grafos so fortemente relacionados com os algo-
ritmos por particionamento e hierrquicos, descritos nas Sees 2.3.1 e 2.3.4 respectivamente. Isso
significa que o resultado obtido pode ser uma partio ou uma hierarquia de parties. Os algo-
ritmos de clusterizao baseados em grafo representam os dados e sua proximidade atravs de um
grafo G(V, E), onde V = {v1 , ..., vn } o conjunto de vrtices e E o conjunto de arestas. Cada
vrtice representa um elemento do conjunto de dados e a existncia de uma aresta conectando dois
vrtices feita com base na proximidade entre os dois dados. A maneira mais simples de estabele-
cer as ligaes entre os vrtices conectar cada vrtice aos (n 1) vrtices restantes, onde o peso
indica a similaridade entre os dois dados. Nessa classe de algoritmos de clusterizao, um cluster
definido como um subgrafo do grafo inicial. O trabalho de (Schaeffer, 2007) oferece uma boa
reviso sobre diferentes mtodos de clusterizao baseados em grafos.
O algoritmo hierrquico Single Linkage, apresentado na Seo 2.3.4, pode ser reformulado de
acordo com o conceito de rvore geradora. A rvore geradora de G corresponde ao subgrafo,
conexo e acclico, formado por todos os vrtices de G. Se existem pesos nas arestas, a rvore
geradora de menor peso total chamada rvore geradora mnima e denotada por AGM = (V, E 0 ).
importante notar que possvel obter diferentes rvores geradores mnimas a partir de um mesmo
grafo G. A rvore geradora mnima pode ser usada na clusterizao de dados usando a abordagem
aglomerativa ou divisiva. Na verso hierrquica aglomerativa, cada vrtice corresponde a um
cluster. A cada iterao, dois subgrafos conectados pela aresta e E 0 de menor valor so unidos.
Aps essa unio, a aresta e tem seu peso redefinido como um peso superior maior similaridade
entre dois dados de G, evitando que a aresta seja novamente escolhida nas prximas iteraes. J na
verso divisiva, as arestas de AGM so descartadas em ordem decrescente de peso. A cada passo,
os subgrafos conexos resultantes correspondem aos clusters, at que cada cluster seja formado por
um nico vrtice.
J o algoritmo de clusterizao hierrquico Complete Linkage est relacionado ao conceito de
colorao de vrtices. O objetivo da colorao de vrtices atribuir uma cor a cada vrtice do
grafo, de modo que dois vrtices conectados por uma aresta no possuam a mesma cor, e usando
o menor nmero de cores possvel. Entretanto a relao entre Complete Linkage e colorao de
vrtices no to direta quanto a relao entre o algoritmo Single Linkage e a rvore geradora
mnima. Maiores detalhes podem ser obtidos em (Jain & Dubes, 1988).
CAPTULO 2. CLUSTERIZAO DE DADOS 19

Cortes

A teoria dos grafos oferece uma maneira de lidar com a diviso de vrtices em grupos distintos.
O particionamento de grafos consiste em dividir o conjunto de vrtices V em dois subconjuntos
S e V \ S. Essa diviso chamada de corte. A busca pelo corte mnimo em um grafo depende
da escolha da funo a ser minimizada. A maneira mais simples de calcular o tamanho do corte
atravs do nmero de arestas que conectam vrtices de subconjunos diferentes, no caso de grafos
simples (arestas sem peso). Se as arestas apresentarem peso, o tamanho do corte dado pela
soma dos pesos das arestas que conectam vrtices de subconjuntos diferentes. Entretanto, essa
abordagem favorece cortes que apresentem vrtices isolados. Uma alternativa usar a verso
normalizada do corte mnimo balanceando a cardinalidade dos conjuntos S e V \ S, descrita em
(Filippone et al., 2008).
O objetivo de um algoritmo de clusterizao baseado em cortes dividir os subconjuntos suces-
sivamente at que o nmero de clusters desejado seja atingido. A soluo para esse problema no
facilmente encontrada, por tratar-se de um problema NP-completo (problemas em que solues
em tempo polinomial so desconhecidas), embora diversas heursticas tenham sido desenvolvidas
(Newman, 2004a). A teoria espectral de grafos oferece uma alternativa para o clculo do corte de
um grafo.

Clusterizao espectral

A classe de mtodos de clusterizao espectral baseada na teoria espectral de grafos (Chung,


1997). Um exemplo o mtodo de bisseo espectral (Newman, 2004a), onde o problema de corte
mnimo em um grafo abordado atravs da teoria espectral de grafos. O mtodo baseado nos
autovetores da matriz Laplaciana de um grafo. A matriz Laplaciana de um grafo G uma matriz
L simtrica n n, com os elementos definidos de acordo com a Equao 2.8, onde ki o grau do
vrtice vi .


1, se i 6= j e vi vizinho de vj
Lij = ki , se i = j (2.8)

0, caso contrrio

Na matriz Laplaciana a soma de todas as linhas e colunas igual a zero. O prximo passo
calcular os autovalores da matriz Laplaciana L. O segundo menor autovalor 2 indica uma medida
de qualidade do corte e chamado de conectividade algbrica do grafo. Menores valores para
2 correspondem a melhores cortes. O autovetor u2 associado a 2 pode ser utilizado para dividir
cada vrtice vi V em dois subconjuntos, da seguinte maneira:
(
vi G1 , se u2 (vi ) < 0
vi G2 , caso contrrio
20 2.3. TCNICAS DE CLUSTERIZAO DE DADOS

A principal desvantagem do algoritmo de bisseo espectral que divide os vrtices em apenas


dois grupos. A diviso em mais grupos feita atravs da aplicao recursiva da bisseo, embora
no garantido que essa abordagem resulte em boas parties.

Chameleon: Clusterizao hierrquica dinmica

O algoritmo Chameleon foi desenvolvido por (Karypis et al., 1999) e a similaridade entre clus-
ters medida com base em um modelo dinmico. Chameleon une duas medidas de similaridade
entre clusters: interconectividade e proximidade. Essas medidas j foram discutidas na Seo
2.2.2, bem como suas desvantagens quando usadas como nica medida de similaridade. Alm
disso, Chameleon inova no clculo da interconectividade e proximidade incorporando caractersti-
cas prprias de cada cluster, fator que torna o modelo dinmico.
Chameleon modela os dados em um grafo esparso, onde os ns representam os dados e as
arestas a similaridade entre eles. O algoritmo formado por duas fases: na primeira, utilizado
um algoritmo de particionamento de grafos para dividir o grafo inicial em pequenos sub-clusters;
na segunda fase, os sub-clusters so combinados de forma a encontrar os clusters reais. Uma viso
geral do algoritmo fornecida pela Figura 2.7

Figura 2.7: Etapas do algoritmo Chameleon

A seguir descrito o funcionamento do algoritmo: a modelagem dos dados, as medidas de si-


milaridade usadas, o particionamento do grafo em sub-clusters e a combinao desses sub-clusters.

Modelagem dos dados


A partir da matriz de similaridade, os dados do conjunto so modelados em um grafo esparso,
estratgia adotada por muitos algoritmos de clusterizao hierrquica (Jain & Dubes, 1988).
O grafo formado pela abordagem k-vizinhos mais prximos: cada vrtice corresponde a
um dado e ligado aos seus k vizinhos mais similares. Em outras palavras, seja G = (V, E)
um grafo tal que V = X e E = {eij |j N Nk (i)}, onde N Nk (i) o conjunto dos k vizinhos
mais prximos de i. A Figura 2.8 ilustra alguns grafos formados a partir da utilizao dessa
tcnica.
CAPTULO 2. CLUSTERIZAO DE DADOS 21

Figura 2.8: Construo de grafos a partir dos k-vizinhos mais prximos: (a) dados originais,
(b)1-, (c)2-, (d)3-vizinhos mais prximos

Essa maneira de representao dos dados oferece duas vantagens principais: dados pouco
similares no so conectados e o grafo gerado esparso, resultando em eficincia computa-
cional.

Medida de similaridade
A similaridade entre clusters determinada de maneira dinmica pelo Chameleon, calcu-
lando as medidas de interconectividade relativa (RI) e proximidade relativa (RC). Dois clus-
ters so unidos caso apresentem alta interconectividade e seus elementos estejam prximos,
o que traduzido em altos valores de RI e RC.
Alguns algoritmos utilizam a interconectividade absoluta como medida de similaridade en-
tre clusters. A interconectividade absoluta entre dois clusters Ci e Cj calculada a partir
do conceito de aresta de corte 1 e definida como a soma do peso das arestas que ligam os
dois clusters EC(Ci , Cj ). A interconectividade absoluta ento normalizada em relao
interconectividade interna dos clusters Ci e Cj , obtida atravs da soma das arestas que
cruzam o corte-mnimo que divide o cluster em duas partes iguais (bisseo mnima). O
valor resultante dessa normalizao chamado de interconectividade relativa e dada pela
Equao 2.9

|EC(Ci , Cj )|
RI(Ci , Cj ) = |EC(Ci )|+|EC(Cj )|
(2.9)
2

O uso da interconectividade relativa permite que Chameleon possa adaptar-se a variadas


formas de clusters bem como variaes no grau de interconectividade dos clusters (Karypis
et al., 1999).
Alguns algoritmos de clusterizao hierrquica, como group-average linkage descrito na Se-
o 2.3.4 utilizam a proximidade absoluta para calcular a similaridade entre clusters. Exis-
tem diferentes maneiras de calcular a proximidade absoluta, como j foi dito na Seo 2.2.2.
1
conjunto de arestas cuja remoo torna o grafo desconexo (Cormen et al., 2001)
22 2.3. TCNICAS DE CLUSTERIZAO DE DADOS

Uma possibilidade calcular a distncia mnima dentre todos os pares de pontos formados
por elementos de clusters diferentes. Como essa abordagem pouco tolerante a rudos e ou-
tliers (Karypis et al., 1999), o Chameleon utiliza a mdia do peso das arestas que conectam
vrtices de um cluster Ci a um cluster Cj . Nesse caso, essa uma boa maneira de calcular a
similaridade entre os clusters, j que o grafo obtido atravs dos k-vizinhos mais prximos
e vrtices pouco similares no esto conectados.
Da mesma forma que foi feito com a interconectividade relativa, a proximidade absoluta
normalizada em relao a proximidade interna de cada cluster. A proximidade interna
obtida pela mdia do peso das arestas que cruzam a bisseo mnima dos elementos do
cluster. Assim a proximidade relativa entre um par de clusters dada pela Equao 2.10.

SEC(Ci , Cj )
RC(Ci , Cj ) = |Ci | |Cj |
(2.10)
|Ci |+|Cj |
SEC(Ci ) + |Ci |+|Cj |
SEC(Cj )

onde SEC(Ci ) e SEC(Cj ) correspondem proximidade interna de Ci e Cj , SEC(Ci , Cj )


a proximidade absoluta dos clusters, |Ci | e |Cj | so o nmero de dados em cada cluster.
Alm disso, a proximidade absoluta normalizada pela mdia ponderada da proximidade
relativa dos clusters. Assim, clusters com mais elementos so favorecidos, e a unio entre
clusters esparsos com clusters densos evitada (Karypis et al., 1999).

Primeira fase: Particionando o grafo


As medidas de similaridade citadas acima apresentam um bom resultado apenas quando
aplicada a clusters com um nmero razovel de elementos (Karypis et al., 1999). Isso por-
que o clculo da interconectividade relativa e proximidade relativa podem no apresentar
valores reais para clusters com poucos dados. Por isso, o grafo inicial deve ser dividido em
sub-clusters com um nmero razovel de elementos que permita a modelagem dinmica do
algoritmo.
Chameleon encontra os sub-clusters aplicando um algoritmo de particionamento de grafos,
que divide o grafo inicial em muitas parties de modo que a soma do peso das arestas
que ligam as parties (arestas de corte) seja minimizada. Encontrar um particionamento
de corte mnimo significa minimizar a similaridade entre os clusters, j que cada aresta do
grafo representa o grau de similaridade entre os dados. Idealmente, um dado deve ter maior
similaridade com dados de seu prprio cluster do que de outros clusters, o que atendido
pelo algoritmo de particionamento adotado.
Chameleon utiliza um particionamento de grafos multi-nvel para encontrar os sub-clusters
iniciais, cujo algoritmo faz parte do pacote hMetis (Karypis, 1998) e capaz de produzir
parties de alta qualidade para os mais diversos tipos de grafos (Karypis et al., 1999). A
Figura 2.9 ilustra a aplicao do algoritmo no particionamento do conjunto de dados em duas
parties.
CAPTULO 2. CLUSTERIZAO DE DADOS 23

Figura 2.9: Diviso em duas parties pelo algoritmo de particionamento de grafos multi-nvel.
Em (a) o algoritmo identifica regies esparsas; em (b) o algoritmo identifica a conexo entre os
clusters. (Karypis et al., 1999)

Os sub-clusters iniciais so obtidos a partir de um nico cluster formado por todos os dados.
Repetidamente o maior sub-cluster selecionado e hMetis usado na bisseo desse sub-
cluster. Esse processo chega ao fim quando o maior sub-cluster possui tamanho menor que
MinSize, parmetro definido inicialmente que regula a granularidade dos sub-clusters. O va-
lor de MinSize deve ser suficientemente grande para permitir o clculo da interconectividade
relativa e proximidade relativa, como j foi dito anteriormente.

Segunda fase: Unio dos sub-clusters


Aps a gerao dos sub-clusters pelo particionamento do grafo inicial, o prximo passo
a unio desses sub-clusters pelo algoritmo aglomerativo de clusterizao hierrquica. Cha-
meleon seleciona dois clusters para unio com base nas medidas de similaridade descritas
anteriormente: interconectividade relativa (RI) e proximidade relativa (RC). Para isso, duas
abordagens podem ser utilizadas: parmetros escolhidos pelo usurio ou otimizao de uma
funo pr-definida.
Quando a abordagem adotada envolve parmetros definidos pelo usurio, dois clusters so
unidos apenas quando RI e RC excedem algum valor especfico, TRI e TRC respectivamente.
Assim, para cada cluster Ci , o algoritmo verifica se algum cluster Cj adjacente obedece
restrio dada pela Equao 2.11. Se mais de um cluster obedecer a essa restrio, Ci
unido ao cluster com o qual possui maior interconectividade absoluta, ou seja, o cluster com
o qual Ci mais conectado.

RI(Ci , Cj ) TRI e RC(Ci , Cj ) TRC (2.11)

Dependendo da escolha de TRI e TRC , pode acontecer que em determinado momento ne-
nhum cluster satisfaa a condio imposta pela Equao 2.11. Quando isso acontecer, o
24 2.4. VALIDAO

algoritmo pode ser finalizado e gerar a soluo ou os parmetros TRI e TRC podem ser vari-
ados a diferentes taxas, at que algum par de clusters atenda as condies.
A segunda abordagem envolve a escolha de uma funo que combine a interconectividade
relativa e a proximidade relativa. O algoritmo seleciona para unio o par de clusters que
maximize essa funo. Como o objetivo unir clusters com altos valores de RI e RC, a
funo escolhida pode calcular o produto entre interconectividade relativa e proximidade
relativa. A Equao 2.12 mostra essa funo, onde pode-se dar maior importncia a uma das
duas medidas atravs do parmetro .

RI(Ci , Cj ) [RC(Ci , Cj )] (2.12)

Quando > 1 a proximidade relativa entre os elementos tem maior importncia; quando
< 1 a interconectividade relativa tem maior importncia.

2.4 Validao
A aplicao de um algoritmo de clusterizao resulta em uma ou mais divises dos dados em
diferentes grupos. Entretanto, fatores como a escolha da medida de similaridade e parmetros
utilizados pelo algoritmo podem influenciar na qualidade da partio obtida. Por isso importante
determinar a relevncia dos resultados obtidos pelo algoritmo. Isso geralmente feito com base
em ndices estattiscos que medem quantitativamente a qualidade de uma partio. A maneira
como tal ndice utilizado dada pelo critrio de validao. A seguir sero apresentados trs tipos
de critrios de validao descritos na literatura(Jain & Dubes, 1988). Maiores detalhes sobre os
critrios de avaliao e os diferentes ndices usados na avaliao podem ser obtidos em (Facelli et
al., 2005).

Critrios externos: a qualidade do agrupamento medida de acordo com uma diviso pre-
viamente estabelecida do conjunto de dados. Essa diviso pode indicar uma partio j
conhecida do conjunto de dados ou uma diviso realizada por um especialista da rea. Para
que a diviso de um conjunto de dados seja considerada vlida ela deve ser especial em
algum sentido. Para isso necessrio a realizao de testes de hiptese, a fim de comprovar
uma hiptese pr-definida. Na realizao de tais testes, deve-se conhecer a distribuio dos
ndices sob a hiptese que corresponde diviso aleatria dos dados (hiptese nula) (Jain &
Dubes, 1988). A anlise de Monte Carlo oferece uma maneira de calcular uma estimativa de
tal distribuio, embora sua aplicao seja difcil e custosa (Facelli et al., 2005).

Critrios internos: nesse critrio, os dados originais ou a matriz de similaridade so usados


para medir a qualidade do agrupamento. Em outras palavras, um ndice que utilize critrio
interno mediria o quanto uma partio justifica-se pela matriz de similaridade. ndices inter-
nos devem lidar com diversos problemas, como por exemplo a estimativa do nmero real
CAPTULO 2. CLUSTERIZAO DE DADOS 25

de clusters presentes no conjunto de dados ou avaliar quo grande ou quo pequeno o valor
de um ndice (Jain & Dubes, 1988).

Critrios relativos: duas divises do mesmo conjunto de dados so comparadas para iden-
tificar qual representa melhor o conjunto de dados. Esse tipo de critrio usado princi-
palmente para estabelecer o melhor valor para um parmetro usado pelo algoritmo ou para
comparar resultados de dois algoritmos diferentes. O nmero de clusters K um exemplo de
parmetro que um critrio relativo pode auxiliar na escolha. Para isso o algoritmo de cluste-
rizao executado para todos os possveis valores de K em um intervalo Kmin e Kmax . Ao
apresentar em um grfico os valores dos ndices em funo de K, o nmero ideal de clusters
dado pelo valor mnimo, mximo ou inflexo na curva apresentada (Facelli et al., 2005).

A seguir so apresentados alguns exemplos de ndices externos e relativos. ndices usados com
o critrio relativo podem ser usados tambm como ndices de critrio interno (Facelli et al., 2005).

2.4.1 ndice Davies-Bouldin


O ndice Davies-Bouldin (DB) um ndice de validao relativa e foi proposto originalmente
como um mtodo de parada de algoritmos de clusterizao (Jain & Dubes, 1988). O valor do
ndice comparado com o nmero de clusters, e o algoritmo encerrado quando o valor do ndice
mnimo. Dada uma partio de n dados em K clusters, a medida descrita na Equao 2.13 mede
a similaridade entre pares de cluster (Ci , Cj ).

eCi + eCj
RCi ,Cj = (2.13)
d(Ci , Cj )

onde eCi o erro mdio para o cluster Ci , eCj o erro mdio para o cluster Cj e d(Ci , Cj ) a
distncia euclidiana entre os centros dos clusters de Ci e Cj . O valor do ndice para o cluster Ci
dado pela maior dissimilaridade entre dois pares de clusters, ou seja, o maior valor de RCi ,Cj ,
conforme mostra a Equao 2.14.

RCi = max(RCi ,Cj ) (2.14)


i6=j

O ndice compara a similaridade entre os dados dentro de um cluster e a dissimilaridade entre


dados de clusters diferentes. Isso pode ser observado na definio do ndice DB dada pela Equao
2.15, que define o valor do ndice DB para uma partio de K clusters.

K
1 X
DB(K) = RCi (2.15)
K i=1

Quanto menor o valor de DB(K), melhor a partio. Entretanto, quando a partio formada
por K = n clusters, com um elemento em cada cluster, o ndice atinge valor 0, apesar de no ser
26 2.5. CONSIDERAES FINAIS

uma partio interessante. Por isso, o ndice DB deve ser calculado apenas enquanto cada cluster
ainda tiver um nmero considervel de objetos. Outra desvantagem que o ndice DB aplicado
com sucesso apenas para clusters hiperesfricos (Jain & Dubes, 1988).

2.4.2 ndice Rand Corrigido


O ndice de validao externo Rand Corrigido (CR, do ingls Correted Rand) muito utili-
zado na comparao de algoritmos de clusterizao, e oferece como vantagem a independncia
do nmero de clusters da partio (Jain & Dubes, 1988). O ndice CR determina a semelhana
entre duas parties P 1 e P 2 examinando a qual cluster pares de dados foram assinalados nas duas
parties. Isso quer dizer que se dois dados foram assinalados ao mesmo cluster em P 1 e P 2 o
valor do ndice aumenta; por outro lado, se dois elementos foram assinalados ao mesmo cluster em
P 1 mas pertencem a clusters diferentes em P 2 o valor do ndice diminui. O ndice CR a verso
normalizada do ndice Rand (Jain & Dubes, 1988) e definido pela Equao 2.16, onde: kP1 e kP2
so o nmero de clusters das parties P1 e P2 ; n a quantidade de dados do conjunto inicial; ni
o nmero de elementos do cluster Ci P1 e nj o nmero de elementos do cluster Cj P2 ; nij
o nmero de elementos que pertencem aos clusters Ci P1 and Cj P2 , ou seja, o nmero de
elementos comuns a P 1 e P 2.

CR = (A B)/(C D),!onde
PkP1 PkP2 nij
A = i=1 j=1
" !2 ! # !
PkP1 ni PkP2 nj n
B = i=1 j=1 /
2 2 2
(2.16)
" ! ! #
PkP1 ni PkP2 nj
C = i=1 j=1 /2
2 2
" ! ! # !
PkP1 ni PkP2 nj n
D = i=1 j=1 /
2 2 2

Valores prximos a 0 para o ndice CR indicam parties aleatrias, que pouco revelam sobre
a relao entre os dados, enquanto valores prximos a 1 so obtidos por parties mais relevantes.

2.5 Consideraes Finais


Neste captulo foi apresentada uma breve reviso bibliogrfica sobre clusterizao de dados
relevantes a este trabalho. Diversas etapas do processo de clusterizao foram descritas com alguns
detalhes, como por exemplo diferentes medidas de similaridade entre dados e entre clusters.
CAPTULO 2. CLUSTERIZAO DE DADOS 27

Foram descritos tambm algoritmos focados na etapa de algoritmos de clusterizao de dados


que utilizam abordagens diferentes na identificao dos clusters: particionamento, redes auto-
organizveis, baseado em densidade, hierrquico e baseado em grafo. O algoritmo de clusterizao
Chameleon (Karypis et al., 1999), um algoritmo hierrquico que baseia-se no particionamento de
grafos para identificar os clusters, foi descrito com maiores detalhes neste captulo. O foco desse
trabalho encontra-se nessa etapa do processo de clusterizao de dados.
Outra etapa apresentada foi o processo de validao e anlise dos resultados obtidos pelo al-
goritmo, onde foram descritos diferentes critrios e ndices utilizados na avaliao dos resultados.
Nesse trabalho ser adotado o ndice de validao externo CR, por ser o ndice mais usado na li-
teratura para comparao entre algoritmos de clusterizao (Jain & Dubes, 1988). No Captulo 3
sero apresentados os conceitos de redes complexas pertinentes a este trabalho, com o objetivo de
auxiliar o processo de identificao de clusters.
28 2.5. CONSIDERAES FINAIS
C APTULO

3
Deteco de comunidades em redes
complexas

Uma rede composta por vrtices e arestas uma modelagem til para representar interaes
entre elementos de um conjunto de itens. Recentemente, tem-se observado um interesse crescente
no estudo de redes complexas formadas por milhes ou at bilhes de vrtices, principalmente
pela disponibilidade de computadores e redes de comunicao que permitem analisar dados em
uma escala muito maior do que era possvel anteriormente. Existem muitos exemplos de redes de
larga escala, como a Internet, redes de interao social, redes de interao entre protenas, redes de
citaes em artigos, entre outros.
A classificao de redes complexas pode ser feita a partir da existncia de uma hierarquia de
estruturas organizadas. A mais antiga e estudada iniciativa para modelagem de redes de larga
escala foi feita por (Erds & Rnyi, 1959) e chamada de Redes Randmicas (Random Networks),
pois as redes possuiam estruturas aparentemente aleatrias. Nesse tipo de rede no existe qualquer
hierarquia de organizao das arestas. Uma forma de gerao de redes randmicas atribuir uma
probabilidade p de criar uma aresta entre dois vrtices. O nmero total de arestas do grafo uma
varivel aleatria com valor esperado E(m) = p[n(n 1)/2], onde m o nmero de arestas e
n o nmero de vrtices (Albert & Barabasi, 2002). A Figura 3.1 mostra a gerao de uma rede
randmica de n vrtices com diferentes valores de p.
Em 1998, (Watts & Strogatz, 1998) formalizaram o conceito de Redes de Pequeno-Mundo
(Small World Networks), em que embora existam poucas ligaes entre os vrtices da rede, a mai-
oria desses vrtices pode ser alcanada em um pequeno nmero de passos a partir de qualquer
outro. (Watts & Strogatz, 1998) definiram tais redes como possuindo vrtices com um alto coe-

29
30

(a) (b) (c) (d)

Figura 3.1: Exemplo de rede randmica com 8 vrtices. (a) Quando p = 0 o grafo gerado no
possui arestas; (b) Quando p = 0.1 poucas arestas so adicionadas contribuindo para a formao
de rvores; (c) A adio de mais arestas, com p = 0.3, possibilita a formao de ciclos no grafo;
(d) Para p = 0.8, o grafo gerado aproxima-se de um grafo completo.

ficiente de clustering1 e baixa mdia de comprimento dos caminhos mais curtos da rede. Redes
desse tipo podem ser construdas atravs da mudana aleatria de poucas arestas de uma rede re-
gular2 . Cada aresta da rede regular possui probabilidade p de ter o vrtice destino alterado. O novo
vrtice destino escolhido aleatoriamente dentre os demais vrtices, desde que a modificao no
crie arestas duplas ou laos. Quando p = 0 nenhuma aresta modificada resultando em uma rede
regular. A escolha aleatria de uma frao p > 0 de arestas, e a consequente modificao dos
vrtices destinos dessas arestas, resulta na criao de uma rede de pequeno-mundo. Entretanto, se
p 1, a rede gerada ser equivalente a uma rede randmica. O processo de criao de redes de
pequeno-mundo ilustrado na Figura 3.2. Redes sociais e lingusticas so exemplos de redes de
pequeno-mundo.

Figura 3.2: Processo de alterao de uma frao p de arestas de uma rede regular formada por 20
vrtices. Para determinados valores de p, a rede criada uma rede de pequeno-mundo. Conforme
o valor de p aproxima-se de 1, grande parte das arestas modificada, resultando em uma rede
randmica (Albert & Barabasi, 2002).

Muitas redes do mundo real apresentam vrtices com mais conexes do que outros. Em 1999,
(Barabasi & Albert, 1999) descobriram que a distribuio do grau para os vrtices de muitas redes
1
proporo de arestas que conectam os vizinhos de um vrtice
2
rede em que os vrtices so conectados a um nmero constante de vizinhos
CAPTULO 3. DETECO DE COMUNIDADES EM REDES COMPLEXAS 31

complexas obedece a lei da potncia (power-law): P (k) k , onde k o nmero de ligaes


de um vrtice aleatrio e > 0 o expoente de escala. Em outras palavras, P (k) corresponde
frao de vrtices com k ligaes. Esse tipo de rede chamada de Redes Livre de Escala (Scale-
Free Networks). Essa distribuio heterognea significa que a probabilidade de que um conjunto de
ns tenha um grande nmero de ligaes no pequena, ao contrrio das Redes Randmicas que
possuem distribuio homognea de graus de vrtices. Esse tipo de rede formado acrescentando
arestas rede com probabilidade p, proporcional ao grau dos vrtices. Assim, a criao de hubs
(vrtices com grande nmero de arestas incidentes) favorecida, como mostra a Figura 3.3.

Figura 3.3: Rede Livre de Escala, formada por 200 vrtices e 199 arestas, com a presena de
hubs (vrtices com grande nmero de arestas incidentes). Vrtices em diferentes cores possuem
maior grau k: vermelho k = 33; azul k = 12 e verde k = 11 (Strogatz, 2001).

Depois de tais descobertas, muitas pesquisas tm sido realizadas, tornando o estudo sobre redes
complexas uma slida rea de pesquisa. Dentre os campos de pesquisa que merecem destaque
encontra-se a identificao de comunidades em redes complexas. Uma propriedade que pode ser
observada em diversas redes a estrutura de comunidades, ou seja, a possibilidade de dividir a rede
em grupos de ns, de modo que a quantidade de conexes entre ns de uma mesma comunidade
seja alto, enquanto o nmero de conexes entre ns de comunidades diferentes seja pequeno. A
decomposio de uma rede em comunidades, importante para a compreenso das relaes entre
diferentes componentes, alm de permitir identificar funes de um componente com base nas
funes de seus membros. A Figura 3.4 ilustra uma rede com estrutura de comunidades.
Os mtodos de deteco de comunidades em redes complexas podem focalizar a adio ou
remoo de arestas da rede, sendo classificados como mtodos aglomerativos ou divisivos,
respectivamente. Essa classificao dos mtodos de deteco de comunidades segue o mesmo
conceito da classificao dos mtodos de clusterizao hierrquica descritos na Seo 2.3.4. No
mtodo aglomerativo, a rede inicialmente no possui arestas. Estas so adicionadas de acordo
com alguma medida de similaridade calculada entre os diversos pares de ns, a partir do par de
maior similaridade. J no mtodo divisivo, os pares de ns menos similares so identificados e a
32 3.1. EDGE BETWEENNESS

Figura 3.4: Rede com estrutura de comunidade, formada por trs comunidades.

aresta que os une removida. Ao executar esse procedimento repetidamente, a rede dividida em
comunidades cada vez menores.
Assim como os algoritmos de clusterizao hierrquica, a diviso da rede em comunidades
pode ser ilustrada por um dendrograma como o da Figura 3.5. Cortes horizontais no dendrograma
revelam diferentes divises da rede em comunidades, onde cortes mais prximos base do den-
drograma resultam em maior nmero de comunidades formadas por poucos ns.

Figura 3.5: Sada gerada por algoritmo de deteco de comunidades

Nesse captulo so apresentadas trs tcnicas de deteco de comunidades em redes complexas,


descritas a seguir.

3.1 Edge Betweenness


O mtodo descrito nessa seo segue a classe de mtodos divisivos com uma abordagem dife-
rente: a aresta removida no aquela que conecta o par de ns menos similar, e sim a aresta de
maior "betweenness", ou seja, a aresta responsvel por conectar muitos pares de ns. O clculo
do betweenness da aresta (edge betweenness) surgiu a partir do conceito de vertex betweenness
extendido por (Newman & Girvan, 2004), onde o betweenness de um vrtice u dado pelo n-
mero de caminhos mais curtos entre pares de vrtices que passam por u. No caso de uma aresta
CAPTULO 3. DETECO DE COMUNIDADES EM REDES COMPLEXAS 33

(u, w), seu edge betweenness dado pelo nmero de caminhos mais curtos entre pares de vrtices
que passam pela aresta (u, w). Essa medida de betweenness visa favorecer arestas que ligam ns
de comunidades diferentes e penalizar aquelas que ligam ns de uma mesma comunidade. Desse
ponto em diante, a definio betweenness corresponde ao conceito de edge betweenness.
Existem diversas maneiras de calcular medidas de betweenness, mas todas seguem um princ-
pio comum: como o nmero de arestas conectando duas comunidades pequeno, todos os cami-
nhos que ligam ns em comunidades diferentes devem passar por essas arestas. Assim sua partici-
pao na composio dos caminhos que ligam as duas comunidades alta e pode ser quantificada,
fornecendo uma forma de identific-las (Newman & Girvan, 2004). Trs medidas de betweenness
so sugeridas por (Newman & Girvan, 2004): shortest-path betweenness, random-walk between-
ness e current-flow betweenness. A descrio de cada medida de betweenness, bem como formas
de calcul-las, sero feitas posteriormente.
Outra caracterstica do mtodo de edge betweenness o clculo do betweenness toda vez que
uma aresta removida da rede. Nos algoritmos divisivos tradicionais baseados em edge between-
ness, o clculo do betweenness feito apenas uma vez no incio do algoritmo, e a remoo das
arestas segue em ordem decrescente de betweenness. Um problema dessa abordagem revelado
quando duas arestas conectam duas comunidades, e por algum motivo a maior parte dos caminhos
gerados entre os pares de ns passaram por apenas uma dessas arestas. O algoritmo ir remover a
aresta de maior betweenness e outra aresta continuar conectando as comunidades, podendo nunca
ser removida pelo algoritmo. Por esse motivo o valor de betweenness recalculado toda vez que
uma aresta removida.
Os passos do algoritmo de deteco de comunidades so mostrados a seguir:

1. Calcule os valores de betweenness de todas as arestas da rede;

2. Remova da rede a aresta de maior betweenness;

3. Recalcule os valores de betweenness para as demais arestas;

4. Volte ao Passo 2.

A seguir sero descritas diferentes formas para o clculo do betweenness.

Shortest-path betweenness

A idia mais intuitiva de obter os caminhos entre dois ns de uma rede a busca pelos cami-
nhos mais curtos entre eles. Assim o valor de betweenness de cada aresta ser dado pelo nmero de
caminhos que essa aresta participa. primeira vista, calcular o betweenness com base em cami-
nhos mais curtos tem complexidade O(mn2 ) em um grafo com m arestas e n vrtices (Cormen et
al., 2001). Essa complexidade explicada pelo fato de que os caminhos mais curtos entre dois vr-
tices podem ser calculados usando busca em largura com tempo O(m), o que deve ser feito para
34 3.2. PARTCULA BROWNIANA

todos os O(n2 ) pares de vrtices. (Newman & Girvan, 2004) propuseram uma adaptao do m-
todo acima para calcular o betweenness de todas as arestas em tempo O(mn). Como o clculo do
betweenness deve ser feito a cada remoo de aresta, o algoritmo de identificao de comunidades
tem complexidade O(m2 n). Entretanto, (Newman & Girvan, 2004) notaram que apenas as arestas
de um mesmo componente da aresta removida tm seus betweenness afetados; portanto apenas os
betweenness dessas arestas precisam ser recalculados. A medida que a remoo das arestas divide
a rede em comunidades, o custo computacional com clculo do betweenness reduzido (Newman
& Girvan, 2004).

Random-walk betweenness

De maneira geral, random-walk betweenness de uma aresta (u, w) igual ao nmero de vezes
que uma caminhada aleatria, partindo de um vrtice s at um vrtice t, passa pela aresta (u, w),
tomando-se a mdia de todos os pares de vrtices s e t.
Primeiramente calculado o betweenness pelo nmero esperado de vezes que uma caminhada
aleatria entre pares de ns ir passar por uma aresta em particular. Considerando todos os pares
de ns da rede, a soma desses valores d origem segunda medida de betweenness da aresta.

Current-flow betweenness

Essa medida de betweenness motivada pelas idias da teoria de circuitos. Um circuito cri-
ado, onde cada aresta da rede corresponde a uma resitncia e um par de ns corresponde a uma
unidade de corrente fonte e destino. A corrente ir percorrer a rede por um determinado nmero
de caminhos e os caminhos com menor resistncia teriam a maior frao da corrente. O total de
corrente na aresta ser a soma da corrente considerando todos os pares de ns fonte/destino, re-
sultando no valor de betweenness da aresta. Esses caminhos podem ser identificados atravs da
resoluo de equaes de Kirchhoff (Newman & Girvan, 2004).

3.2 Partcula Browniana


Essa tcnica de identificao de comunidades em redes complexas foi descrita inicialmente
por (Zhou, 2003b) e estendida pelo mesmo autor em (Zhou, 2003a). baseada no conceito de
Movimento Browniano: uma partcula Browniana comea sua trajetria em um vrtice da rede,
escolhendo o prximo vrtice de maneira aleatria. As informaes obtidas pela partcula so
utilizadas para medir a distncia entre os vrtices, definindo as comunidades que compem a rede
e a estrutura de cada uma.
Considere uma rede formada por um conjunto de n vrtices V = {v1 , . . . , vn } e m arestas.
A matriz de adjacncia A indica a fora da interao entre os vrtices. Se Aij igual a zero, no
CAPTULO 3. DETECO DE COMUNIDADES EM REDES COMPLEXAS 35

h conexo entre os vrtices vi e vj ; se Aij Aji > 0 existe uma aresta que liga os vrtices vi
e vj e o valor numrico indica a fora da interao entre eles. O conjunto de vizinhos do vrtice
vi so denotados por Ei . Considerando que existe uma partcula Browniana na rede, a cada passo
essa partcula move-se do vrtice vi para um vrtice vj com probabilidade Pij , dada pela matriz de
transferncia P . O valor de Pij pode ser calculado de maneira intuitiva por: Pij = Aij / nl=1 Ail .
P

A distncia entre os vrtices vi e vj pode ser calculada como a mdia de passos necessrios
para a partcula Browniana mover-se de vi a vj . A distncia dij dada pela Equao 3.1:

N  
X 1
dij = (3.1)
l=1
I B(j) il

onde I a matriz identidade n n e a matriz B(j) igual matriz de transferncia P , onde


Blj 0 para qualquer vl V , ou seja, a coluna vj da matriz de transferncia P preenchida por
zeros. As distncias de vj a todos os outros vrtices em V pode ser obtida atravs da soluo do
sistema de equaes lineares descrito pela Equao 3.2:

[I B(j)] {d1j , . . . , dN j }T = {1, . . . , 1}T (3.2)

A partir da matriz de distncias, algumas propriedades podem ser obtidas:

se dij dik para todo vk V , ento vj classificado como atrator global do vrtice vi , ou
seja, vi est mais prximo de vj levando em considerao a distncia mdia;

se vj Ei e dij dil para todo vl Ei , ento vj classificado como atrator local do n vi ,


ou seja, dentre todos os vizinhos de vi , vj o mais prximo.

De maneira intuitiva, pode-se dizer que um vrtice vi deve pertencer a mesma comunidade que
seu atrator local vj , pois vj possui a menor distncia at vi dentre todos os vizinhos deste. Assim,
possvel decompor os vrtices da rede em comunidades baseadas nos atratores locais, chamadas
comunidades-L. Essa comunidade formada pelo conjunto de vrtice L tal que:

1. se vi L e vj o atrator local de vi , ento vj L;

2. se vi L e existe um vrtice vk que possui vi como atrator local, ento vk L

3. um subconjunto de L no caracteriza uma comunidade-L.

O conceito de comunidades-L pode ser expandido para a rede toda: um vrtice vi deve per-
tencer mesma comunidade que seu atrator global. Dessa forma pode-se construir comunidades
baseadas nos atratores globais de cada vrtice, chamadas comunidades-G.
O artigo de (Zhou, 2003b) esclarece tambm que para redes pequenas as comunidades obtidas
atravs de atratores locais ou globais tm grandes chances de compartilharem a mesma estru-
tura, enquanto que para redes maiores, pode acontecer que uma comunidade-G englobe diversas
comunidades-L.
36 3.2. PARTCULA BROWNIANA

Um aspecto que pode ser analisado em relao a uma comunidade C o ndice instabilidade Ic .
P P
Um vrtice vi que pertence comunidade C considerado instvel caso vk C 0 Aik > vk C Aik ,
ou seja, se a interao total de vi com os vrtices de outra comunidade C 0 maior que a interao
total de vi com os vrtices de sua comunidade C. O ndice Ic indica o nmero de ns instveis da
comunidade C.

3.2.1 Exemplos de comunidades locais e globais


Para exemplificar a diviso da rede em comunidades, o mtodo acima foi testado em algumas
redes em que a estrutura de comunidades j conhecida. Um exemplo disso a rede do clube de
carat, onde durante dois anos foram documentadas as interaes sociais entre membros de um
clube de carat de uma universidade americana (Zachary, 1977). Durante os dois anos de observa-
es, o clube foi dividido em dois, aps uma disputa entre o administrador e o instrutor do clube.
Essa rede possui 34 vrtices e 78 arestas, com a diviso em duas comunidades de 16 e 18 vrtices
respectivamente, marcadas de cores diferentes na Figura 3.6. O algoritmo detectou 3 comunidades
locais, agrupadas espacialmente na Figura 3.6. A comunidade L1 possui 11 elementos, sendo que
o vrtice 13 instvel e possui forte ligao com a comunidade L2; a comunidade L2 tem 6 ele-
mentos, sendo que o vrtice 9 possui forte ligao com a comunidade L3; enquanto a comunidade
L3 possui 17 elementos. Para essa rede, as comunidades locais e globais so iguais.

Figura 3.6: Diviso de comunidades da rede de interaes do clube de carat de (Zachary, 1977).
Originalmente os dados so divididos em duas comunidades representadas pelas diferentes cores,
enquanto a diviso dada pelo algoritmo de (Zhou, 2003b) dada pela localizao espacial dos ns.

Outra base de dados utilizada para testes descreve a temporada de um campeonato de futebol
americano entre universidades (Girvan & Newman, 2002). Os 115 vrtices do grafo representam
os times e as 613 arestas indicam a ocorrncia de um jogo entre os times. Esses 115 times so
divididos em 12 grupos pelos organizadores. Esses grupos so divididos de modo que seja mais
comum um jogo entre times de universidades geograficamente prximas do que universidades
distantes. Para essa rede, o mtodo encontrou 15 comunidades, onde 11 eram localmente estveis:
L2 (9 elementos), L3 (13 elementos), L4 (14 elementos), L5 (10 elementos), L6 (8 elementos), L7
(6 elementos), L8 (7 elementos), L9 (6 elementos), L10 (4 elementos), L11 (6 elementos) e L13
(9 elementos). A comunidade L1 (9 elementos) possui um elemento com interao maior com a
CAPTULO 3. DETECO DE COMUNIDADES EM REDES COMPLEXAS 37

comunidade L10 e a comunidade L12 (10 elementos) um elemento com interao maior com a
comunidade L3. J todos os elementos das comunidades L14 (2 elementos) e L15 (2 elementos)
possuem maior interao com vrias outras comunidades. A Figura 3.7 mostra as comunidades
locais separadas por cores.

Figura 3.7: Diviso de comunidades da rede de interaes do campeonato de futebol americano


de (Girvan & Newman, 2002) dada pelo algoritmo de (Zhou, 2003b)

3.2.2 ndice de dissimilaridade


O mtodo exemplificado na seo anterior uma maneira simples de agrupar vrtices e arestas
em sub-grafos com base na distncia medida pela partcula Browniana. Uma extenso realizada
pelo mesmo autor em (Zhou, 2003a) define um ndice de dissimilaridade entre vrtices vizinhos
atravs da matriz de distncias, fornecendo um parmetro que quantifica as diferenas entre as
comunidades. O ndice de dissimilaridade indica at que ponto dois vrtices vizinhos devem per-
tencer mesma comunidade, e pode ser usado na decomposio hierrquica da rede em clusters.
Cada comunidade limitada por valores inferiores e superiores de dissimilaridade, respectivamente
denotados por low e upp .
O conjunto de distncias {di1 , . . . , di,i1 , di,i+1 , . . . , din } mede a distncia de todos os outros
vrtices em relao ao vrtice vi e pode ser visto como a perspectiva da rede pelo ponto de vista
do vrtice vi . Suponha ento dois vrtices vizinhos vi e vj , a diferena entre suas perspectivas da
rede pode ser medida de forma quantitativa pelo ndice de dissimilaridade (vi , vj ) definido pela
Equao 3.3:
qP
n
k6=i,j [dik djk ]2
(vi v, j) = (3.3)
n2
38 3.3. MODULARIDADE E ESTRUTURA DE COMUNIDADES

Caso vi e vj pertenam mesma comunidade, ento a distncia mdia dik de vi para um vrtice
qualquer vk ser semelhante distncia mdia djk do vrtice vj a vk . Assim a perspectiva da
rede dos dois vrtices ser semelhante, resultando em valores menores de (vi , vj ) para vrtices
de uma mesma comunidade. Consequentemente, o valor de (vi , vj ) ser maior caso os vrtices
pertenam a comunidades diferentes.
Aps o clculo da matriz de distncias {di,j } e da matriz dos ndices de dissimilaridade de
todos os pares de ns vizinhos {(vi , vj )}, possvel formalizar um algoritmo para decompor a
rede em comunidades:

1. Inicialmente a rede forma uma nica comunidade. O limiar superior de dissimilaridade upp
da comunidade equivale ao valor mximo de todos os ndices de dissimilaridade calculados.

2. Para cada comunidade, um parmetro limiar de resoluo definido e possui o valor inicial
de upp da comunidade. Alm disso, se dois vizinhos vi e vj possuem (vi , vj ) eles so
classificados como amigos.

3. O valor de decrementado diferencialmente. Os pares de vizinhos classificados como


amigos so examinados e diferentes conjuntos formados. Cada conjunto composto por
todos amigos dos vrtices do conjunto. Caso algum vrtice da comunidade no tenha ami-
gos, so includos em um conjunto de amigos com o qual tenha maior interao de acordo
com a matriz de adjacncia A. Aps isso, todos os vrtices da comunidade esto distribudos
em sub-clusters de vrtices disjuntos.

4. Cada vrtice deve ter maior interao com os vrtices do seu prprio sub-cluster do que com
os vrtices de outro sub-cluster. Caso algum vrtice no cumpra esse requisito, movido
para o conjunto de vrtices com o qual possui maior interao.

5. Se nenhum sub-cluster foi formado, ou seja, todos os vrtices so amigos, volte ao Passo 3,
onde decrementado. Se forem formados dois ou mais conjuntos, ento o limiar inferior
de dissimilaridade da comunidade em processamento low recebe o valor de . Cada subcon-
junto formado considerado uma nova comunidade, onde upp = . Com isso um novo nvel
criado na hierarquia das comunidades. O algoritmo retorna ao Passo 2 para subdividir as
comunidades restantes.

6. Aps todas as (sub)comunidades terem sido processadas, a relao entre as diferentes co-
munidades e os limiares inferiores e superiores de cada comunidade podem ser visualizados
em um dendrograma.

3.3 Modularidade e estrutura de comunidades


(Newman & Girvan, 2004) definiram uma mtrica chamada modularidade, para qualificar as
estruturas das comunidades. Considere uma diviso da rede em K comunidades. Seja a matriz e
CAPTULO 3. DETECO DE COMUNIDADES EM REDES COMPLEXAS 39

KK cujo elemento eij corresponde a metade do nmero de arestas que conectam as comunidades
i e j em relao ao total de arestas da rede. Dessa forma eij + eji corresponde ao total de arestas
que conectam os vrtices de ambas comunidades. J eii corresponde ao nmero de arestas dentro
da comunidade i em relao ao total de arestas.
Um objetivo que deve ser alcanado por um algoritmo de deteco de comunidades a maxi-
P
mizao da frao de arestas que conectam vrtices de uma mesma comunidade, ou seja, i eii .
Entretanto essa medida no oferece uma boa mtrica para avaliar a qualidade das comunidades,
j que seu valor mximo facilmente atingido quando todos os ns da rede pertencem mesma
P
comunidade. Para isso, mais um componente definido: ai = j eij , que representa a soma das
arestas que conectam a comunidade i com as demais comunidades. Em uma rede com as mesmas
K comunidades em que as arestas so adicionadas de maneira aleatria (respeitando o grau de
cada vrtice), eij = ai aj . Ento pode-se definir o ndice de modularidade como mostra a Equao
3.4:

X
Q= (eii a2i ) (3.4)
i

Se a estrutura da comunidade oferecer um nmero de arestas entre ns da mesma comunidade


igual do que se as arestas fossem adicionadas aleatoriamente, tem-se que Q = 0, o que indica
que a estruturas das comunidades encontrada pelo algoritmo no melhor do que se as arestas
fossem simplesmente colocadas de maneira aleatria. Conforme o valor de Q aproxima-se de 1, a
estrutura das comunidades so melhores do que se as arestas fossem adicionadas aleatoriamente e
na prtica valores de Q acima de 0.3 indicam que a estrutura de comunidades encontrada compensa
ser considerada (Newman & Girvan, 2004).
Aps a definio de um ndice para quantificar a qualidade das comunidades, possvel cons-
truir um algoritmo que otimize o valor de Q sobre todas as possveis divises da rede em co-
munidades. Como a otimizao da Equao 3.4 considerando-se todas as possveis divises em
comunidades exponencial, a soluo adotada por (Newman, 2004b) baseia-se na tcnica de oti-
mizao gulosa. Trata-se de um algoritmo aglomerativo de clusterizao hierrquica, onde inicial-
mente cada vrtice da rede considerado uma comunidade, e repetidamente as comunidades so
agrupadas em pares, de forma que o valor de Q tenha o maior aumento (ou menor decrscimo)
possvel.
importante ressaltar que apenas comunidades que possuem arestas ligando seus vrtices po-
dem ser possivelmente unidas pelo algorimto. Isso limita a um mximo de m pares de comuni-
dades, onde m o nmero de arestas do grafo. A variao em Q quando duas comunidades so
unidas dada pela Equao 3.5:

Q = eij + eji 2ai aj (3.5)


40 3.4. CONSIDERAES FINAIS

que pode ser calculado em tempo constante. O valor inicial de eij igual metade do grau de cada
vrtice, j que inicialmente cada comunidade formada por apenas um vrtice. Aps a juno
de duas comunidades os valores de eij devem ser atualizados, somando-se o contedo de cada
linha e coluna da matriz correspondentes s comunidades unidas. Alm disso, o valor de Q
calculado a cada iterao, tornando simples a tarefa de escolher a melhor maneira de dividir a rede
em comunidades.

3.4 Consideraes Finais


Neste captulo foram descritos os principais conceitos a respeito da rea de redes complexas,
bem como suas reas de aplicao. Por tratar-se de uma abordagem capaz de lidar com grandes
conjuntos de dados, interessante estudar a aplicao dos conceitos de redes complexas em algo-
ritmos de clusterizao de dados. Redes complexas podem auxiliar na superao das dificuldades
encontradas por algoritmos de clusterizao clssicos quando tm um grande conjunto de dados
como entrada (Jain & Dubes, 1988), ou na capacidade de identificao de clusters com formas e
tamanhos variados.
Uma propriedade encontrada em redes complexas reais muito relacionada rea de clusteriza-
o de dados a presena de grupos de ns densamente conectados entre si, e pouco conectados
com ns de outros grupos. A existncia de tais grupos indica a presena de estrutura de comu-
nidades em uma rede complexa, e sua identificao feita atravs de mtodos de deteco de
comunidades. Neste captulo foram descritas trs tcnicas de deteco de comunidades em redes
complexas: Edge Betweenness, baseada na remoo de arestas que conectam um grande nmero
de ns; Partcula Browniana, onde a distncia entre dois ns medida por uma partcula Brow-
niana; e Modularidade, onde a unio de duas comunidades feita com base na maximizao do
ndice de modularidade.
No Captulo 4 sero apresentadas tcnicas inspiradas em modelos biolgicos, com o objetivo
de utilizar os conceitos da computao bioinspirada na deteco de comunidades.
C APTULO

4
Tcnicas de Computao Bioinspirada

Existem diversas tcnicas para elaborao de heursticas e algoritmos de aproximao com a


inteno de resolver problemas de otimizao, como simulated anneling (Kirkpatrick et al., 1983)
e tabu search (Glover & Laguna, 1993). Recentemente tcnicas inspiradas em princpios e mo-
delos de sistemas biolgicos tm ganhado fora, como algoritmos genticos (Goldberg, 1989) e
colnia de formigas (Dorigo et al., 1996). Entre as vantagens de resolver problemas com tcnicas
bioinspiradas esto a necessidade de pouca informao para encontrar a soluo, alm de terem
sido aplicadas com sucesso em diversos problemas de biologia molecular, computao e mecnica.
Para esse trabalho foram escolhidos trs modelos computacionais inspirados biologicamente: col-
nia de formigas, nuvem de partculas e aprendizado por reforo.

4.1 Sistema de Colnia de Formigas


Uma tcnica recente utilizada para construo de heursticas baseada no comportamento real
de colnias de formigas. O objetivo verificar como animais simples como as formigas podem
coletivamente realizar tarefas complexas, atravs do cumprimento de regras simples.
Atravs da observao de colnias de formigas reais foi proposto por (Dorigo et al., 1996) um
novo algoritmo de aproximao para a soluo de problemas de otimizao combinatria, que rece-
beu o nome de Ant System (AS). A caracterstica mais importante obtida da observao de colnias
de formigas foi a maneira como elas encontram os menores caminhos entre a fonte de alimentos
e seu ninho. Inicialmente, as formigas procuram por alimento de maneira aleatria em locais pr-
ximos ao ninho. Durante o percurso, as formigas deixam uma trilha de uma substncia chamada
feromnio marcando o caminho. Quando outras formigas precisam escolher qual caminho seguir,

41
42 4.1. SISTEMA DE COLNIA DE FORMIGAS

elas tendem a escolher aqueles marcados por grandes quantidades de feromnio. Assim que a
fonte de alimento encontrada, a formiga avalia a qualidade e a quantidade do alimento. Essas
informaes so transmitidas s demais formigas atravs da quantidade de feromnio depositada
no caminho de volta. Quanto maior a quantidade de feromnio mais atrativo o caminho ser para
as demais formigas. O resultado que a maioria das formigas ir escolher o menor caminho, ainda
que a possibilidade de explorar novos caminhos exista (Blum, 2005). Apesar da inspirao em
colnia de formigas real, os algoritmos de otimizao desenvolvidos possuem algumas diferenas
em relao s colnias reais, como atuao em ambiente com tempo discreto e formigas artificiais
com memria.
Como exemplo, considere a Figura 4.1. As formigas percorrem um caminho do ninho fonte
de alimento e vice-versa (Figura 4.1 (a)). Quando um obstculo colocado no caminho, as for-
migas devem decidir por qual lado seguir, direita ou esquerda (Figura 4.1 (b)). Essa escolha
influenciada pela quantidade de feromnio depositada no caminho. Quando a primeira formiga
chega ao obstculo, tem probabilidade igual de escolher ir ao ponto A ou B, j que ainda no h
feromnio depositado no caminho. Como o caminho at ao alimento pelo ponto A mais curto,
a formiga alcanar o destino mais rpido e voltar pelo mesmo caminho, reforando a trilha de
feromnio. Como as formigas que escolherem o caminho atravs do ponto B levaro mais tempo
para chegar ao alimento, a trilha de feromnio ser mais fraca. Isso faz com que a quantidade de
feromnio depositada no caminho que passa pelo ponto A seja maior do que pelo ponto B. Logo,
a maioria das formigas passaro a escolher o menor caminho at o alimento (Figura 4.1 (c)).

Figura 4.1: Formigas reais em busca por alimento: (a) formigas seguem um caminho de seu
ninho fonte de alimento (b)um obstculo colocado no caminho e as formigas devem decidir
qual caminho seguir (c)a quantidade de feromnio no menor caminho maior e mais formigas
seguem por ele.
CAPTULO 4. TCNICAS DE COMPUTAO BIOINSPIRADA 43

4.1.1 Colnia de Formigas e o Caixeiro Viajante


O primeiro problema resolvido atravs da heurstica baseada em colnia de formigas foi o
problema do caixeiro viajante, definido a seguir: Seja um conjunto de cidades e as distncias
entre elas. O objetivo visitar todas as cidades apenas uma vez percorrendo a menor distncia
possvel.
Para resolver o problema do caixeiro viajante usando o AS, toda aresta (i, j) armazena, alm
da distncia dij entre as cidades, a quantidade de feromnio ij depositada no caminho. Cada
formiga colocada em uma cidade aleatria. A formiga ento passa da cidade i para uma cidade
no visitada j. Quando todas as cidades foram visitadas, a formiga volta para a cidade de origem.
Alm disso, a formiga possui uma tabela, chamada tabu-list, que contm as cidades que j visitou.
A cada passo, a formiga escolhe a prxima cidade j a ser visitada, levando em conta dois aspectos:
cidades prximas devem ser escolhidas com maior probabilidade, o que caracteriza uma heurstica
gulosa; arestas usadas por muitas formigas em iteraes anteriores tm maior probabilidade de
serem escolhidas novamente.
Quando as formigas passam por todas as cidades encerra-se um ciclo. Nesse momento, as
arestas que fazem parte do caminho escolhido pelas formigas tm a quantidade de feromnio
atualizada. No prximo ciclo as arestas que tm a quantidade de feromnio atualizada tm maior
probabilidade de serem escolhidas. Especificamente, aps um ciclo (n iteraes), a quantidade de
feromnio de cada aresta (i, j) atualizada pela Equao 4.1:

ij (t + n) = ij (t) + ij (4.1)

onde ij (t) representa a quantidade de feromnio da aresta (i, j) no tempo t e o parmetro


que determina a "evaporao" do feromnio. A variao da quantidade de feromnio na aresta
(i, j) dada por:

m
X
ij = ijk (4.2)
k=1

onde m igual ao nmero de formigas na rede e ijk corresponde a quantidade de feromnio


depositado na aresta (i, j) pela formiga k, e obtido atravs da Equao 4.3. Assim a quantidade
de feromnio na aresta (i, j) maior caso a aresta (i, j) faa parte do caminho percorrido pela
formiga k (dado pela tabu list).
(
Q
, se (i, j) caminho descrito por tabu listk
ijk = Lk
(4.3)
0, caso contrrio

onde Q uma constante e Lk o comprimento do caminho percorrido pela formiga k.


Dessa forma, a formiga k deve escolher qual a prxima cidade que deve visitar, onde a proba-
bilidade de transio da cidade i para a cidade j dada pela Equao 4.4:
44 4.1. SISTEMA DE COLNIA DE FORMIGAS

[ij (t)] [ij ]


(
P , se j permitidok
kpermitido [ik (t)] [ik ]
pkij (t) = k (4.4)
0, caso contrrio

onde ij = d1ij , chamada de visibilidade, permitidok = N tabu listk e e so pa-


rmetros usados para balancear a importncia do feromnio em relao a visibilidade, ou seja, a
importncia da escolha prioritria das cidades mais prximas (dada pela visibilidade) em relao
intensidade de feromnio no caminho.
O algoritmo termina quando o nmero de ciclos chega ao valor mximo (definido previamente)
ou quando todas as formigas percorrem o mesmo caminho. O que pode ser notado na descrio do
algoritmo que as estruturas utilizadas so especficas ao problema do caixeiro viajante, como por
exemplo a estrutura usada para guardar a distncia entre as cidades e a quantidade de feromnio de
cada aresta. Caso a heurstica fosse utilizada para solucionar outro problema de otimizao, seria
necessrio modificar o algoritmo, substituindo as estruturas de dados.

Influncia da quantidade de formigas

Considerando o problema do caixeiro viajante em um grafo completo formado por 10 (dez)


cidades, o impacto da quantidade de formigas na busca pela melhor soluo ilustrado na Figura
4.2. Para esse problema, pode-se perceber que medida que o nmero de formigas aumenta, a
quantidade de formigas que encontram a melhor soluo tambm aumenta.
Quando so utilizadas apenas 10 (dez) formigas, poucas encontram o melhor caminho devido
pouca quantidade de feromnio depositada nas arestas. A medida que cresce o nmero de formi-
gas, a quantidade de feromnio nas arestas aumenta e mais formigas percorrem o melhor caminho.

Figura 4.2: Influncia da quantidade de formigas na busca pelo menor caminho


CAPTULO 4. TCNICAS DE COMPUTAO BIOINSPIRADA 45

4.2 Otimizao por Nuvem de Partculas - PSO


A tcnica de otimizao por nuvem de partculas (Particle Swarm Optimization - PSO) foi
proposta inicialmente por (Kennedy & Eberhart, 1995). uma tcnica de otimizao estocstica
baseada em populao e inspirada no comportamento social ou de um bando de pssaros. O PSO
possui diversos pontos em comum com outros algoritmos evolutivos, e destaca-se pela facilidade
de implementao e poucos parmetros a serem ajustados.
Otimizao por nuvem de partculas possui algumas similaridades com algoritmos genticos
(AG) e pode ser utilizada para resolver os mesmos tipos de problemas. Da mesma forma que
AGs, o PSO formado inicialmente por uma populao aleatria de possveis solues, chamada
swarm. A diferena que a cada soluo adicionada uma velocidade, possibilitando a busca
direcionada de melhores solues, sem a utilizao de operaes como crossover e/ou mutao,
e todos os elementos da populao participam da busca pela melhor soluo. Alm disso, um
sistema baseado em partculas possui uma memria, ao contrrio dos AGs.
O PSO foi inicialmente aplicado com sucesso na otimizao de vrias funes contnuas no-
lineares (Kennedy & Eberhart, 1995). Embora a utilizao do PSO em problemas de otimizao
combinatria ainda limitada, ele como vantagens a simplicidade conceitual e baixo custo com-
putacional. Alm da aplicao na otimizao de funes, o PSO tem sido utilizado em aplicaes
como controle de energia (Abido, 2002), atribuio de tarefas (Salman et al., 2002), entre outros.

4.2.1 Descrio do PSO clssico


O PSO pode ser descrito da seguinte forma: cada partcula representa uma possvel soluo do
problema de otimizao. As partculas percorrem o espao de busca e guardam a melhor soluo
que j encontraram, chamada pbest. Alm disso, as partculas comunicam a melhor posio que
cada uma encontrou at ento, e a melhor posio de todas as partculas chamada gbest. As-
sim cada partcula possui alm de sua melhor soluo, a melhor soluo encontrada pela swarm.
Durante uma iterao cada partcula atualiza sua velocidade, de acordo com os valores de pbest
e gbest. Isso significa que se uma partcula descobre uma nova soluo promissora, todas as ou-
tras partculas movero-se em direo nova soluo, explorando a regio mais detalhadamente
durante o processo.
Seja n o tamanho da populao (swarm). Cada partcula do swarm possui os seguintes atribu-
tos:

xi : posio atual no espao de busca. Essa posio representa uma possvel soluo ao
problema;

vi : velocidade atual da partcula i;

pbest: melhor soluo j encontrada pela partcula i.


46 4.2. OTIMIZAO POR NUVEM DE PARTCULAS - PSO

A cada iterao, a partcula i deve atualizar sua posio e velocidade de acordo com duas va-
riveis: sua melhor soluo encontrada (pbest) e a melhor soluo encontrada pela swarm (gbest).
A Equao 4.5 mostra como atualizada a velocidade da partcula i. Considere que o objetivo
buscado a minimizao da funo f e a existncia de uma swarm com n partculas.

vij (t + 1) = w vi,j (t) + c1 r1,i (t)[pbestj (t) xi,j (t)] + c2 r2,i (t)[gbestj (t) xi,j (t)] (4.5)

onde: vi,j a velocidade da i-sima partcula na j-sima dimenso; j = 1, . . . , d, e d o nmero


de dimenses do problema; c1 e c2 so coeficientes de acelerao; r1 e r2 nmeros aleatrios de
duas sequncias uniformes no intervalo (0, 1) e w o peso de inrcia.
Aps o clculo da velocidade necessrio atualizar a posio da partcula na iterao t + 1
atravs da Equao 4.6, alm de atualizar a melhor posio da partcula (pbest) e a melhor posio
global (gbest) atravs das Equaes 4.7 e 4.8.

xi (t + 1) = xi (t) + vi (t + 1) (4.6)

(
pbest(t), se f (xi (t + 1)) f (pbest(t))
pbest(t + 1) = (4.7)
xi (t + 1), caso contrrio

gbest(t + 1) = argmin(f (pbesti (t + 1))), 1 i n, (4.8)


pbesti

O valor de cada componente vi pode ser restringido ao intervalo [vmax , vmax ] para reduzir a
probabilidade de que as partculas deixem o espao de busca.
Seguindo esses passos o PSO descrito pelo Algoritmo 1.

Algorithm 1 Particle Swarm Optimization


1: Inicialize as partculas em d dimenses com v e x aleatrios. O intervalo desses valores pode
ter domnio especfico.
2: Inicialize pbest com a posio inicial da partcula.
3: Inicialize gbest com a melhor posio de todo swarm
4: repeat
5: for all partcula i pertencente [1, . . . , n] do
6: Atualize vi e xi de acordo com as Equaes 4.5 e 4.6
7: Avalie a funo a ser minimizada
8: Se f (xi ) f (pbesti ), atualize pbesti .
9: Se f (pbest) f (gbest), atualize gbest.
10: end for
11: until critrio de parada seja atingido
CAPTULO 4. TCNICAS DE COMPUTAO BIOINSPIRADA 47

O algoritmo anterior foi o primeiro modelo proposto e conhecido como modelo gbest, por
levar em considerao a melhor soluo encontrada em todo swarm. Algumas otimizaes podem
ser feitas no algoritmo original e so descritas na prxima seo.

Modelo lbest

Desde a introduo do algoritmo PSO, vrias melhorias foram sugeridas, como por exemplo
o uso da inrcia w, resultando em uma convergncia mais rpida (vandenBergh & Engelbrecht,
2004). Outra melhoria do PSO original foi a incluso do conceito de vizinhana. As partculas so
divididas em grupos chamados de vizinhana, onde cada vizinhana mantm sua melhor soluo,
chamada lbest. Por exemplo, se a vizinhana adotada for igual a 2, a partcula i atualiza sua
velocidade considerando apenas os valores de pbest das partculas i 1 e i + 1. Dessa maneira, ao
invs da partcula levar em considerao a melhor soluo de todo swarm, utiliza apenas a melhor
soluo de sua vizinhana. Essa tcnica evita que as partculas fiquem presas a um mnimo local,
mas possui uma convergncia mais lenta (Eberhart & Kennedy, 1995).

Modelo gbest x Modelo lbest

Essa seo tem a finalidade de observar a performance das duas verses do PSO, gbest e lbest,
na otimizao da busca pelo mnimo global de funes.
Como primeiro exemplo, seja a funo

f (x) = sin(x)

que possui um mnimo global fmin (x) = 1, com x = 3/2. As partculas convergem com
facilidade para esse ponto quando utilizado o modelo gbest, j que essa funo no possui
mnimos locais. Agora, quando o modelo gbest usado para minimizar a funo de Rastrigin
(The MathWorks, 2006)

f (x1 , x2 ) = 20 + x21 + x22 10(cos2x1 + cos2x2 )

que possui diversos mnimos locais e apenas um mnimo global, esse mesmo modelo falha em
alguns momentos na busca pelo mnimo global. Na funo de Rastrigin o mnimo global est
localizado no ponto (0, 0). Na maioria das vezes as partculas se prendem aos mnimos locais, sem
conseguir explorar toda a funo e encontrar o mnimo global.
Quado o modelo lbest aplicado na resoluo da funo de Rastrigin, as partculas convergem
para o mnimo global e no para o mnimo local. Na Figura 4.3 pode-se observar que para essa
funo todas as partculas tendem a convergir para o mnimo global com o passar do tempo. En-
tretanto, como a posio inicial das partculas escolhida aleatoriamente, pode acontecer que em
algumas execues o modelo gbest tenha melhor desempenho do que o modelo lbest.
48 4.2. OTIMIZAO POR NUVEM DE PARTCULAS - PSO

Figura 4.3: Convergncia das partculas para o mnimo global da funo de Raistrigin

4.2.2 PSO com velocidade adaptativa


A definio clssica de PSO descrita na seo anterior, chamada modelo gbest, utiliza informa-
es obtidas por todo swarm para atualizar a velocidade das partculas. Enquanto isso o modelo
lbest estabelece a noo de vizinhana, atualizando a velocidade da partcula i a partir das melho-
res solues das partculas i 1 e i + 1 (considerando uma vizinhana de tamanho 2). O conceito
de vizinhana est presente em swarms naturais, onde a atualizao da localizao e velocidade
feita de acordo com o comportamento de seus vizinhos. Quando uma partcula est rodeada por
vizinhos movimentando-se em diferentes direes, natural que essa partcula movimente-se ale-
atoriamente e com baixa velocidade. Por outro lado, quando existe uma direo dominante entre
seus vizinhos, a partcula pode seguir tal direo com maior velocidade.
O trabalho de (Li & Wang, 2007) prope um modelo de PSO com velocidade adaptativa, onde
cada partcula ajusta sua direo e velocidade de acordo com o comportamento de seus vizinhos.
A posio do agente atualizada de acordo com o modelo de Vicsek (Vicsek et al., 1995) e a
velocidade ajustada de acordo com um parmetro de ordem local usado para medir o consenso
de direo entre os vizinhos do agente, conforme descrito a seguir.

Modelo com velocidade constante de Vicsek

O modelo de Vicsek busca o alinhamento de direes em sistemas formados por partculas, e


baseia-se em uma nica regra: a cada iterao, uma partcula com velocidade absoluta constante
assume a mdia de direo de movimento das partculas na sua vizinhana de raio r, mais a adio
de alguma pertubao aleatria.
Considere uma swarm formada por n partculas movimentando-se de maneira sincronizada no
espao complexo. Cada partcula i movimenta-se com a mesma velocidade v0 mas com diferentes
direes. As posies iniciais das partculas so escolhidas aleatoriamente. A direo inicial de
cada partcula escolhida aleatoriamente no intervalo [0, 2). A cada iterao t, a partcula i
atualiza sua direo de acordo com a Equao 4.9. [i (t)]r a mdia de direo de movimento
CAPTULO 4. TCNICAS DE COMPUTAO BIOINSPIRADA 49

dos vizinhos da partcula i. Os vizinhos da partcula i so as partculas que encontram-se dentro


de um crculo de raio r com centro na posio atual de i. A direo da partcula i, i (t), tambm
levada em considerao no clculo de i (t + 1). uma pertubao aleatria escolhida com
probabilidade uniforme no intervalo [/2, /2] e um parmetro livre (definido pelo usurio).

i (t + 1) = hi (t)ir + (4.9)

O sistema apresenta dois estados distintos: na ausncia de pertubao, todas as partculas


alinham-se rapidamente na mesma direo; com pertubao mxima, as partculas movimentam-
se aleatoriamente. A transio entre esses dois estados pode ser caracterizada pelo parmetro de
ordem definido na Equao 4.10.

n
1 X ij (t)
(t) = e , 0 (t) 1 (4.10)
n j=1

Atravs do parmetro de ordem possvel identificar o momento em que a movimentao das


particulas do sistema deixa de ser aleatria passando a ser ordenada.

Modelo com velocidade adaptativa

No modelo com velocidade adaptativa proposto por (Li & Wang, 2007), cada partcula ajusta
sua direo e velocidade de acordo com o comportamento de seus vizinhos. Para isso um parmetro
de ordem local do agente i, no espao complexo, definido pela Equao 4.11.

n
ii (t+1) 1 X
i (t + 1)e = eij (t) , i = 1, 2, ..., n e t = 1, 2, ... (4.11)
ni (t + 1)
ji (t+1)

onde eij (t) o vetor unitrio direcional e i (t + 1) o conjunto de ni (t + 1) vizinhos da partcula i


no instante (t+1). O parmetro de ordem local i (t+1) mede o consenso local de direo entre os
vizinhos de i no instante (t+1): quando i 0 as partculas movimentam-se desordenamente, sem
uma direo dominante; quando i 6= 0 as partculas possuem direo relativamente dominante
e i = 1 apenas quando todos as partculas de i movem-se na mesma direo. Assim, maiores
valores para i indicam maior concordncia de direo entre os vizinhos. A direo de movimento
da partcula i dada pelo ngulo i (t + 1) [0, 2), resultante da mdia da direo de movimento
das partculas que formam o conjunto i (t + 1).
A posio da partcula i no instante t definida no plano complexo por x~i (t). Duas partculas i
e j so consideradas vizinhas no instante t se k~xi (t) x~j (t)k r. A cada instante t, toda partcula
atualiza sua direo de movimento, velocidade e posio, conforme as Equaes 4.9, 4.11 e 4.12,
respectivamente.

x~i (t + 1) = x~i (t) + v0 i eij (t) (4.12)


50 4.3. APRENDIZADO POR REFORO

Na Equao 4.12 v~i (t) v0 i eij (t) representa a movimentao da partcula i no instante t
vi (t)| = v0 i e direo eij (t) .
com velocidade |~
O parmetro 0 indica grau de consenso entre as direes dos vizinhos de i que deve
ser atingido para que a partcula movimente-se com maior ou menor velocidade. A influncia
da escolha de na velocidade das partculas ilustrada na Figura 4.4. Se = 0, ento i
1 e o modelo adaptativo reduz-se ao modelo de Vicsek com velocidade constante. Se > 0,
ser necessrio que todos os seus vizinhos tenham atingido um consenso em relao a direo
de movimento para que a partcula mova-se com velocidade mxima. Quanto maior o valor de ,
maior deve ser o consenso entre a direo de movimento dos vizinhos para que a partcula mova-se
com maior velocidade.

Figura 4.4: Influncia de na definio do coeficiente de velocidade c (). Para qualquer valor
de , c () = 1 se = 1. Para = 0, c () 1. Para 0 < < , 0 < c () < 1 se 0 < < 1.
Para = , c () = 0 se 0 < < 1.

Inicialmente, i e x~i (0) j encontram-se disponveis para a partcula i. Para cada partcula i, so
calculados a direo de movimento i (0) (atravs da mdia de direo de movimento dos vizinhos
de i) e i (0) (de acordo com o parmetro de ordem local descrito na Equao 4.11). Isso significa
que desde o incio, com t = 0, a partcula movimenta-se com velocidade adaptativa.
Segundo (Li & Wang, 2007), para valores suficientemente grandes de a probabilidade de
convergncia do sistema alta. Particularmente, a possibilidade de convergncia perto de 1
quando = mesmo sem a presena de uma partcula lder ou qualquer outra informao
global.

4.3 Aprendizado por Reforo


A interao com o ambiente uma das principais e mais naturais formas de aprendizado usada
pelo ser humano. Nesse tipo de aprendizado no h professores, e sim o ambiente que responde
CAPTULO 4. TCNICAS DE COMPUTAO BIOINSPIRADA 51

execuo de uma ao e sofre consequncias relacionadas a essas aes a fim de atingir algum
objetivo. Como exemplo, considere a construo de um rob, ou agente, que tem como objetivo
recarregar sua bateria sempre que estiver baixa. Para isso, o rob precisa aprender quais aes
tomar interagindo com o ambiente para atingir o objetivo. O rob capaz de observar o estado
em que o ambiente est e escolher como alterar esse estado a partir de um conjunto de aes. As
possveis aes podem ser andar em frente ou virar. Sua tarefa aprender uma estratgia de
controle, ou poltica, para escolher as aes que o levem a atingir seu objetivo. Para que o agente
possa distinguir entre as aes necessrio a definio de uma funo de recompensa que atribui
um valor numrico ao escolhida. Por exemplo, aes que levam o rob diretamente a recarregar
a bateria quando estiver baixa, seu objetivo, podem levar a recompensas altas; para as demais
aes podem ser atribudas recompensas de valor zero, por exemplo. Assim, a tarefa do rob
executar vrias aes, analisar as consequncias e definir uma poltica. A poltica desejada aquela
que, independente do estado inicial, escolhe aes que maximizam a recompensa acumulada pelo
agente (Mitchell, 1997).
Inmeros problemas reais podem ser abordados como o exemplo acima, onde o objetivo
maximizar a recompensa ou minimizar os custos acumulados (Mitchell, 1997). Por exemplo,
problemas de otimizao de uma fbrica, onde uma sequncia de aes de produo deve ser es-
colhida, com o objetivo de maximizar o valor das mercadorias menos os custos envolvidos em sua
produo. Assim, os problemas tratados pelo aprendizado por reforo so aqueles onde o agente
deve aprender a escolher aes que alterem o estado do ambiente e uma funo de recompensa
acumulativa usada para definir a qualidade de uma sequncia de aes. Nesse contexto, os pro-
blemas podem ter algumas limitaes, como permitir que aes tenham sadas determinsticas ou
no-determinsticas, ou onde no existe conhecimento sobre o efeito das aes no ambiente.
A interao do sistema de aprendizagem, ou agente, com o ambiente pode ser modelada como
um processo de deciso Markoviano ou MDP (Markovian Decision Process) (Sutton & Barto,
1998), como mostra a Figura 4.5. Essa interao do agente com o ambiente composta por um
conjunto de estados, um conjunto de aes relacionadas a cada estado e atribuio de custos pela
ao tomada. Em outras palavras, estados so observados, aes so tomadas e custos so atri-
budos em unidades de tempo discretas (Haykin, 1999). A seguir cada um dos componentes que
compem o processo de aprendizagem so descritos em detalhes:

o agente: deve aprender atravs da experincia adquirida a tomar decises a partir da intera-
o com o ambiente.

um conjunto finito de estados X que descreve o ambiente: o ambiente muda de estado


medida em que h interao entre o agente e o ambiente, sendo Xn o estado ocupado pelo
ambiente no tempo discreto n.

um conjunto finito de possveis aes Ai : as aes podem ser tomadas pelo agente para cada
estado i, denotado por Ai = {aik }, onde k indica a possibilidade de escolha de mais de uma
52 4.3. APRENDIZADO POR REFORO

ao a ser executada pelo agente no estado i. Aps a execuo de uma ao pelo agente, o
estado ocupado pelo ambiente modificado. O transio do estado i para um novo estado j
pode ser probabilstica ou no.

uma funo de custo (ou funo de reforo) g(i, aik , j): para cada transio feita pelo ambi-
ente do estado i a um novo estado j, devido ao aik , um custo imediato atribudo. Nesse
momento acontece o reforo: se a ao tomada pelo agente boa, o custo baixo (o agente
recebe uma recompensa); se no uma boa ao, o custo atribudo alto (o agente sofre
uma penalidade).

Figura 4.5: Diagrama da interao entre o sistema de aprendizado e seu ambiente.

A tarefa do agente encontrar um mapeamento de estados em aes que minimizem ou ma-


ximizem o valor de uma funo objetivo. Nesse trabalho ser considerado que o agente deve
minimizar uma funo de custo, que pode ser facilmente estendido para casos em que o objetivo
a maximizao da recompensa.
Esse mapeamento de estados em aes chamado poltica e denotada por . A poltica uma
funo : X A, que mapeia um estado Xn = i em uma ao An = a no tempo n = 0, 1, 2, . . . .
Esse mapeamento tal que (i) Ai para todos estados i X, onde Ai corresponde ao conjunto
das possveis aes que o agente pode tomar no estado i.
O objetivo do agente aprender a funo que minimiza a funo de custo, ou seja, (i) = a
tal que a seja a ao tima a ser tomada no estado i. Em outros mtodos de aprendizado de
funes, atravs de redes neurais por exemplo, esto disponveis exemplos de treinamento na forma
{i, (i)}. No aprendizado por reforo o que est disponvel ao agente o valor do custo (ou
recompensa) imediato da ao executada, o que implica que as aes no podem ser escolhidas
isoladamente: a escolha de uma ao de baixo custo pode levar a aes de alto custo no futuro, o
que no desejado. Esse o problema de atribuio de crdito (Haykin, 1999), onde necessrio
balancear o custo das aes imediatas em relao ao custo de aes futuras.
Um dos principais desafios enfrentados no aprendizado por reforo a necessidade de balan-
cear explorao do ambiente e conhecimento adquirido 1 . A cada passo o agente deve fazer uma
escolha: escolher uma ao j conhecida com maior recompensa ou escolher uma ao desconhe-
cida e explorar o ambiente, descobrindo talvez uma ao mais vantajosa.
1
em ingls, exploration x exploitation
CAPTULO 4. TCNICAS DE COMPUTAO BIOINSPIRADA 53

4.3.1 O Aprendizado
A questo principal do aprendizado por reforo como medir quo bom para o agente estar
no estado i em funo do custo. Isso pode ser medido pela estimativa de uma funo valor. Como
o custo total depende das aes tomadas pelo agente, a funo valor definida em relao a uma
poltica especfica. Para isso, vamos considerar inicialmente que cada par estado-ao leva a
apenas um estado. Essa definio ser estendida posteriormente.
O agente busca aprender uma poltica selecionando a prxima ao a para o estado atual i tal
que a = (i). Uma maneira intuitiva de aprendizado escolher uma poltica que produz o menor
custo acumulado a partir de um estado inicial X0 = i arbitrrio (Mitchell, 1997), como mostra a
Equao 4.13:

V (i) = g(X0 , (X0 ), X1 ) + g(X1 , (X1 ), X2 ) + 2 g(X2 , (X2 ), X3 ) + . . .


P n (4.13)
= n=0 g(Xn , (Xn ), Xn+1 )|X0 = i

A funo V (i) chamada funo valor para a poltica a partir do estado i, ou seja, uma soma
dos custos atribudos a cada ao tomada a partir do estado i seguindo a poltica . De maneira
intuitiva, a funo valor V (i) estima o quanto lucrativo estar no estado i (Sutton & Barto,
1998). Por lucrativo, entende-se o ganho esperado no futuro a partir do estado i. A diferena entre
a funo de custo e a funo valor que a primeira determina o custo imediato da ao, enquanto
a segunda diz qual o custo esperado caso determinada ao seja tomada no estado atual.
O parmetro usado na Equao 4.13 chamado fator de desconto, onde 0 < 1. Caso =
0 apenas custos imediatos so considerados; a medida que aproxima-se de 1, os custos futuros
so mais relevantes em relao aos custos imediatos. Assim, atravs do valor de possvel
balancear as consequncias das decises a longo-prazo em relao as decises a curto-prazo.
razovel que V considere custos futuros menos relevantes, descontando exponencialmente seu
valor n , j que em muitos casos preferivel diminuir os custos no presente do que no futuro
(Mitchell, 1997).
possvel redefinir V (i), atravs da relao entre o valor do estado i e seus estados posteriores
(Haykin, 1999), como mostra a Equao 4.14.

V (i) = g(i, (i), X1 ) + V (X1 ) (4.14)

Como o objetivo do agente aprender uma poltica que minimize o custo total dado por V ,
seu valor timo, denotado por V (i), pode ser definido de acordo com a Equao 4.15:

V (i) = min V (i) (4.15)


Em outras palavras, a poltica tima pode ser escrita como: = argmin V (i), i X
54 4.3. APRENDIZADO POR REFORO

Funo de transio de estados: no-determinismo

Em alguns problemas de deciso markoviano possvel que uma mesma ao leve a mais de
um estado, oferecendo consequentemente custos diferentes. Em um problema onde o agente deve
aprender a jogar gamo por exemplo, cada ao naturalmente probabilstica, j que depende do
resultado de um lance de dados (Mitchell, 1997).
Seja pij (a) o termo que indica a probabilidade de estando no estado i ir ao estado j devido
ao a, ou seja, pij (a) = P (Xn+1 = j|Xn = i, An = a). Alm disso, a probabilidade de transio
pij (a) deve obedecer duas restries:
(1) pij (a) 0, para todo i e j;
P
(2) j pij (a) = 1, para todo i.

Uma maneira de considerar o no-determinismo na funo valor descrita pela Equao 4.14
utilizar o valor esperado do custo total acumulado quando a poltica seguida, como mostra a
Equao 4.16

V (i) = E[g(i, (i), X1 ) + V (X1 )] (4.16)

Agora, para calcular o valor esperado de V (i) necessrio calcular E[g(i, (i), X1 )] e E[V (X1 )]:

1. E[g(i, (i), X1 )]: o custo imediato esperado de g(i, (i), X1 ) em relao a um estado X1
seguindo a ao determinada pela poltica . Assim:

N
X
E[g(i, (i), X1 )] = pij ((i)) g(i, (i), j)
j=1

onde N o nmero de estados do ambiente e pij a probabilidade de transio do estado


inicial i para o novo estado j. Para simplificar, o custo imediato esperado ser denotado por
c(i, (i)):

N
X
c(i, (i)) = pij ((i)) g(i, (i), j) (4.17)
j=1

2. E[V (X1 )]: todos os possveis estados que a ao sugerida pela poltica pode levar devem
ser considerados no clculo dos custos futuros:
N
X
E[V (X1 )] = pij ((i))V (j)
j=1

Assim, a funo valor considerando o no-determinismo na transio de estados descrita pela


Equao 4.18.
CAPTULO 4. TCNICAS DE COMPUTAO BIOINSPIRADA 55

N
X

V (i) = c(i, (i)) + pij ((i)) V (j), i = 1, 2, ..., N (4.18)
j=1

A definio da funo valor tima no sofre alteraes, e continua a ser definida pela Equao
4.15.

Q-valor

Para que o agente possa aprender quais aes tomar necessrio que consiga diferenciar, ou
classificar, as diferentes aes possveis para cada estado. Suponha que o agente encontra-se no
estado i e deve escolher uma ao. O impacto da escolha da ao atual pode ser quantificado
atravs de uma adaptao da funo valor, como mostra a Equao 4.19:

N
X
Q (i, a) = c(i, a) + pij (a) V (j) (4.19)
j=1

O Q-valor para um estado i X e ao a Ai definido como o custo imediato atribudo


ao a mais o custo dos estados sucessores seguindo a poltica (Haykin, 1999). A diferena entre
a funo valor e o Q-valor que a primeira tem como argumento um estado i e mostra o custo total
seguindo a poltica desde o primeiro instante, enquanto o segundo tem como argumento uma
ao a Ai que no necessariamente a mesma definida pela poltica. Assim todas as aes
possveis para o estado i podem ser classificadas de acordo com o custo total que sua escolha
acarreta.
A Figura 4.6 ilustra o funcionamento do Q-valor. Dados um estado i e uma ao a Ai :

O sistema est no estado i e uma ao a Ai tomada. O prximo estado (i, a) determi-


nisticamente.

O sistema est no estado (i, a), o que significa que no estado i a deciso a foi tomada e
realizada uma transio com probabilidade pi j(a) ao estado j com custo g(i, a, j) (Haykin,
1999).

Figura 4.6: Interpretao do Q-valor (Haykin, 1999)


56 4.3. APRENDIZADO POR REFORO

Ento a ao que minimiza o custo da funo valor e deve ser escolhida pela poltica (i)
dada pela Equao 4.20.

Q (i, (i)) = argmin Q (i, a) (4.20)


aAi


O Q-valor timo Q (i, (i)) ento obtido substituindo, na Equao 4.20, a poltica arbitr-
ria pela poltica tima .

4.3.2 Q-learning
Q-learning um procedimento incremental que determina a poltica tima de uma maneira
passo a passo. Esse mtodo foi apresentado inicialmente por (Watkins, 1989) e usado para
resolver problemas de deciso Markovianos, onde no h conhecimento das probabilidades de
transio. Com o aprendizado dos Q-valores o agente capaz de aprender tambm a poltica
tima. O aprendizado da poltica tima d-se atravs da experincia obtida com base em exemplos
da forma:

sn = (in , an , jn , gn ) (4.21)

onde n denota o tempo discreto, e cada exemplo sn consiste em: uma ao an tomada no estado in
que resulta em uma transio para o estado jn = in+1 com um custo gn = g(in , an , jn ).
A base do algoritmo de (Watkins, 1989) est na estreita ligao entre o Q-valor e a funo valor
V :
V (j) = min Q(j, b)
bAj

Atravs dessa relao, possvel reescrever a Equao 4.19:

N
X
Q(i, a) = c(i, a) + (pij (a) min Q(j, b))
bAj
j=1

Pela definio de c(i, a) dada pela Equao 4.17 possvel formular a Equao 4.22:

N
X  
Q(i, a) = pij (a) g(i, a, j) + min Q(j, b) (4.22)
bAj
i=1

Apesar da Equao 4.22 fornecer uma forma de atualizao dos Q-valores, ainda leva em con-
siderao a probabilidade de transio pij . Essa dependncia pode ser eliminada considerando um
nico exemplo da forma sn = (in , an , jn , gn ) como descrito em 4.21, e no todas as possibilidades
de transio (Haykin, 1999). Assim os Q-valores so obtidos atravs da interao do agente com
o ambiente, como mostra a Equao 4.23.
CAPTULO 4. TCNICAS DE COMPUTAO BIOINSPIRADA 57

Q(in , an ) = g(in , an , jn ) + min Q(jn , b) (4.23)


bAjn

At o momento j possvel obter o Q-valor sem o conhecimento das probabilidades de tran-


sio. Agora necessrio definir uma regra de aprendizado para os Q-valores. Para isso, o agente
possui uma tabela relacionando todos os pares estado-ao (i, a). Cada item dessa tabela, Qn (i, a),
representa a estimativa do Q-valor feita pelo agente at a iterao n. Se o ambiente fosse deter-
minstico, ou seja, se a partir do estado i toda execuo da ao a levasse ao mesmo estado j, a
Equao 4.23 poderia ser utilizada como regra de aprendizado dos Q-valores. Agora, em um ambi-
ente no-determinstico, essa regra de aprendizado poderia no convergir. Considere a atualizao
do Q-valor Qn (i, a). Sendo i o estado atual, uma ao a pode levar a estados diferentes, e o custo
associado a cada transio tambm seria diferente. Dessa maneira, mesmo que os Q-valores da
tabela Qn (i, a) fossem timos inicialmente, seriam modificados repetidamente pela Equao 4.23
e consequentemente no haveria convergncia. Essa dificuldade pode ser superada adicionando-se
uma taxa de aprendizagem que diminua gradualmente o impacto de novos exemplos na atualizao
dos Q-valores. A atualizao do Q-valor a partir da nova regra de aprendizado dada pela Equao
4.24

Qn+1 (i, a) = (1 n (i, a))Qn (i, a) + n (i, a)[g(i, a, j) + min Qn (j, b)] para (i, a) = (in , an )
bAj
(4.24)
onde j o estado sucessor, resultante da tomada da ao an no estado in , e n (in , an ) a taxa de
aprendizado no tempo n para o par estado-ao (i, a).
O valor da taxa de aprendizado n (in , an ) controla o peso que ser dado para a experincia
recm adquirida em relao ao Q-valor j existente. Ela diferente para cada exemplo (in , an )
para assegurar que a taxa de aprendizado seja alta quando tratar-se de um par estado-ao que foi
visitado poucas vezes e baixa caso contrrio.
Um valor de n (i, a) que garante a convergncia para valores timos de Q (i, a) (Haykin, 1999)
dada por:

n =
+n
onde e so inteiros positivos. Essa definio de taxa de aprendizado garante que as mudanas
de Q(i, a) sejam feitas gradualmente.
No Q-learning, a cada iterao o agente repetidamente observa seu estado atual in , escolhe
uma ao an , executa essa ao e observa o novo estado jn e o custo gn atribudo a ao. A
Equao 4.24 atualiza o valor da tabela apenas para o par estado-ao atual (in , an ). Os Q-valores
dos demais pares estado-ao no so modificados.
Aps o clculo dos Q-valores timos, possvel obter de forma direta a poltica tima, esco-
lhendo a ao a que minimize o Q-valor para o estado i.
58 4.3. APRENDIZADO POR REFORO

4.3.3 Programao Neurodinmica


A definio de uma poltica tima para problemas de deciso Markovianos pode ser modelada
matematicamente atravs da programao dinmica. O objetivo escolher a melhor ao a ser
tomada pelo sistema para cada possvel estado do ambiente. A programao dinmica baseia-se
no princpio de diviso e conquista, que diz que uma poltica tima pode ser obtida construindo
uma poltica tima para um sub-problema e estend-la at que o problema tenha sido resolvido por
completo (Haykin, 1999).
Entretanto o uso de programao dinmica para resoluo de problemas muito grandes limi-
tado devido maldio da dimensionalidade (Bellman, 1957), pois a medida que cresce o nmero
de estados e o nmero de aes possveis, crescem tambm os requisitos computacionais da progra-
mao dinmica. Apesar disso, os mtodos de programao dinmica so eficientes na resoluo
de problemas de deciso Markovianos se comparados com outros mtodos, como programao
linear por exemplo (Sutton & Barto, 1998).
Apesar do grande nmero de estados serem caractersticas intrnsecas de problemas complexos,
outro fator deve ser levado em considerao na escolha de um mtodo para encontrar uma poltica
tima: insuficincia de informaes a respeito do ambiente. Os algoritmos de programao din-
mica usados na determinao de uma poltica tima tm como requisitos o conhecimento prvio do
ambiente, ou seja, conhecimento das probabilidades de transio pij e dos custos g(i, a, j)(Sutton
& Barto, 1998).
Em problemas dessa natureza, com grande nmero de estados e/ou insuficincia de informa-
es, a aplicao de mtodos de programao dinmica torna-se invivel ou impossvel. Por isso
pode ser necessrio optar por uma poltica sub-tima, o que pode ser feito pela Programao Neu-
rodinmica. Nesse contexto, o interesse recai sobre procedimentos que utilizem redes neurais e/ou
simulao para aproximar a funo valor V (i) para todo i X.
A funo valor V (i) tima substituda por uma aproximao V (i, w), onde w o vetor de
pesos de uma rede neural. Logo, a funo V (i, w) a sada da rede neural em resposta ao estado i
oferecido como entrada, como mostra a Figura 4.7.

Figura 4.7: Utilizao de rede neural para aproximao da funo valor V (Haykin, 1999)

O objetivo ento solucionar problemas de programao dinmica com grande nmero de es-
tados em que a funo valor V (i, w) pode ser descrita por um vetor de pesos de pequena dimenso
(Haykin, 1999). Na abordagem tradicional do problema, os valores da funo valor de todos os
estados so armazenados em uma tabela, chamada lookup table. J na representao compacta
CAPTULO 4. TCNICAS DE COMPUTAO BIOINSPIRADA 59

(utilizando a rede neural) apenas o vetor de pesos w e a estrutura da rede so armazenados. Alm
disso, o clculo de V (i, w) gerado somente quando necessrio. Naturalmente, desejado que a
escolha de w seja feita de modo que V (., w) possa aproximar de maneira razovel V (.)
A aplicao de redes neurais feita geralmente em problemas onde a rede neural usada como
um aproximador universal: o mapeamento entrada-sada da rede neural combinado a uma funo
no-linear com a inteno de minimizar algum erro (Haykin, 1999). Entretanto no h dados de
treinamento, ou seja pares {(i, V (i))} disponveis. Uma alternativa a utilizao da simulao
de Monte Carlo (Bertsekas & Tsitsiklis, 1996) na gerao de exemplos (in , an ) que fornecem
a experincia necessria com o ambiente. Assim possvel aplicar as tcnicas de programao
neurodinmica a problemas em que no h um modelo explcito disponvel.
O mtodo de Iterao de Poltica Aproximada utiliza redes neurais para aproximao da fun-
o valor e similar ao algoritmo de Iterao de Poltica definido pela programao dinmica. A
Iterao de Poltica, consiste na melhora de uma poltica arbitrria atravs de diversas iteraes, al-
ternando entre etapas de avaliao de poltica (onde so calculados os valores da funo valor e dos
Q-valores usando a poltica atual) e atualizao de poltica (onde a poltica melhorada, refletindo
os novos valores calculados no passo anterior). Esses dois passos so alternados at que no haja
mais mudanas na funo valor. No mtodo de Iterao de Poltica Aproximada, o passo de avali-
ao de poltica substitudo por uma avaliao aproximada. O clculo da funo valor feito por
uma rede neural (por exemplo, Multilayer Perceptron treinado com o algoritmo backpropagation
(Haykin, 1999). Dada a poltica atual , V (i, w) aproxima a funo valor real V (i). O vetor de
pesos w da rede neural determinado atravs do mtodo dos mnimos quadrados (Haykin, 1999),
em que a sada desejada dada pela simulao de Monte Carlo (Bertsekas & Tsitsiklis, 1996).
importante ressaltar que para que o algoritmo de iterao de poltica aproximada tenha resultados
satisfatrios, necessrio escolher adequadamente a poltica inicial, o que pode ser feito atravs
de heursticas (Haykin, 1999).
Outro mtodo utilizando na programao neurodinmica chamado Q-learning Aproximado.
O algoritmo baseado no Q-learning e utiliza redes neurais na definio da regra de aprendizado
dos Q-valores. Maiores detalhes podem ser obtidos em (Haykin, 1999).

4.4 Consideraes Finais


Neste captulo foram apresentados alguns modelos computacionais inspirados biologicamente.
Tcnicas bioinspiradas destacam-se por possurem poucos parmetros a serem ajustados e pode-
rem ser facilmente aplicadas a diferentes problemas. Foram descritas neste captulo trs tcnicas
biologicamente inspiradas: Colnia de Formigas, baseado na capacidade de formigas reais em
realizarem tarefas complexas coletivamente; Otimizao por Nuvem de Partculas, inspirada no
comportamento social; e Aprendizado por Reforo, onde o aprendizado d-se pela interao com
o ambiente, que oferece recompensas e penalizaes a cada ao executada.
60 4.4. CONSIDERAES FINAIS

No Captulo 5, o algoritmo de clusterizao proposto, envolvendo as reas de redes complexas


e computao bioinspirada, ser descrito em detalhes. Alm disso ser apresentado um exemplo
simples, ilustrando passo a passo a execuo do algoritmo.
C APTULO

5
Clusterizao de dados e deteco de
comunidades

comum que conjuntos de dados apresentem grupos de dados de diferentes formas, tamanhos
e densidades. Muitos algoritmos de clusterizao tm dificuldades em lidar com essas variaes
(Karypis et al., 1999). Por exemplo, algoritmos baseados em particionamento, como o K-Mdias,
conseguem identificar apenas clusters de formas esfricas com tamanhos similares. J algoritmos
baseados em grafos, como Single Linkage e Chameleon, so capazes de reconhecer clusters de
diferentes formas, tamanhos e densidades. Isso acontece principalmente pela representao dos
dados em forma de grafos. Essa modelagem revela a relao topolgica entre os dados de entrada
e no sua estrutura geomtrica.
Embora a representao dos dados em forma de um grafo oferea a vantagem de detectar
clusters de formas e tamanhos arbitrrios, algumas restries so encontradas, j mencionadas na
Seo 2.3.5. Abordagens baseadas em grafos geralmente buscam por solues exatas, tornando
restrita suas aplicaes em problemas reais, que normalmente envolvem milhares ou at milhes
de dados. Para contornar tal restrio, existem heursticas que oferece solues prximas tima
em muitos casos, tal como adotado em tcnicas de deteco de comunidades em redes complexas.
Redes complexas oferecem uma maneira eficiente para lidar com grafos formados por muitos
de vrtices, pois buscam por uma soluo prxima tima usando abordagens probabilsticas
e estatsticas (Newman, 2003). Como j foi discutido no Captulo 3, muitas redes complexas
compartilham uma propriedade interessante: a existncia de grupos de ns densamente conectados
entre si e pouco conectados com ns de outros grupos. Esses agrupamentos de ns so denotados

61
62 5.1. VISO GERAL

comunidades. Quando a rede modela a similaridade entre os dados, a identificao de comunidades


na rede corresponde identificao de clusters no conjunto de dados.
O algoritmo proposto nesse trabalho baseado em grafos e na deteco de comunidades em
redes complexas. A deteco de comunidades realizada com base na otimizao por nuvem de
partculas (PSO) com velocidade adaptativa, de acordo com o modelo descrito na Seo 4.2.2. Nas
prximas sees o algoritmo descrito em detalhes. apresentada tambm uma execuo passo a
passo do algoritmo com uma rede simples como entrada, exemplificando seu funcionamento.

5.1 Viso geral


O algoritmo proposto procura aliar as vantagens da representao dos dados em forma de um
grafo com a capacidade das redes complexas em lidar com grande volume de dados. O algoritmo
formado por dois passos:

1. Modelagem dos dados como uma rede. Nessa rede cada n representa um dado do conjunto
de entrada, e a interao entre dois dados indicada pela presena ou ausncia de uma aresta
entre eles. Essa rede pode ou no possuir um peso, quantificando a interao entre dois
dados. A formao da rede descrita na Seo 5.2.

2. Com a rede gerada como entrada, o segundo passo divid-la hierarquicamente em clusters.
Nessa etapa, cada n possui um ngulo inicial, que atualizado gradualmente de acordo com
os ngulos de seus vizinhos. Assim, cada cluster identificado com base na concordncia
entre os ngulos dos ns da rede. A regra de atualizao dos ngulos e o algoritmo baseado
nessa regra so descritos respectivamente nas Sees 5.3 e 5.4.

5.2 Formao da rede


A modelagem do conjunto de dados em um grafo adotada por inmeros algoritmos de clus-
terizao (Schaeffer, 2007). Nessa abordagem, o conjunto de dados, formado por n items, repre-
sentado por um conjunto de vrtices V = {v0 , ..., vn1 }. Cada vrtice vi V corresponde a um
dado no espao de atributos. A existncia da aresta (vi , vj ) definida de acordo com uma medida
de similaridade pr-definida. Nesse trabalho a distncia euclidiana foi adotada como medida de
similaridade entre dois dados.
Uma maneira comum de modelar um conjunto de dados como rede tcnica de K-vizinhos mais
prximos (KNN), utilizada pelo algoritmo Chameleon, descrito na Seo 2.3.5. Nessa abordagem,
cada vrtice conectado aos seus K vizinhos mais prximos. Assim, vi ser conectado ao vrtice
vj se vj N NK (i) ou vi N NK (j), onde N NK (i) o conjunto dos K vizinhos mais prximos
de vi .
CAPTULO 5. CLUSTERIZAO DE DADOS E DETECO DE COMUNIDADES 63

Dentre as vantagens de gerar uma rede atravs da tcnica KNN esto a esparsidade da rede
resultante e o fato de que dois dados pouco similares no se encontram conectados na rede. En-
tretanto, a rede gerada pode no representar corretamente o conjunto de dados. Se for escolhido
um valor muito alto para K dois clusters diferentes podem ser fortemente conectados. J a escolha
de um valor baixo para K pode fazer com que um cluster grande seja erradamente dividido em
clusters menores.
Na modelagem proposta, a rede gerada inicialmente atravs da tcnica KNN. Para minimizar
o problema acarretado pela escolha de um valor alto para K, as arestas da rede gerada possuem um
peso. O peso entre dois ns dado pela distncia eles, como mostra a Equao 5.1.

dij = ||vj vi ||, (5.1)

onde || || a distncia euclidiana entre dois dados.


Assim, a similaridade entre dois dados preservada atravs do peso na aresta que os liga. O
problema de que dois clusters sejam fortemente conectados por um alto valor de K compensado
pela regra de atualizao dos ngulos de cada n, dando uma maior importncia a vizinhos mais
prximos, como ser descrito na seo a seguir.

5.3 Regra de atualizao do ngulo


A regra de atualizao de ngulo proposta baseada na tcnica de otimizao por nuvem de
partculas descrita na Seo 4.2.2. O objetivo principal da regra de atualizao aproximar ns
de um mesmo cluster e separar ns de diferentes clusters. Para isso, cada n vi V possui um
ngulo inicial i (t = 0), escolhido aleatoriamente no intervalo [0, 2). A cada iterao t, i
atualizado de acordo com os ngulos de seus vizinhos. Cada n pode ento ser considerado como
uma partcula em um sistema adaptativo: atravs da interao com os demais elementos, ns de
um mesmo cluster tendem a ter ngulos similares. A Figura 5.1 ilustra essa idia de agrupamento
de um n da rede artificial da Figura 5.2, onde a cor de cada n indica o cluster ao qual pertence.
A dinmica de atualizao dos ngulos definida pela Equao 5.2.
 PMi 
j=1 wij j (t)
i (t + 1) = i (t) + i (t) PMi i (t) (5.2)
j=1 wij

onde Mi o nmero de vizinhos do n vi , i (t) a taxa de atualizao do ngulo de vi na iterao


t e wij o peso dado a cada vizinho vj , representando a influncia de vj em vi .
A definio de wij tem como objetivo aproximar ns que pertencem ao mesmo cluster.
formado por duas partes: CN (vi , vj ) e SN (vi , vj ), conforme a Equao 5.3.

wij = CN (vi , vj ) SN (vi , vj ) (5.3)


64 5.3. REGRA DE ATUALIZAO DO NGULO

(a) (b)

Figura 5.1: As setas indicam o valor do ngulo de um n vi , da rede artificial da Figura 5.2, e
seus vizinhos. As cores indicam o cluster ao qual o n pertence. (a) Inicialmente os ngulos dos
ns movimentam-se aleatoriamente. (b) Aps algumas iteraes, ns de um mesmo cluster
entram em acordo e tendem a ter ngulos similares.

Figura 5.2: Rede artificial original. Ns de diferentes cores pertencem diferentes clusters.

CN (vi , vj ) pode ser considerado como uma regra de atrao entre ns de um mesmo cluster,
aproximando vizinhos que estejam mais prximos de vi . Isso definido pela Equao 5.4, onde o
parmetro controla o grau de influncia da vizinhana de vi . Alterando o valor de , possvel
ajustar a importncia de vj .

CN (vi , vj ) = edij (5.4)

A regra de atualizao de ngulos pode ser aplicada a redes sem peso. Nesse caso no existe o
conceito de distncia entre dois ns (a aresta sem peso indica apenas a presena ou no de interao
entre os ns) e CN (vi , vj ) = 1 para todos os pares de vizinhos (vi , vj ).
SN (vi , vj ) definido pela Equao 5.5, onde c(vi , vj ) o nmero de vizinhos em comum
entre os ns vi e vj . A idia que se dois ns pertencem ao mesmo cluster, eles provavelmente
compartilham um alto nmero de vizinhos. Assim SN (vi , vj ) acelera a aproximao desses ns.
Por outro lado, se dois ns compartilham poucos vizinhos, SN (vi , vj ) d pouca importncia
aproximao entre vi e vj .
CAPTULO 5. CLUSTERIZAO DE DADOS E DETECO DE COMUNIDADES 65

c(vi , vj )
SN (vi , vj ) = (5.5)
Mi
Assim, CN (vi , vj ) busca aproximar ngulos de todos os vizinhos de vi e SN (vi , vj ) dificulta
tal aproximao para vizinhos que pertenam a clusters diferentes, j que tais vizinhos possuem
provavelmente poucos vrtices em comum com vi . Entretanto SN (vi , vj ) no anula totalmente a
aproximao entre ns de clusters diferentes, apenas a diminui. Essa interferncia de ns de outros
clusters pode causar que os ngulos de todos os ns se aproximem, impedindo a identificao de
clusters. Para evitar esse efeito indesejado, uma taxa de atualizao do ngulo i (t) acrescentada
regra de atualizao de ngulo e definida pela Equao 5.6:


i (t) = e i (5.6)

onde um parmetro definido pelo usurio e i o desvio padro entre os ngulos de vi e seus
vizinhos.
A taxa de atualizao do ngulo diminui conforme o desvio padro i entre os ngulos de vi
e seus vizinhos diminui. Como cada ngulo possui um valor inicialmente aleatrio, i possui um
valor alto. Assim i (t) 1 inicialmente, e os ngulos de cada n podem aproximar-se livremente
formando bandas (agrupamentos). Aps algumas iteraes de atualizao dos ngulos, i tem
seu valor reduzido, e consequentemente i (t) tambm reduzido. Quando i (t) 0, os ngulos
no so mais alterados, e o sistema considerado estvel.
Considerando a rede artificial da Figura 5.2, possvel ver a evoluo do processo de atualiza-
o de ngulos na Figura 5.3. Nesse exemplo usado = 5. Nesse caso, trs clusters podem ser
identificados pelos trs agrupamentos presentes na srie temporal.

Figura 5.3: Evoluo do processo de atualizao de ngulos. Nas primeira iteraes, os ngulos
encontram-se desordenados. Aps algumas iteraes, os ngulos dos vrtices dividem-se em
grupos estveis.

Entretanto, nem sempre todos os clusters so identificados em uma nica execuo do processo
de atualizao de ngulos. A Figura 5.4 mostra outra execuo do processo de atualizao ngulos
para a rede artificial da Figura 5.2, considerando = 5. possvel notar que o agrupamento
66 5.3. REGRA DE ATUALIZAO DO NGULO

de ngulos dos vrtices que pertencem originalmente aos clusters em azul e verde no so mais
facilmente identificados. Isso se deve a dois fatores: inicializao aleatria dos ngulos e nmero
de arestas ligando vrtices de clusters diferentes. Caso dois clusters sejam densamente conectados,
a diferenciao entre os agrupamentos pode tornar-se difcil. Alm disso, a inicializao aleatria
pode contribuir para que vrtices de dois clusters aproximem-se mais rapidamente. Para lidar com
essa situao, a rede particionada gradativamente pelo algoritmo de clusterizao, descrito na
Seo 5.4.

Figura 5.4: Evoluo do processo de atualizao de ngulos dos ns da rede artificial da Figura
5.2. A diviso de ngulos dos vrtices que pertencem originalmente aos clusters em azul e verde
no to clara, diferente do que acontece na execuo mostrada na Figura 5.3.

As subsees a seguir mostram a influncia dos parmetros da regra de atualizao de ngulos


na formao dos agrupamentos.

5.3.1 Clculo do peso wij


Essa subseo possui dois objetivos principais: mostrar como a variao de auxilia na iden-
tificao de clusters com diferentes nveis de refinamento; e mostrar os efeitos de SN (vi , vj ) (de-
finido pela Equao 5.5) no clculo de wij .
Um conjunto de dados pode apresentar clusters com diferentes nveis de refinamento, ou seja,
mais de uma estrutura (diviso) vlida para um mesmo conjunto de dados. Uma estrutura corres-
ponde a um refinamento de uma estrutura superior, com menor nmero de clusters. O algoritmo
proposto capaz de identificar diferentes estruturas atravs da variao do parmetro .
Um exemplo simples de conjunto de dados com mais de uma estrutura vlida o da Figura
5.5(a). Adotando um baixo grau de refinamento, o conjunto de dados pode ser dividido em 2
clusters, como mostra a Figura 5.5(b). Aumentando o nvel de detalhes, o conjunto de dados pode
ser dividido em 4 clusters, como mostra a Figura 5.5(c).
Considere a construo de uma rede tomando como entrada o conjunto de dados da Figura
5.5(a). A rede construda conforme a modelagem proposta na Seo 5.2. Para esse exemplo,
cada vrtice ligado aos seus K = 8 vizinhos mais prximos.
CAPTULO 5. CLUSTERIZAO DE DADOS E DETECO DE COMUNIDADES 67

(a)

(b) (c)

Figura 5.5: (a) Conjunto de dados original (b) Estrutura E1, baixo nvel de refinamento,
dividindo os dados em 2 clusters; (c) Estrutura E2, maior nvel de refinamento, dividindo os
dados em 4 clusters.

A Figura 5.6 mostra as interaes de um vrtice dessa rede, v0 , com seus vizinhos. Para mostrar
a influncia de na diferenciao de vrtices de diferentes clusters, a cor do vrtice indica a qual
cluster ele pertence originalmente, de acordo com a estrutura E2 apresentada na Figura 5.5(c). O
peso nas arestas indica a distncia euclidiana entre os vrtices.
Inicialmente, considere a definio do peso de um vizinho como sendo a regra de atrao entre
dois vrtices, ou seja, wij = CN (vi , vj ). A Figura 5.7 ilustra a variao de no clculo dessa
definio inicial de wij para o vrtice v0 . Conforme o valor de aumenta, o peso dado a vizinhos
mais distantes diminui, fazendo com que essas ligaes quase desapaream. Como esses vizinhos
so praticamente desconsiderados na atualizao do ngulo, como se eles pertencessem a um
outro cluster. Assim, se escolhido um valor alto para , as conexes entre vrtices distantes so
enfraquecidas, permitindo revelar a diviso de clusters com maior nveis de detalhes. Por outro
lado, se escolhido um valor pequeno para , mesmo as conexes entre vizinhos distantes tm
68 5.3. REGRA DE ATUALIZAO DO NGULO

Figura 5.6: Interaes entre o vrtice v0 e seus vizinhos, aps a modelagem do conjunto de dados
em uma rede, onde o peso nas arestas indica a distncia euclidiana entre os vrtices. A cor de
cada vrtice indica a qual cluster ele pertence originalmente, de acordo com a estrutura E2
apresentada na Figura 5.5(c).

grande participao na atualizao do ngulo de um vrtice, e a diviso dos dados em um nmero


menor de clusters pode ser encontrada.
Como pode ser observado na Figura 5.7, os vizinhos v4 e v5 tm a mesma participao na
atualizao do ngulo de v0 . Entretanto, apenas v4 pertence originalmente ao mesmo cluster de
v0 . Para garantir que v4 tenha maior peso do que v5 , usada a proporo de vrtices em comum
SN (v0 , vj ). Vrtices que pertencem ao mesmo cluster tendem a possuir maior proporo de vi-
zinhos em comum do que vrtices que pertencem a clusters diferentes. A Tabela 5.1 mostra a
proporo de vrtices em comum entre v0 e seus vizinhos. Como pode ser visto, a proporo de
vizinhos em comum entre v0 e v4 maior do que entre v0 e v5 .

Tabela 5.1: Proporo de vrtices em comum entre v0 e seus vizinhos (SN (v0 , vj ))

vj SN (v0 , vj )
v1 0.6666
v2 0.6666
v3 0.6666
v4 0.5555
v5 0.3333
v6 0.5555
v7 0.3333
v8 0.6666
v9 0.3333

O peso que cada vizinho tem na atualizao do ngulo de um vrtice pode ser redefinido como
wij = CN (vi , vj ) SN (vi , vj ). Na Figura 5.8 possvel notar a influncia de SN (v0 , vj ) no
CAPTULO 5. CLUSTERIZAO DE DADOS E DETECO DE COMUNIDADES 69

Figura 5.7: Relao entre o peso do vrtice vj na atualizao do ngulo de v0 e a variao de .


A cor da srie indica o cluster ao qual o vrtice pertence originalmente na estrutura E2.
Conforme o valor de aumenta, a influncia de vizinhos mais distantes na atualizao do ngulo
de v0 diminui mais acentuadamente do que a influncia de vizinhos mais prximos.

clculo final do peso wij . Como pode ser visto na figura, agora o vrtice v4 tem maior influncia
do que v5 na atualizao do ngulo de v0 . Isso acontece porque a proporo de vrtices em comum
entre v0 e v4 maior do que a proporo entre v0 e v5 . Alm disso, a Figura 5.8 mostra que os
vizinhos que pertencem ao outro cluster so os que tm menos influncia na atualizao do ngulo
de v0 .

5.3.2 Taxa de atualizao de ngulo e estabilidade do sistema


Conforme a Equao 5.6, a taxa de atualizao dos ngulos tem seu comportamento controlado
por dois parmetros: i e , onde o primeiro dependente da atualizao dos ngulos e o segundo
definido pelo usurio.
Para ilustrar a influncia de i na definio de i (t), considere um n vi da rede artificial da
Figura 5.2. Na simulao, tomado o valor constante de = 5. A Figura 5.9(a) mostra a evoluo
de i no decorrer das iteraes, enquanto a Figura 5.9(b) mostra a evoluo da taxa de aprendizado
i (t). Como pode ser observado, medida em que vi e seus vizinhos aproximam-se, o valor de
i (t) diminui, at que i (t) 0. A diminuio de i (t) na Figura 5.9(b) est fortemente ligada
70 5.3. REGRA DE ATUALIZAO DO NGULO

Figura 5.8: Influncia de SN (v0 , vj ) no clculo do peso final w0,j de cada vizinho de v0 . A cor
da srie indica o cluster ao qual o vrtice pertence originalmente na estrutura E2. possvel notar
que os vizinhos que no pertencem ao mesmo cluster de v0 so os que possuem o menor peso.

diminuio de i na Figura 5.9(a), contribuindo para que o sistema estabilize quando os ngulos
de vrtices de um mesmo cluster estejam agrupados.

(a) (b)

Figura 5.9: (a) O agrupamento de ns de um mesmo cluster indicado pelo desvio padro dos
ngulos de vi e seus vizinhos; (b) Decrescimento da taxa de atualizao dos ngulos medida em
que estes comeam a agrupar-se.
CAPTULO 5. CLUSTERIZAO DE DADOS E DETECO DE COMUNIDADES 71

O segundo fator que influencia na performance do algoritmo a escolha do parmetro . Para


exemplificar essa influncia, utilizada a rede artificial da Figura 5.2 como entrada para o algo-
ritmo.
Quando o valor de pequeno, i (t) 1 e os ngulos aproximam-se livremente durante quase
toda a execuo. A estabilidade atingida quando todos os ngulos esto agrupados, dificultando
a identificao da separao entre os clusters. Essa situao ilustrada na Figura 5.10(a), onde
= 0.5.
Considerando = 50, i (t) 0 e os ngulos aproximam-se muito lentamente. Nesse caso, o
valor de i tem pouca importncia, de acordo com a definio de i (t). Quando a estabilidade
atingida, nenhum agrupamento formado, como mostra a Figura 5.10(b).
A Figura 5.10(c) mostra a escolha do valor ideal de , permitindo que inicialmente os ngulos
aproximem-se livremente. Com = 5, i influencia na medida correta na atualizao dos ngulos.
Essa escolha de contribui para que a estabilidade do sistema seja atingida quando os ngulos
esto corretamente agrupados.

5.4 Algoritmo de clusterizao de dados


A seo anterior descreveu a regra de atualizao de ngulos capaz de formar grupos de ns
com ngulos similares. Essa seo define ento um algoritmo hierrquico divisivo que identifica
os clusters atravs da observao da formao ou no de agrupamentos de ngulos nas sries
temporais. O funcionamento do algoritmo descrito a seguir.
Inicialmente, a rede toda considerada como um grande cluster e adicionada ao conjunto de
clusters denotado por CSet. A cada iterao, um cluster de CSet escolhido para ser dividido.
Para decidir qual cluster ser dividido, a regra de atualizao de ngulos descrita pela Equao 5.2
aplicada para todos os clusters Ck CSet que com mais de um elemento (nCk > 1). Quando o
processo de atualizao de ngulos termina, os ngulos de todos os ns de Ck so organizados em
ordem decrescente. Esse conjunto ordenado de ngulos chamado V OCk .
O prximo passo identificar a maior diferena entre dois ngulos, chamada maxDif fCk .
Essa diferena dada pelo valor mximo de (V OCk [j] V OCk [j + 1]), j [1, nCk ). A lo-
calizao dos ngulos de V OCk que possuem a maior diferena entre si, idCk , definida como
argmax(V OCk [j] V OCk [j + 1]).
j
Se um cluster possui mais de um sub-cluster (conjunto de ns densamente conectados), os
ns de cada sub-cluster sero rapidamente agrupados. Consequentemente, ns de sub-clusters
diferentes iro afastar-se, resultando em um alto valor de maxDif fCk . Ento, a localizao dada
por idCk pode indicar uma boa localizao para dividir esse cluster. Por outro lado, se maxDif fCk
possui um valor pequeno, significa que os ns do cluster so densamente conectados e que foram
rapidamente agrupados pela regra de atualizao de ngulo. Isso pode indicar que este cluster no
se divide em sub-clusters, no sendo um bom candidato diviso.
72 5.4. ALGORITMO DE CLUSTERIZAO DE DADOS

(a)

(b)

(c)

Figura 5.10: Influncia da escolha de na eficincia do algoritmo. (a) Quando = 0.5 o sistema
atinge a estabilidade com os ngulos formando um nico grupo; (b) Quando = 50, a
atualizao dos ngulos muito lenta, resultando em nenhum agrupamento dos ngulos; (c)
Quando = 5, o sistema atinge a estabilidade quando os ngulos de ns de um mesmo cluster
encontram-se agrupados.

O cluster com maior valor para maxDif fCk , chamado Cmax , escolhido para ser dividido.
Dois novos clusters so criados pela diviso do conjunto ordenado de ngulos V OCmax na loca-
CAPTULO 5. CLUSTERIZAO DE DADOS E DETECO DE COMUNIDADES 73

lizao indicada por idCmax . O processo de diviso dos clusters continua at que cada cluster de
CSet seja formado por apenas um elemento.
O algoritmo de clusterizao e a regra de atualizao de ngulos so descritos formalmente em
Algoritmo 2 e Algoritmo 3, respectivamente.

Algorithm 2 Algoritmo de clusterizao


Require: Rede no vazia net
1: Inicialmente, toda a rede net considerada um grande cluster, e adicionada ao conjunto de
clusters CSet
2: repeat
3: for all cluster Ck CSet do
4: if nCk > 1 then
5: V OCk call angleU pdate(Ck )
6: idCk argmax(V OCk [j] V OCk [j + 1]), j [1, nCk )
j
7: maxDif fCk V OCk [idCk ] V OCk [idCk + 1]
8: end if
9: end for
10: Cmax Ck com maior valor de maxDif fCk , Ck CSet
11: C1 ns com ngulo em V OCmax [1] a VCmax O[idCmax ]
12: C2 ns com ngulo em V OCmax [idCmax + 1] a V OCmax [nCk ]
13: Adicione C1 e C2 ao conjunto de clusters CSet
14: until nCk 6= 1, Ck CSet

Algorithm 3 angleUpdate(Ck )
Require: nCk > 1
1: for all n vi Ck do
2: Inicialize i (t = 0) com um valor aleatoriamente escolhido no intervalo [0, 2)
3: end for
4: repeat
5: for all n vi Ck do
6: Atualize i (t + 1) de acordo com a Equao 5.2
7: end for
8: tt+1
9: until o sistema alcance estabilidade
10: V O conjunto ngulos dos ns de Ck em ordem decrescente
11: return V O

5.4.1 Exemplo de execuo


O objetivo desse seo exemplificar a execuo do algoritmo passo a passo. Para isso, a rede
artificial da Figura 5.2 usada como entrada do algoritmo. Inicialmente, a rede toda considerada
um cluster chamado C1. O prximo passo decidir qual cluster ser dividido. Isso feito apli-
cando a regra de atualizao de ngulos em todos os clusters de CSet, nessa etapa apenas C1. O
74 5.5. CONSIDERAES FINAIS

cluster C1 ento dividido na posio em que ocorreu a maior diferena entre os ngulos, indicada
na Figura 5.11 (b). A diviso de C1 d origem dois novos clusters, C2 e C3, que so adicionados
ao conjunto de clusters CSet, como mostra a Figura 5.12 (a).
Com a adio de C2 e C3 CSet, o processo repete-se, e um novo cluster deve ser escolhido
para diviso. Para isso, a regra de atualizao de ngulos aplicada a todos os clusters de CSet:
C2 e C3. O cluster C2 ento escolhido para ser dividido, pois possui maior diferena entre os
ngulos como mostra a Figura 5.12 (b). Sua diviso d origem dois novos clusters, C4 e C5.
Agora CSet formado pelos clusters que correspondem s comunidades originais da rede, como
mostra a Figura 5.13 (a).
A partir desse ponto, as divises obtidas pelo algoritmo no revelam qualquer estrutura de
comunidades da rede. A Figura 5.13 (b) mostra o resultado da regra de atualizao de ngulos nos
clusters C3, C4 e C5, revelando que nenhum cluster possui sub-clusters significativos. O processo
de diviso de clusters continua at que cada cluster seja formado por apenas um vrtice da rede.

Figura 5.11: Diviso do cluster C1 atravs da regra de atualizao de ngulos. O cluster


dividido na posio em que ocorreu a maior diferena entre ngulos.

5.5 Consideraes Finais


Neste captulo as trs reas da computao descritas nos captulos anteriores foram utilizadas
em conjunto para resolver o problema de clusterizao de dados. Inicialmente, a prpria rea de
clusterizao de dados, contribuindo na definio das medidas de similaridade entre os dados (e na
validao dos resultados, que sero apresentados no Captulo 6). Conforme descrito, algoritmos
baseados em grafos possuem boa capacidade de identificar clusters de formas e tamanhos arbitr-
rios, com a desvantagem de oferecerem baixa performance quando lidam com um grande nmero
de dados. A rea de redes complexas ento utilizada por modelar sistemas reais formados por
muitos dados. Alm disso, o conceito de comunidades naturalmente relacionado ao conceito
de cluster. Dessa maneira, a computao bioinspirada utilizada para auxiliar na deteco de
comunidades em redes complexas.
CAPTULO 5. CLUSTERIZAO DE DADOS E DETECO DE COMUNIDADES 75

Figura 5.12: O cluster C2 apresenta a maior diferena entre ngulos, aps a aplicao da regra
de atualizao de ngulos a todos os clusters de CSet.

Figura 5.13: Os trs clusters em CSet correspondem s comunidades da rede original. A partir
desse ponto, a diviso dos clusters no revela qualquer estrutura de comunidades da rede original.
76 5.5. CONSIDERAES FINAIS

O algoritmo desenvolvido composto por duas etapas: na primeira, os dados so modelados


em um grafo, onde a similaridade entre dois itens dada pela distncia euclidiana entre eles;
na segunda, os clusters so identificados atravs do particionamento do grafo em sub-grafos. A
identificao dos clusters feita atravs de um processo biolgico adaptativo, onde a cada n
atribudo um ngulo. Atravs da atualizao desses ngulos, o algoritmo busca agrupar ns de um
mesmo cluster. A regra de atualizao de ngulos, aproximando ns de um mesmo cluster, foi
influenciada pela otimizao por nuvem de partculas com velocidade adaptativa de (Li & Wang,
2007).
Neste captulo foi apresentada tambm a influncia de cada parmetro utilizado pelo algoritmo
na qualidade da partio obtida. Como exemplo de tais parmetros pode-se citar a taxa de atuali-
zao de ngulo e o parmetro na identificao de clusters com diferentes graus de refinamento.
Alm disso, foi realizada a execuo do algoritmo, tomando como entrada uma rede artificial sim-
ples, permitindo a visualizao passo a passo do processo de identificao dos clusters.
O Captulo 6 apresenta os resultados obtidos pelo algoritmo proposto. So utilizados como
entrada conjuntos de dados reais e artificiais, bem como redes complexas reais e artificiais. A per-
formance do algoritmo avaliada de acordo com o ndice CR, comparando a partio obtida pelo
algoritmo com a diviso original dos dados em clusters. Para as simulaes que utilizam conjuntos
de dados reais como entrada, os resultados do algoritmo so comparados com os resultados obtidos
por algotitmos clssicos de clusterizao.
C APTULO

6
Experimentos

No Captulo 5 foi apresentada a tcnica de clusterizao desenvolvida no trabalho, bem como


uma viso geral do seu funcionamento atravs de um exemplo simples. Nesse captulo sero
detalhados os experimentos realizados para testar a eficincia do algoritmo na identificao de
clusters. A Seo 6.1 descreve a metodologia usada na avaliao dos resultados. A Seo 6.2
descreve os resultados obtidos pelo algoritmo em dados artificiais: redes geradas artificialmente e
conjuntos de dados bidimensionais. Na Seo 6.3 so descritos os resultados obtidos com redes
reais com estrutura de comunidades conhecidas e conjuntos de dados reais.

6.1 Metodologia de avaliao


A qualidade de uma partio gerada por um algoritmo de clusterizao dada geralmente
por ndices estatsticos, como os ndices descritos na Seo 2.4. Neste trabalho, a qualidade das
solues foi avaliada com o ndice CR, descrito pela Equao 2.16, por tratar-se de um ndice
muito utilizado na avaliao de algoritmo de clusterizao (Jain & Dubes, 1988).
Os resultados da simulao foram analisados de acordo com o mesmo procedimento adotado
em (Julia Handl & Knowles, 2007), para avaliar a capacidade do algoritmo em gerar boas parties
do conjunto de dados. Como o algoritmo proposto no-determinstico, foram realizadas 30
execues com os mesmos valores para os parmetros K (para formao da rede) e (para o peso
de vizinhos na atualizao dos ngulos). Para cada uma das 30 execues, foi calculado o ndice
CR para parties com diferentes nmeros de clusters. Por tratar-se de um algoritmo hierrquico,
uma execuo pode ser representada por um dendrograma. Cada nvel do dendrograma representa
uma partio do conjunto de dados, com diferentes nmeros de clusters. Ento, a partio P

77
78 6.2. DADOS ARTIFICIAIS

com melhor valor de CR foi usada para avaliar a qualidade da execuo. O nmero de clusters
na partio P dado por kP . Aps as 30 execues, a mdia e o desvio padro de CR foram
calculados para avaliar o algoritmo com os valores especficos de K e . Foi calculado tambm
a mdia e desvio padro de kP . Os parmetros K e foram variados, e para cada combinao
de K e foi realizado o mesmo procedimento de avaliao (30 execues e clculo da mdia e
desvio padro para CR e kP ). Os valores de K e que apresentaram os melhores valores de CR
mdio foram escolhidos. Maiores detalhes sobre o procedimento adotado podem ser obtidos em
(Julia Handl & Knowles, 2007).

6.2 Dados artificiais


O comportamento do algoritmo foi avaliado inicialmente em dados artificiais. Foram utilizadas
redes geradas artificialmente com diviso em comunidades j conhecida, e um conjunto de dados
bidimensional, onde a visualizao dos clusters facilitada.

6.2.1 Redes artificiais


Como um primeiro exemplo do funcionamento do algoritmo, foram geradas redes artificiais
com estruturas de comunidades pr-determinadas. A probabilidade de criar uma aresta entre dois
vrtices vi e vj depende da comunidade a qual eles pertencem. Se vi e vj pertencem a mesma
comunidade, a probabilidade de criar uma aresta entre eles alta, denotada por P s. Se vi e vj
pertencem a comunidades diferentes, a probabilidade de conect-los pequena, denotada por P l.
Com base em P s e P l, a rede artificial gerada da seguinte maneira:

1. Criar c comunidades com nc vrtices cada, formando o conjunto de vrtices V = {v0 , ..., vn1 },
onde n = nc c.

2. Adicionar as arestas que ligam os vrtices. Inicialmente, necessrio garantir que cada co-
munidade forme uma componente conexa. Para isso, os vrtices de uma mesma comunidade
so inicialmente conectados em crculo. O mesmo feito para conectar cada comunidade,
formando ento uma rede conexa. Nessa etapa no so utilizadas as probabilidades P s e P l,
o nico objetivo obter uma rede conexa.

3. Arestas so adicionadas rede de acordo com as probabilidades P s e P l. Dois vrtices vi


e vj so escolhidos aleatoriamente. A probabilidade de conect-los P s se pertencerem a
mesma comunidade, e P l caso contrrio. A adio de arestas feita at que a mdia de
graus dos vrtices atinja o valor desejado hki, dada por: |V1 | vi V ki , onde V o conjunto
P

de vrtices da rede e ki o grau do vrtice vi .

As redes artificiais geradas possuem 4 comunidades com 32 vrtices em cada comunidade. A


mdia de graus dos vrtices da rede escolhida hki = 16. As simulaes foram realizadas ad-
CAPTULO 6. EXPERIMENTOS 79

mitindo = 0.1 para controlar o decaimento da taxa de atualizao dos ngulos. A Figura 6.1
mostra a eficincia do algoritmo, medida pelo ndice CR, em relao quantidade de arestas entre
comunidades, dada por P l. Na figura, possvel notar que o algoritmo identifica corretamente as
comunidades de redes geradas com valores de P l at 0.15. Em redes geradas com P l = 0.15,
os vrtices tm em mdia 5.7 conexes com vrtices de outras comunidades. Conforme a proba-
bilidade de conectar vrtices de comunidades diferentes aumenta, a capacidade do algoritmo em
identificar as comunidades corretamente diminui. Quando P l = 0.2, os vrtices da rede artificial
tm em mdia 6.9 conexes com vrtices de outra comunidade. Nesse caso, o algoritmo atinge em
mdia CR = 0.47. Essa queda no desempenho explica-se pelo aumento significativo na quanti-
dade de arestas entre comunidades. Como hki = 16, uma mdia de 6.9 conexes com vrtices de
outras comunidades (como ocorre quando P l = 0.2) corresponde quase metade das conexes do
vrtice. As simulaes realizadas mostram que o algoritmo obtm valores satisfatrios para CR na
deteco de comunidades.

Figura 6.1: Relao entre o ndice CR e a probabilidade de conectar vrtices de comunidades


diferentes, dada por P l, em rede artificial formada por 4 comunidades com 32 vrtices cada.

6.2.2 Conjunto de dados artificiais


Para avaliar a capacidade do algoritmo em detectar clusters de diferentes densidades, formas
e tamanhos foi utilizado um conjunto de dados bidimensionais, tornando mais fcil a visualizao
dos resultados da clusterizao.
O conjunto de dados utilizado mostrado na Figura 6.2. Para esse experimento foi utilizado
K = 10 para formao da rede, conectando cada vrtice aos seus K vizinhos mais prximos. A
80 6.3. DADOS REAIS

rede resultante possui 2123 ns e 12095 arestas. Foi utilizado = 0.01 para controle da taxa de
atualizao dos ngulos.

Figura 6.2: Conjunto de dados com 2123 pontos.

Intuitivamente, esse conjunto de dados apresenta duas estruturas. A primeira estrutura E1


divide o conjunto de dados em trs clusters: duas barras e um crculo. Usando = 0.4
o algoritmo proposto capaz de detectar corretamente essa diviso de clusters, como mostra a
Figura 6.3. A segunda estrutura E2 divide os dados em seis clusters: duas barras e quatro
quartos de crculo, um refinamento do crculo de E1. Aumentando o valor de , o nmero
de arestas que contribuem para a atualizao do ngulo de um n diminui, aumentando assim o
nmero de clusters identificados. Assim, quando = 0.5, os seis clusters de E2 so corretamente
identificados, como mostra a Figura 6.4.

(a) (b)

Figura 6.3: Resultado da clusterizao dos dados da Figura 6.2, com = 0.4. (a) Diviso do
conjunto de dados em 2 clusters. (b) Estrutura E1, formada por 3 clusters.

6.3 Dados reais


Dados reais tambm foram utilizados como entrada para avaliar a eficincia do algoritmo de
clusterizao proposto. Foram escolhidas duas redes complexas reais: a primeira modela a in-
CAPTULO 6. EXPERIMENTOS 81

(a) (b)

(c) (d)

(e)

Figura 6.4: Resultado da clusterizao dos dados da Figura 6.2, com = 0.5. (a) Diviso do
conjunto de dados em 2 clusters. (b) Diviso dos dados em 3 clusters, onde a estrutura E1 no
mais identificada. (c) Diviso dos dados em 4 clusters. (d) Diviso dos dados em 5 clusters. (e)
Estrutura E2, formada por 6 clusters.

terao social entre golfinhos; e a segunda descreve os jogos entre times de futebol americano.
Tambm foram usados dois conjuntos de dados reais: o primeiro divide em grupos espcies da
planta ris; e o segundo descreve expresses de genes de pacientes com diferentes tipos de leuce-
mia.
82 6.3. DADOS REAIS

6.3.1 Redes complexas reais


Foram utilizadas duas redes complexas reais como entrada para o algoritmo proposto, com es-
trutura de comunidades j conhecida. A primeira uma rede social de 62 golfinhos descrevendo
a associao (interao) entre eles (Lusseau et al., 2003). Essa rede possui 62 ns e 159 arestas
sem pesos, e apresenta duas comunidades conhecidas, formadas por 21 e 41 elementos. Como
a rede no foi gerada a partir de um conjunto de pontos, a simulao foi realizada considerando
CN (i, j) = 1. Atravs do grfico de atualizao de ngulos da Figura 6.5, possvel identifi-
car dois agrupamentos distintos de ngulos, para = 3. A cor de cada srie temporal indica a
comunidade a que o n pertence originalmente. Na Figura 6.6 possvel visualizar o resultado
da simulao atravs de um dendrograma, onde a cor de cada n indica a comunidade qual per-
tence originalmente. Adotando o procedimento descrito na Seo 6.1, o algoritmo obteve na mdia
CR = 1.0, identificando corretamente os dois clusters em todas as execues do procedimento de
avaliao.

Figura 6.5: Evoluo do processo de atualizao dos ngulos para a rede social de (Lusseau et
al., 2003). As duas comunidades reais podem ser identificadas pelos agrupamentos presentes na
srie temporal.

Figura 6.6: Dendrograma do resultado da simulao para a rede social de (Lusseau et al., 2003).
O dendrograma revela a diviso dos dados nas duas comunidades originais, indicadas pelos itens
em verde (41 elementos) e itens em vermelho (21 elementos).

A segunda rede complexa a que descreve uma tabela de jogos de um campeonato de futebol
americano, compilada em (Girvan & Newman, 2002). Essa rede usada na literatura como teste
para novos algoritmos de deteco de comunidades, como (Zhou, 2003b) e (Newman, 2004b).
A rede formada por 115 times (ns) divididos em 12 grupos pelos organizadores do evento, e
CAPTULO 6. EXPERIMENTOS 83

616 arestas indicando a existncia de um jogo entre os dois times. Uma caracterstica interessante
nessa rede a presena de ns instveis. Como j foi descrito na Seo 3.2, um n considerado
instvel se a interao total com ns de outra comunidade maior que a interao total ns de
sua prpria comunidade. Nessa simulao foi usado = 0.01 e CN (i, j) = 1. A Figura 6.7
mostra a diviso em 12 grupos encontrada pelo algoritmo em uma execuo. Na figura, os grupos
reais so representados pelas cores dos ns, e os grupos identificados pelo algoritmo encontram-
se espacialmente agrupados. Em geral, para essa rede, o algoritmo classifica um n em uma
comunidade diferente da comunidade original caso o n seja instvel ou tenha igual interao com
ns de outra comunidade e com ns de sua prpria comunidade. Nessa simulao, o algoritmo
obteve na mdia CR = 0.8017 quando a partio possui exatamente 12 grupos. Esse resultado
demonstra que o algoritmo capaz de identificar clusters prximos aos reais.

Figura 6.7: Estrutura de comunidades encontrada pelo algoritmo proposto no conjunto de dados
de (Girvan & Newman, 2002). Os ns so coloridos de acordo com as comunidades reais, e a
localizao espacial indica as comunidades identificadas pelo algoritmo. O algoritmo apresenta
mdia de CR = 0.8017, tendo melhores resultados de CR quando a partio tem exatemente 12
grupos. Grande parte dos ns classificados erradamente pelo algoritmo trata-se de ns instveis.

6.3.2 Conjuntos de dados reais


Dois conjuntos de dados reais foram utilizados como entrada para o algoritmo proposto. Para
melhor avaliar a eficincia do algoritmo, os resultados obtidos foram comparados com os resulta-
dos de alguns algoritmos de clusterizao clssicos: dois algorimtos hierrquicos, Single Linkage
(SL) e Average Linkage (AL), e o algoritmo por particionamento K-Means (KM). Os resultados
dos algoritmos clssicos foram obtidos em (Faceli et al., 2007b) e (Faceli et al., 2007a).
O primeiro conjunto de dados reais utilizado chamado iris e geralmente usado para testar
algoritmos de aprendizado de mquina. Esse conjunto de dados pode ser obtido em (A. Asuncion,
2007) e divide-se em trs grupos de espcies da planta ris: Iris Setosa, Iris Versicolor e Iris
84 6.3. DADOS REAIS

Verginica. Cada grupo possui 50 elementos e os atributos representam caractersticas das espcies
de ris, como comprimento e largura de ptalas e spalas.
Para essa simulao, os atributos do conjunto de dados foram normalizados apresentando m-
dia zero e varincia unitria. A rede foi gerada conectando cada vrtice aos seus K = 10 vrtices
mais prximos. Foram adotados = 1 para alterar o peso de vizinhos distantes, e = 0.01 para
controlar o decaimento da taxa de atualizao de ngulo.
Os resultados da simulao, juntamente com os resultados obtidos pelos algoritmos clssicos
de clusterizao so mostrados na Tabela 6.1. O valor de kP indica o nmero de clusters da
partio que obteve melhor valor de CR. Atravs da comparao, possvel notar que o algoritmo
proposto possui CR = 0.903 na mdia, valor superior aos obtidos pelos algoritmos comparados.
O algoritmo proposto atinge melhores valores de CR com partio de tamanho 3 (isso indicado
pelo valor de DP = 0 para kP ), o mesmo nmero de grupos em que o conjunto de dados divide-se
originalmente. J o algoritmo hierrquico AL consegue seu melhor resultado dividindo o conjunto
de dados em 6 grupos.

Tabela 6.1: Resultados da simulao para o conjunto de dados IRIS (3 clusters originais)

CR kP
Algoritmo Mdia DP Mdia DP
AL 0.586 - 6 -
SL 0.564 - 3 -
KM 0.723 0.0071 3 0
Algoritmo Proposto 0.903 0 3 0

O segundo conjunto de dados reais descreve expresses de genes de pacientes com leucemia
(Golub et al., 1999), aqui chamado de golub. Classificar tipos de cncer uma tarefa muito impor-
tante no tratamento da doena, permitindo escolher o tratamento mais eficiente e menos invasivo
para os pacientes. Esse conjunto de dados formado por 72 elementos com 3571 atributos, e apre-
senta duas estruturas conhecidas, como mostra a Tabela 6.2. A primeira estrutura E1 divide os
dados em dois grupos, um de pacientes com ALL (Acute Lymphoblastic Leukemia) e o segundo
grupo de pacientes com AML (Acute Myeloid Leukemia). Essa uma diviso importante para os
pacientes de leucemia, pois cada tipo de leucemia envolve um tipo diferente de quimioterapia.
Quando um paciente tratado para o tipo errado de leucemia, as chances de sucesso do tratamento
diminuem drasticamente (Golub et al., 1999). A segunda estrutura, chamada E2, um refinamento
do grupo de pacientes ALL, que divide-se em dois sub-grupos de amostras: T-ALL e B-ALL.
A rede foi gerada conectando cada vrtice aos seus K = 10 vrtices mais prximos, e para
composio da taxa de atualizao de ngulo foi adotado = 0.01. Para identificar a estrutura
E1 foi usado = 0.45 e = 0.5 para a estrutura E2. As Tabelas 6.3 e 6.4 mostram uma
comparao entre os resultados dos algoritmos de clusterizao clssicos e o algoritmo proposto.
O melhor valor de CR dentre todos os algoritmos comparados encontra-se em negrito. Como
CAPTULO 6. EXPERIMENTOS 85

Tabela 6.2: Nmero de elementos dos clusters das duas estruturas conhecidas do conjunto de
dados GOLUB (Golub et al., 1999)

Estrutura B-ALL T-ALL AML


E1 47 25
E2 38 9 25

aconteceu para o conjunto de dados iris, o melhor resultado obtido pelo algoritmo proposto foi
obtido por parties com nmero de clusters igual ao do conjunto original (2 clusters para E1 e
3 clusters para E2). Levando em considerao esse critrio, os algoritmos clssicos variam muito
em relao ao nmero de clusters da partio que apresentou melhor valor para CR. Por exemplo,
o algoritmo AL obtm melhor valor de CR para partio de tamanho 6 e 8 para as estruturas E1 e
E2 respectivamente, levando a crer que o algoritmo dividiu clusters maiores equivocadamente.

Tabela 6.3: Resultados da simulao para o conjunto de dados GOLUB - E1 (2 clusters originais)

CR kP
Algoritmo Media DP Media DP
AL 0.876 - 6 -
SL 0.078 - 8 -
KM 0.507 0.211 3 0.9
Algoritmo Proposto 0.929 0.080 2 0

Tabela 6.4: Resultados da simulao para o conjunto de dados GOLUB - E2 (3 clusters originais)

CR kP
Algoritmo Media DP Media DP
AL 0.798 - 8 -
SL 0.003 - 8 -
KM 0.502 0.127 3 1.2
Algoritmo Proposto 0.825 0.149 3 0

Para ilustrar o resultado obtido pelo algoritmo proposto, a Figura 6.8 mostra um dendrograma
com o resultado da simulao para a estrutura E1.

6.4 Consideraes Finais


Neste captulo foram descritos os experimentos realizados para avaliar a capacidade do al-
goritmo proposto na identificao de clusters. Os resultados obtidos foram avaliados segundo a
metodologia adotada em (Julia Handl & Knowles, 2007).
86 6.4. CONSIDERAES FINAIS

Figura 6.8: Dendrograma do resultado da simulao para a estrutura E1 do conjunto de dados


golub. A linha pontilhada corta o dendrograma em dois clusters, representando dois tipos de
leucemia: ALL (itens em vermelho) and AML (itens em azul).

Primeiramente, foram realizados testes com redes geradas artificialmente e estruturas de comu-
nidades pr-definidas. Atravs das simulaes mostradas, foi possvel notar que quanto maior era o
nmero de arestas que conectavam um n a ns de comunidades diferentes, pior era a performance
do algoritmo.
Para avaliar a capacidade do algoritmo em identificar clusters de diferentes formas e tama-
nhos, foram realizadas simulaes com conjuntos dados artificiais bidimensionais, facilitando a
visualizao dos resultados. As simulaes mostraram tambm que o algoritmo capaz de iden-
tificar clusters com diferentes graus de refinamento, atravs do ajuste do parmetro usado pelo
algoritmo.
Foram escolhidas duas redes complexas reais, que modelam interaes sociais, para avaliar a
performance do algoritmo proposto na deteco de comunidades. A aplicao do algoritmo em
redes que modelam interaes sociais obtiveram bons resultados.
O algoritmo foi aplicado tambm tomando como entrada dois conjuntos de dados reais. O
primeiro conjunto, iris, amplamente utilizado como benchmark para algoritmos de aprendizado
de mquina. Na comparao entre os resultados obtidos pelo algoritmo proposto e algoritmos
clssicos, o primeiro mostrou um desempenho superior aos demais. O segundo conjunto de dados,
golub, representa expresses de genes de pacientes portadores de leucemia. Tambm para esse
conjunto de dados, os resultados obtidos pelo algoritmo proposto atingiram a melhor mdia para o
ndice de validao CR dentre todos os algoritmos comparados.
Atravs dos resultados satisfatrios obtidos pelas simulaes, mostrou-se que o algoritmo pro-
posto capaz de identificar clusters com diferentes formas e tamanhos. Alm disso, capaz de
detectar clusters com diferentes graus de refinamento, atravs do ajuste de poucos parmetros.
C APTULO

7
Concluso

possvel notar a semelhana entre clusterizao de dados e deteco de comunidades em


redes complexas: ambos buscam o agrupamento de dados semelhantes de alguma forma. Com
base nessa semelhana, este trabalho prope uma nova abordagem para clusterizao de dados
envolvendo redes complexas e computao bioinspirada.
O objetivo do trabalho o desenvolvimento de um algoritmo de clusterizao com duas carac-
tersticas principais:

identificao de clusters com diferentes formas, tamanhos e densidades;

deteco de clusters com diferentes nveis de refinamento.

O algoritmo proposto composto por duas etapas: modelagem dos dados em um grafo e iden-
tificao dos clusters a partir do grafo gerado. As etapas do algoritmo so definidas a fim de que o
algoritmo apresente as caractersticas estabelecidas anteriormente.
Na primeira etapa, a modelagem dos dados em grafo feita usando a abordagem KNN, onde
cada vrtice ligado aos seus K vizinhos mais prximos. Entretanto, para privilegiar vizinhos
mais prximos de um n em detrimento dos mais distantes, as arestas do grafo possuem um peso
correspondente distncia euclidiana entre os dados. A proximidade entre os dados ser consi-
derada pelo algoritmo proposto na etapa seguinte, durante a identificao dos clusters. atravs
da modelagem dos dados em um grafo que o algoritmo proposto adquire a caracterstica de detec-
tar clusters com diferentes formas, tamanhos e densidades. Outra vantagem obtida ao incorporar
a distncia entre os dados no grafo, j discutida anteriormente, contornar uma deficincia da
abordagem KNN, que tende a unir clusters distintos caso seja usado um valor muito alto para K.

87
88 7.1. CONTRIBUIES

Na segunda etapa, a identificao dos clusters feita usando a tcnica bioinspirada de oti-
mizao por nuvem de partculas para detectar comunidades em redes complexas. Na tcnica
desenvolvida, cada n da rede possui um ngulo inicial, que atualizado iterativamente de acordo
com o ngulo de seus vizinhos, ou seja, cada n comporta-se como uma partcula em um sistema
adaptativo. O objetivo que, aps a estabilizao do sistema, ns de um mesmo cluster encontrem-
se agrupados em torno de um mesmo ngulo. Nessa etapa, a proximidade entre os dados usada
na identificao de clusters com diferentes nveis de refinamento. A alterao do parmetro
responsvel pelo peso que ser dado a cada vizinho pela regra de atualizao do ngulo de um
n. Como j foi discutido no Captulo 5, quanto maior o valor de , maior o nmero de clus-
ters identificados, e consequentemente maior o nvel de refinamento dos clusters no conjunto de
dados.
Os experimentos realizados no Captulo 6, confirmam que o algoritmo proposto cumpre o
objetivo inicial de maneira robusta. Isso foi verificado essencialmente pelos valores do ndice de
validao CR obtidos pelo algoritmo nas simulaes executadas e, em alguns casos, atravs da
comparao com os resultados obtidos por algoritmos clssicos de clusterizao.

7.1 Contribuies
Entre as principais contribuies oferecidas com a execuo desse trabalho destacam-se:

Deteco de clusters com formas, tamanhos e densidades arbitrrios.

Identificao de clusters com diferentes nveis de refinamento, revelando a decomposio de


conjuntos de dados em grupos em subgrupos relevantes.

Extenso da abordagem KNN para modelagem dos dados em grafos, permitindo que o algo-
ritmo de clusterizao tire vantagem da similaridade entre os dados.

Possibilidade de aplicao do algoritmo em redes com ou sem peso.

Alm disso, os resultados do mtodo desenvolvido resultaram na elaborao de um artigo sub-


metido para o IEEE World Congress on Computational Intelligence.

7.2 Concluses
Neste trabalho foi desenvolvido um algoritmo de clusterizao baseado em redes, que busca
tirar vantagem da estrutura de comunidades presente em redes complexas. A utilizao de redes
complexas, em conjunto com a tcnica de otimizao por nuvem de partculas resultou em um
algoritmo robusto e eficiente no tratamento de grandes conjunto de dados.
CAPTULO 7. CONCLUSO 89

Assim, podemos concluir que redes complexas consiste em uma nova rea de pesquisa, que
possui como vantagem a capacidade de representar grandes conjuntos de dados. Alm disso, essa
representao revela a estrutura topolgica dos dados de entrada.
O estudo de redes complexas no s considera estruturas mas tambm dinmicas, modelando
sistemas que evoluem ao longo do tempo. Essa propriedade uma das diferenas entre estudo
de redes complexas e teoria dos grafos. O uso de rede complexa em conjunto com o processo de
evoluo capaz de revelar no apenas a diviso dos dados em clusters, mas tambm as etapas do
processo de clusterizao como um todo.
Redes complexas so capazes de adicionar maior dinmica estrutura da rede, modelando
sistemas que evoluem ao longo do tempo. Essa propriedade uma das diferenas entre redes
complexas e teoria dos grafos. O uso de rede complexa em conjunto com o processo de evoluo
capaz de revelar no apenas a diviso dos dados em clusters, mas tambm as etapas do processo
de clusterizao como um todo.
Enquanto isso, tcnicas bioinspiradas oferecem solues eficientes e robustas problemas de
otimizao. Assim, vivel a aplicao dessas tcnicas no processamento de grandes conjuntos
de dados, por exemplo, representados por redes complexas.
Portanto, a unio de redes complexas e sistemas inspirados biologicamente constitui uma abor-
dagem promissora para anlise de dados em geral.
Apesar de j existirem muitos estudos e tcnicas abordando a rea de clusterizao de dados,
cada tcnica apresenta vantagens e desvantagens. Desse modo, ainda h muito espao para ex-
plorao na rea, como por exemplo, a aplicao de tcnicas de clusterizao na resoluo de
problemas de bioinformtica.

7.3 Trabalhos Futuros


Entre os trabalhos futuros a serem realizados com base na tcnica desenvolvida encontram-se:

Investigar a possibilidade de aplicao de outras tcnicas bioinspiradas para auxiliar a de-


teco de comunidades em redes complexas. Como mtodos de deteco de comunidades
baseiam-se na distncia topolgica entre dois ns, sistema de colnia de formigas parece ser
um mtodo promissor nesse aspecto, podendo ser utilizado para definir a distncia entre dois
ns.

Aplicar o mtodo de clusterizao em conjuntos de dados semelhantes ao usado em (Golub


et al., 1999), investigando a existncia de novos grupos em dados biolgicos.

Adaptar e estender o mtodo desenvolvido para classificao de dados.

Investigar redes complexas representadas por sistemas dinmicos acoplados, observando no-
vos fenmenos, analisando sua dinmica e buscando novas aplicaes na anlise de dados.
90 7.3. TRABALHOS FUTUROS

Analisar as distncias entre os agrupamentos gerados pela regra de atualizao de ngulo da


tcnica proposta, considerando a sobreposio de ngulos dos dados originais. Essa anlise
pode ser utilizada para desenvolver uma medida de avaliao do processo de clusterizao
de dados.
Referncias Bibliogrficas

A. A SUNCION , D. N. UCI machine learning repository. Acessado em 06 de novembro de 2007,


2007.
Disponvel em http://www.ics.uci.edu/~mlearn/MLRepository.html

A BIDO , M. A. Optimal power flow using particle swarm optimization. International Journal of
Electrical Power and Energy Systems, v. 24, n. 07, p. 563571, 2002.

A LBERT, R.; BARABASI , A. L. Statistical mechanics of complex networks. Reviews of Modern


Physics, v. 74, n. 1, 2002.

BARABASI , A. L.; A LBERT, R. Emergence of scaling in random networks. Science, v. 286,


p. 509, 1999.

B ELLMAN , R. E. Dynamic Programming. Princeton University Press, Princeton, NJ., 1957.

B ERTSEKAS , D. P.; T SITSIKLIS , J. N. Neuro-dynamic programming. Athena Scientific, 1996.

B ISHOP, C. M. Pattern recognition and machine learning (information science and statistics).
Springer, 2006.

B LUM , C. Ant colony optimization: Introduction and recent trends. Physics of Life Reviews,
v. 2, n. 4, p. 353373, 2005.

B OLEY, D.; G INI , M.; G ROSS , R.; H AN , E.-H.; K ARYPIS , G.; K UMAR , V.; M OBASHER , B.;
M OORE , J.; H ASTINGS , K. Partitioning-based clustering for web document categorization.
Decis. Support Syst., v. 27, n. 3, p. 329341, 1999.

C ELENK , M. A color clustering technique for image segmentation. Comput. Vision Graph.
Image Process., v. 52, n. 2, p. 145170, 1990.

C HUNG , F. R. K. Spectral graph theory (cbms regional conference series in mathematics, no.
92) (cbms regional conference series in mathematics). American Mathematical Society, 1997.

91
92 REFERNCIAS BIBLIOGRFICAS

C ORMEN , T. H.; L EISERSON , C. E.; R IVEST, R. L.; S TEIN , C. Introduction to algorithms.


Cambridge Mass.: MIT Press, 2001.

D ORIGO , M.; M ANIEZZO , V.; C OLORNI , A. The Ant System: Optimization by a colony of
cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics Part B: Cybernetics,
v. 26, n. 1, p. 2941, 1996.

E BERHART, R. C.; K ENNEDY, J. A new optimizer using particle swarm theory. 6th Int. Symp.
Micro Machine and Human Science, p. 3943, 1995.

E RDS , P.; R NYI , A. On random graphs. Publ. Math. Debrecen, v. 6, p. 290297, 1959.

E STER , M.; K RIEGEL , H. P.; S ANDER , J.; X U , X. A density-based algorithm for discovering
clusters in large spatial databases with noise. In: Proceedings of 2nd International Conference
on Knowledge Discovery and Data Mining, 1996, p. 226231.

E VERITT, B. S.; L ANDAU , S.; L EESE , M. Cluster analysis. Arnold Publishers, 2001.

FACELI , K.; C ARVALHO , A. C. P. L. F.; S OUTO , M. C. P. Cluster ensemble and multi-objective


clustering methods. to appear in: B. verma and m. blumenstein (eds.) pattern recognition tech-
nologies and applications: Recent advances IGI Global Press, USA, 2007a.

FACELI , K.; C ARVALHO , A. C. P. L. F.; S OUTO , M. C. P. Multi-objective clustering ensemble.


International Journal of Hybrid Intelligent Systems, Special Issue: Ensemble and Integration
Approaches, Selected papers contributed to the HIS-NCEI.06 conference, v. 4, n. 3, p. 145156,
2007b.

FACELLI , K.; C ARVALHO , A.; S OUTO , M. Validao de algoritmo de agrupamento. Relatrio


tcnico 254, Instituto de Cincias Matemticas e de Computao, Universidade de So Paulo,
acessado em 07 de outubro de 2007, 2005.
Disponvel em http://www.icmc.usp.br/~biblio/relatorios_tecnicos.
php

F ILIPPONE , M.; C AMASTRA , F.; M ASULLI , F.; ROVETTA , S. A survey of kernel and spectral
methods for clustering. Pattern Recognition, v. 41, n. 1, p. 176190, 2008.

G IRVAN , M.; N EWMAN , M. E. J. Community structure in social and biological networks. Proc.
the National Academy of Science, v. 99, p. 78217826, 2002.

G LOVER , F.; L AGUNA , M. Tabu search. In: R EEVES , C., ed. Modern Heuristic Techniques for
Combinatorial Problems, Oxford, England: Blackwell Scientific Publishing, 1993.

G OLDBERG , D. E. Genetic algorithms in search, optimization, and machine learning. Addison-


Wesley Professional, 1989.
REFERNCIAS BIBLIOGRFICAS 93

G OLUB , T.; S LONIM , D.; TAMAYO , P.; H UARD , C.; G AASENBEEK , M.; M ESIROV, J.; C OL -
LER , H.; L OH , M.; D OWNING , J.; C ALIGIURI , M.; B LOOMFIELD , C.; L ANDER , E. Molecu-
lar classification of cancer: Class discovery and class prediction by gene expression monitoring.
Science, v. 286, n. 5439, p. 531537, 1999.

H AYKIN , S. Neural Networks: A Comprehensive Foundation. McMaster University Halmiton,


Ontario, Canada, 1999.

JAIN , A.; D UBES , R. Algorithms for clustering data. Prentice-Hall, 1988.

JAIN , A. K.; M URTY, M. N.; F LYNN , P. J. Data clustering: a review. ACM Comput. Surv.,
v. 31, n. 3, p. 264323, 1999.

J IANG , D.; TANG , C.; Z HANG , A. Cluster analysis for gene expression data: a survey. IEEE
Transactions on Knowledge and Data Engineering, v. 16, n. 11, p. 13701386, 2004.

J ULIA H ANDL , D. K.; K NOWLES , J. Multiobjective optimization in computational biology and


bioinformatics. IEEE Transactions on Evolutionary Computation, v. 11, p. 5676, 2007.

K ARYPIS , G. hmetis - hypergraph and circuit partitioning. Acessado em 12 de fevereiro de


2007, 1998.
Disponvel em http://glaros.dtc.umn.edu/gkhome/metis/hmetis/
overview

K ARYPIS , G.; H AN , E.-H.; K UMAR , V. Chameleon: Hierarchical clustering using dynamic


modeling. IEEE Computer, v. 32, n. 8, p. 6875, 1999.

K ENNEDY, J.; E BERHART, R. Particle swarm optimization. Proceedings of the IEEE Internati-
onal Conference on Neural Networks, v. 4, p. 19421948 vol.4, 1995.

K IRKPATRICK , S.; G ELATT, C. D.; V ECCHI , M. Optimization by simulated annealing. Science,


v. 220, n. 4598, p. 671680, 1983.

KOHONEN , T. Self-organized formation of topologically correct feature maps. Biological Cy-


bernetics, v. 43, p. 5969, 1982.

L I , W.; WANG , X. Adaptive velocity strategy for swarm aggregation. Physical Review E, v. 75,
n. 1, p. 0219171 0219177, 2007.

L USSEAU , D.; S CHNEIDER , K.; B OISSEAU , O. J.; H AASE , P.; S LOOTEN , E.; DAWSON , S. M.
The bottlenose dolphin community of doubtful sound features a large proportion of long-lasting
associations. Behavioral Ecology and Sociobiology, v. 54, p. 396405, 2003.

M ITCHELL , T. M. Machine learning. McGraw-Hill Science/Engineering/Math, 1997.


94 REFERNCIAS BIBLIOGRFICAS

N EWMAN , M. E. J. The structure and function of complex networks. SIAM Review, v. 45, p. 167
256, 2003.

N EWMAN , M. E. J. Detecting community structure in networks. The European Physical Journal


B, v. 38, n. 2, p. 321330, 2004a.

N EWMAN , M. E. J. Fast algorithm for detecting community structure in networks. Physical


Review E, v. 69, p. 0661331 0661335, 2004b.

N EWMAN , M. E. J.; G IRVAN , M. Finding and evaluating community structure in networks.


Physical Review E, v. 69, p. 0261131 02611315, 2004.

S ALMAN , A.; I MTIAZ , A.; A L -M ADANI , S. Particle swarm optimization for task assignment
problem. Microprocessors and Microsystems, v. 26, p. 363371, 2002.

S CHAEFFER , S. E. Graph clustering. Computer Science Review, v. I, p. 27 64, 2007.

S TROGATZ , S. H. Exploring complex networks. Nature, v. 410, n. 6825, p. 268276, 2001.

S UTTON , R. S.; BARTO , A. G. Reinforcement learning: An introduction (adaptive computation


and machine learning). The MIT Press, 1998.

TAN , P.-N.; S TEINBACH , M.; K UMAR , V. Introduction to data mining. 1 ed. Addison Wesley,
2005.

T HE M ATH W ORKS , I. Rastrigins function. Acessado em 12 de fevereiro de 2007, 2006.


Disponvel em http://www.mathworks.com.au/access/helpdesk/help/
toolbox/gads/index.html?/access/helpdesk/help/toolbox/gads/
f10136.html

VANDEN B ERGH , F.; E NGELBRECHT, A. P. A cooperative approach to particle swarm optimiza-


tion. IEEE Trans. Evolutionary Computation, v. 8, n. 3, p. 225239, 2004.

V ICSEK , T.; C ZIRK , A.; B EN -JACOB , E.; C OHEN , I.; S HOCHET, O. Novel type of phase
transition in a system of self-driven particles. Physical Review Letters, v. 75, n. 6, p. 1226
1229, 1995.

WATKINS , C. Learning from delayed rewards. Tese de Doutoramento, University of Cambridge,


England, 1989.

WATTS , D. J.; S TROGATZ , S. H. Collective dynamics of small-world networks. Nature,


v. 393, n. 6684, p. 440442, 1998.

Y IP, A. M.; D ING , C.; C HAN , T. F. Dynamic cluster formation using level set methods. IEEE
Trans. Pattern Anal. Mach. Intell., v. 28, n. 6, p. 877889, 2006.
REFERNCIAS BIBLIOGRFICAS 95

Z ACHARY, W. W. An information flow model for conflict and fission in small groups. J. Anth-
ropol. Res., v. 33, p. 452, 1977.

Z HOU , H. Distance, dissimilarity index, and network community structure. Physical Review E,
v. 67, p. 0619011 0619018, 2003a.

Z HOU , H. Network landscape from a brownian particles perspective. Physical Review E, v. 67,
p. 0419081 0419085, 2003b.