Você está na página 1de 19

Revista de Sistemas de Informao da FSMA

n. 4 (2009) pp. 18-36



http://www.fsma.edu.br/si/sistemas.html

18




Tcnicas de Agrupamento
Ricardo Linden

Resumo
Este captulo descreve mtodos de agrupamento que permitem que se extraiam caractersticas
interessantes destes dados, separando-os em grupos funcionais ou hierarquizando-os para
estudos posteriores.
Palavras Chave Agrupamento; Heursticas; K-Means; Redes Neurais; Grafos
Abstract
This chapter describes some clustering techniques for feature extraction are described. These
methods work well for functional group separation and can be used for further studies.
Keywords Clustering; Heuristics; K-Means; Neural Nets; Graphs


1. Introduo

Nesta seo sero introduzidos os principais conceitos associados ao problema de agrupamento. O leitor
perceber a dificuldade associada ao processo e entender os usos principais da tcnica. Alm disto ser
apresentado o ferramental matemtico bsico para que o leitor possa compreender os algoritmos
introduzidos na seo 2.2.

1.1 Agrupamento: Conceitos Bsicos

Anlise de agrupamento, ou clustering, o nome dado para o grupo de tcnicas computacionais cujo
propsito consiste em separar objetos em grupos, baseando-se nas caractersticas que estes objetos
possuem. A idia bsica consiste em colocar em um mesmo grupo objetos que sejam similares de acordo
com algum critrio pr-determinado.
O critrio baseia-se normalmente em uma funo de dissimilaridade, funo esta que recebe dois
objetos e retorna a distncia entre eles. As principais funes sero discutidas na seo 2.1.2. Os grupos
determinados por uma mtrica de qualidade devem apresentar alta homogeneidade interna e alta
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

19

separao (heterogeneidade externa). Isto quer dizer que os elementos de um determinado conjunto
devem ser mutuamente similares e, preferencialmente, muito diferentes dos elementos de outros
conjuntos.
Os objetos tambm so denominados exemplos, tuplas e/ou registros. Cada objeto representa
uma entrada de dados que pode ser constituda por um vetor de atributos que so campos numricos ou
categricos (categrico um tipo de campo que pode assumir um entre um conjunto de valores pr-
definidos). Exemplos de dados numricos incluem idade (inteiro), temperatura (real) e salrio (real), entre
outros, enquanto que exemplos de dados categricos incluem bases de DNA (um dentre os valores A, C,
G ou T), patente militar (soldado, cabo, sargento, tenente, etc) ou se a pessoa est doente (valor Booleano,
podendo assumir os valores verdadeiro ou falso) (GORDON, 1981).
A anlise de agrupamento uma ferramenta til para a anlise de dados em muitas situaes
diferentes. Esta tcnica pode ser usada para reduzir a dimenso de um conjunto de dados, reduzindo uma
ampla gama de objetos informao do centro do seu conjunto. Tendo em vista que clustering uma
tcnica de aprendizado no supervisionado (quando o aprendizado supervisionado, o processo denominado
de classificao), pode servir tambm para extrair caractersticas escondidas dos dados e desenvolver as
hipteses a respeito de sua natureza.
Infelizmente o problema de agrupamento apresenta uma complexidade de ordem exponencial.
Isto quer dizer que mtodos de fora bruta, como enumerar todos os possveis grupos e escolher a melhor
configurao, no so viveis. Por exemplo, se quisermos separar 100 elementos em 5 grupos, existem
5
100
10
70
possveis agrupamentos. Mesmo em um computador que possa testar 10
9
configuraes
diferentes por segundo, seriam necessrios mais de 10
53
anos para terminar a tarefa (cerca de 40 ordens de
grandeza maior do que a idade da Terra). Obviamente, necessrio ento buscar uma heurstica eficiente
que permita resolver o problema antes do Sol esfriar e a vida na Terra se extinguir.

1.2 Medidas de Dissimilaridade

Todos os mtodos de agrupamento que descreveremos na prxima sesso assumem que todos os
relacionamentos relevante entre os objetos podem ser descritos por uma matriz contendo uma medida de
dissimilaridade ou de proximidade entre cada par de objetos.
Cada entrada p
ij
na matriz consiste em um valor numrico que demonstra quo prximos os
objetos i e j so. Algumas mtricas calculam a similaridade, outras calculam a dissimilaridade, mas em
essncia elas so idnticas.
Todos os coeficientes de dissimilaridade so funes d : X , onde denota o conjunto de
objetos com o qual estamos trabalhando. Basicamente, estas funes permitem realizar a transformao da
matriz de dados, dada por:

=
np
x ...
nf
x ...
n1
x
... ... ... ... ...
ip
x ...
if
x ...
i1
x
... ... ... ... ...
1p
x ...
1f
x ...
11
x
(1)
em uma matriz de distncias, dada por:

=
0 ... ) 2 , ( ) 1 , (
: : :
) 2 , 3 ( )
... n d n d
0 d d(3,1
0 d(2,1)
0
d (2)
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

20


onde a entrada d(i,j) representa exatamente a distncia entre os elementos i e j.
Todas as funes de dissimilaridade devem obedecer os seguintes critrios bsicos:
d
ij
0, i,j
d
ij
= d
ji
, i,j . Esta regra afirma que a distncia entre dois elementos no varia, no
importando o ponto a partir do qual ela medida. Por isto, a matriz de (2.2) mostrada sendo
triangular inferior. Tendo em vista que ela simtrica, os valores acima da diagonal esto
implicitamente definidos.
d
ij
+ d
jk
d
ik
, i,j,k . Esta conhecida como a desigualdade triangular, e basicamente
especifica que a menor distncia entre dois pontos uma reta.

Se, alm de todas as propriedades listadas acima, a mtrica tambm possui a propriedade
d(ax,ay)=|a|d(x,y), ento ela chamada de uma norma. Veremos agora as principais medidas de
dissimilaridade usadas nos algoritmos de agrupamento.
A primeira mtrica a ser mencionada a chamada mtrica de Minkowski. Ela dada pela
seguinte frmula:
q
q
p p
q q
j
x
i
x
j
x
i
x
j
x
i
x j i d ) | | ... | | | (| ) , (
2 2 1 1
+ + + =
(3)
Como se pode ver facilmente na frmula, as mtricas de Minkowski so uma norma. Para
verificar isto, basta multiplicar todos os elementos por a. Dentro da raiz, o valor a
q
pode ser colocado em
evidncia e posteriormente retirado da raiz, assumindo o valor de a, como exige a definio.
O caso especial mais conhecido desta mtrica quando q=2. Neste caso, temos a conhecida
distncia euclidiana entre dois pontos, que dada por:
) | | ... | | | (| ) , (
2 2
2 2
2
1 1 p p j
x
i
x
j
x
i
x
j
x
i
x j i d + + + =
(4)
Existem duas verses das mtrica de Minkovski que so populares. Quando q assume valor igual
a 1, temos chamada distncia Manhattan e quando q vai a infinito, temos a distncia de Chebyshev. Neste
ltimo caso, temos que a distncia dada por:
jk ik
k
x x j i d = max ) , (
(5)
A escolha do valor de q depende nica e exclusivamente da nfase que se deseja dar a distncias
maiores. Quanto maior o valor q maior a sensitividade da mtrica a distncias maiores. Um exemplo
simples quando queremos calcular a distncia entre os pontos (0,2,1) e (1,18,2). Usando diferentes
valores de q, temos os seguintes valores para as distncias:

q=1 d=[|1-0| + |18-2| + |2-1|] = 18
q=2 d=[(1-0)
2
+ (18-2)
2
+ (2-1)
2
]
1/2
= 258
1/2
= 16,06
q=3 d=[(1-0)
3
+ (18-2)
3
+ (2-1)
3
]
1/3
= 4098
1/3
= 16,002
q= d=[(1-0)

+ (18-2)

+ (2-1)

]
1/


= 16

A figura 1 mostra a diferena de interpretao entre as vrias verses da mtrica de Minkovsky
quando estamos em duas dimenses.
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

21


Figura 1. Exemplo de distncia calculada pelas distintas mtricas. A distncia
euclidiana (linha fina) calculada atravs de uma linha reta entre os pontos. A distncia
Manhattan calculada um quarteiro (unidade) de cada vez. O fato de no irmos reto
no muda a distncia (comprove!!!). A distncia de Chebyschev (linha tracejada) dada
pela maior das duas dimenses da distncia

Outra mtrica de distncia cujo clculo extremamente simples a distncia Camberra. Esta
mtrica calcula a soma das diferenas fracionrias entre as coordenadas de pares de objetos. A frmula
para esta mtrica dada por:

=
+

=
p
i i i
i i
y x
y x
y x d
1
) , (
r r
(6)
Se uma das coordenadas igual a zero, o termo se torna igual a 1. Em todos os outros casos, o
termo pertence ao intervalo [0,1]. O somatrio total sempre oferece um nmero pertencente ao intervalo
[0,p], onde p a dimenso dos vetores.
Se ambos os vetores tm uma coordenada i igual a zero, estabelece-se por definio que o termo i
igual a zero (na verdade ele igual a 0/0). Um dos problemas desta mtrica que a distncia muito
sensvel a pequenas variaes quando ambas as coordenadas estiverem muito prximas de zero.
Outro problema associado mtrica de Canberra que coordenadas que cuja distncia for a
mesma, mas que tiverem mdulo diferente apresentaro contribuies distintas. Por exemplo, imagine que
a coordenada i apresenta os valores 1 e 4. Logo a contribuio do termo i ser 6 , 0
4 1
4 1
=
+

.
Entretanto, se a coordenada j apresenta os valores 30 e 33, sua contribuio ser
05 , 0
33 30
33 30

. Isto , as contribuies so de ordens de grandeza diferentes, apesar das


diferenas serem idnticas.
A distncia de Mahalanobis uma mtrica que difere da distncia Euclidiana por levar em
considerao a correlao entre os conjutos de dados. A frmula para distncia de Mahalanobis entre dois
vetores da mesma distribuio que possuam uma matriz de covarincia dada por:
) ( ) ( ) , (
1
y x y x y x d
T
r r r r r r
=

(7)
Se a matriz de covarincia a matriz identidade, esta frmula se reduz distncia euclidiana.
Caso a matriz de covarincia seja diagonal, a distncia de Mahalanobis se reduz distncia Euclidiana
normalizada, e sua frmula dada por:

=
P
i
i
i i
y x
y x d
1
2
2
) (
) , (

r r
(8)
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

22

Nesta frmula, p a dimenso dos vetores e
i
o desvio padro de x
i
no espao amostral.
Pode ser mostrado que as superfcies onde a distncia de Mahalanobis so constantes so
elipsides centradas na mdia do espao amostral. No caso especial em que as caractersticas so no
correlacionadas, estas superfcies so esferdeis, tal qual no caso da distncia Euclidiana.
O uso da distncia de Mahalanobis corrige algumas das limitaes da distncia Euclidiana, pois
leva em considerao automaticamente a escala dos eixos coordenados e leva em considerao a
correlao entre as caractersticas. Entretanto, como no existe almoo grtis, h um preo (alto) a se
pagar por estas vantagens. As matrizes de covarincia podem ser difceis de determinar e a memria e o
tempo de computao crescem de forma quadrtica com o nmero de caractersticas.
Pode-se usar tambm a mtrica de Mahalanobis para medir a distncia entre um elemento x e um
cluster de elementos cuja mdia dada por } ,..., , {
2 1 n
= e que possua uma matriz de
covarincia dada por . Neste caso, a distncia dada pela frmula ) ( ) (
1
=

x x d
T

.Conceitualmente, como se estivssemos avaliando a pertinncia de um elemento no s por sua
distncia ao centro do cluster, mas tambm pela distribuio do mesmo, determinando assim a distncia
do elemento x em termos de uma comparao com o desvio padro do cluster. Quanto maior for o valor
desta mtrica, maior o nmero de desvios padres que um elemento esta distante do centro do cluster, e
menor sua chance de ser um elemento do mesmo.
A deteco de outliers um dos usos mais comuns da distncia de Mahalanobis, pois um valor
alto determina que um elemento est a vrios desvios padres do centro (j computadas todas as
diferenas axiais) e, por conseguinte, provavelmente um outlier. Se fizermos a comparao com vrios
grupos existentes, cujas distribuies sejam conhecidas, esta mtrica pode ser usada como maneira de
determinar a qual grupo um elemento mais provavelmente deve pertencer.
Outra mtrica interessante a correlao. Esta mede a fora do relacionamento de duas variveis,
logo uma medida de similaridade. O coeficiente de correlao representado pela letra r e no possui
unidades. Sua faixa de valores [-1, 1], onde a magnitude da correlao representa sua fora e o seu sinal
representa o tipo de relacionamento: sinais positivos indicam associao direta (quando uma cresce a
outra tambm cresce) enquanto que sinais negativos indicam associao inversa (quando uma cresce a
outra diminui).
A correlao calculada usando-se a seguinte frmula:

=
n
i
y
i
x
i
s
y y
s
x x
n
r
1
) )( (
1
1
(9)
Nesta frmula, x e S
x
representam as mdia e os desvios padres para os valores de x e y e S
y

para os valores de y, e n e o nmero de indivduos.
1.3 Representao de Grupos

Existem vrias formas distintas de representar os grupos criados pelos algoritmos de agrupamento
explicados neste captulo. As maneiras mais usuais so demonstradas na figura 2. Alguns formatos esto
associados a mtodos especficos, como por exemplo, os dendogramas (fig. 2d), que esto associados aos
mtodos hierrquicos, enquanto que outros so mais genricos, como parties e os diagramas de Venn
(fig. 2a e b, respectivamente). As tabelas (fig. 2c) so mais teis no caso de mtodos que usam lgica
nebulosa, mas podem ser usados em outros casos, tendo poder de representao similar aos diagramas de
Venn, por exemplo. Cada formato ser explicado com detalhes e usado quando discutirmos as heursticas
de agrupamento, na seo 2.
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

23


Figura 2. Exemplos de vrias formas de representao de grupos.

1.4 Aplicaes de Tcnicas de Agrupamento

Tcnicas de agrupamento tm sido usadas em vrias reas distintas. Algumas das aplicaes especficas,
alm da rea de bioinformtica, que sero descritas mais adiante, incluem:
Marketing: Pode auxiliar pessoas ligadas a reas de marketing a descobrir grupos distintos em
suas bases de clientes, para que este conhecimento seja usado ento para desenvolver programas
de marketing direcionados (CHIANG, 2003).
Uso de terras: Identificao de possibilidade de alocao de uso da terra para fins agrrios e/ou
urbanos em uma base de dados de observao via satlite de todo o planeta Terra (LEVIA JR,
2000).
Seguro: Identificar grupos de pessoas que possuam seguro de carro com um custo elevado de
sinistralidade (YEOH, 2001).
World Wide Web: agrupamento de documentos de acordo com similaridades semnticas, de
forma a melhorar o resultados oferecidos por sites de busca (HAMMOUDA, 2002).
Estudos do terremoto: Anlise de dados reais e sintticos de terremotos para extrao de
caractersticas que permitam a previso de eventos precursores de abalos ssmicos (DZWINNEL,
2005).

2. Heursticas de Agrupamento

Nesta seo sero apresentados alguns dos algoritmos mais usados na rea de agrupamento, sendo que
cada algoritmo ser descrito de forma completa, com uma dissertao sobre suas principais foras e
fraquezas.

2.1. K-Means

R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

24

O K-Means uma heurstica de agrupamento no hierrquico que busca minimizar a distncia dos
elementos a um conjunto de k centros dado por ={x
1
,x
2
,...,x
k
} de forma iterativa. A distncia entre um
ponto p
i
e um conjunto de clusters, dada por d(p
i
,), definida como sendo a distncia do ponto ao centro
mais prximo dele. A funo a ser minimizada ento, dada por:

=
=
n
i
i
p d
n
P d
1
2
) , (
1
) , (
O algoritmo depende de um parmetro (k=nmero de clusters) definido de forma ad hoc pelo usurio. Isto
costuma ser um problema, tendo em vista que normalmente no se sabe quantos clusters existem a priori.
O algoritmo do K-Means pode ser descrito da seguinte maneira:

1. Escolher k distintos valores para centros dos grupos (possivelmente, de forma aleatria)
2. Associar cada ponto ao centro mais prximo
3. Recalcular o centro de cada grupo
4. Repetir os passos 2-3 at nenhum elemento mudar de grupo.

Este algoritmo extremamente veloz, geralmente convergindo em poucas iteraes para uma
configurao estvel, na qual nenhum elemento est designado para um cluster cujo centro no lhe seja o
mais prximo. Um exemplo da execuo do algoritmo de K-Means pode ser visto na figura 3.


Figura 3. Exemplo de execuo do algoritmo de K-Means. (a) Cada elemento foi
designado para um dos trs grupos aleatoriamente e os centrides (crculos maiores)
de cada grupo foram calculados. (b) Os elementos foram designados agora para os
grupos cujos centrides lhe esto mais prximos (c) Os centrides foram recalculados.
Os grupos j esto em sua forma final. Caso no estivessem, repetiramos os passos
(b) e (c) at que estivessem.
Este algoritmo iterativo tende a convergir para um mnimo da funo de energia definida acima.
Um eventual problema que esta condio enfatiza a questo da homogeneidade e ignora a importante
questo da boa separao dos clusters. Isto pode causar uma m separao dos conjuntos no caso de uma
m inicializao dos centros, inicializao esta que feita de forma arbitrria (aleatria) no incio da
execuo. Na figura 4 pode-se ver o efeito de uma m inicializao na execuo de um algoritmo de K-
Means.
Outro ponto que pode afetar a qualidade dos resultados a escolha do nmero de conjuntos feita
pelo usurio. Um nmero pequeno demais de conjuntos pode causar a juno de dois clusters naturais,
enquanto que um nmero grande demais pode fazer com que um cluster natural seja quebrado
artificialmente em dois.

R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

25


Figura 4. Exemplo do efeito de uma m inicializao do algoritmo K-Means. Existem
trs clusters naturais neste conjunto, dois dos quais foram atribudos ao grupo de cor
slida. O problema que o terceiro cluster bem separado dos outros dois clusters, e
se dois conjuntos forem inicializados daquele lado da figura, eles ficaro daquele lado.
A grande vantagem desta heurstica a sua simplicidade. Um programador experiente pode
implementar uma verso prpria em cerca de uma hora de trabalho. Alm disto, vrios demonstrativos
esto disponveis em vrios sites, dentre os quais podemos destacar o localizado no endereo dado por
http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/AppletKM.html (ltimo acesso em
novembro/2009).

2.2. Algoritmos Hierrquicos

Os algoritmos hierrquicos criam uma hierarquia de relacionamentos entre os elementos. Eles
so muito populares na rea de bioinformtica e funcionam muito bem, apesar de no terem nenhuma
justificativa terica baseada em estatstica ou teoria da informao, constituindo uma tcnica ad-hoc de
alta efetividade.
Existem duas verses: a aglomerativa, que opera criando conjuntos a partir de elementos
isolados, e a divisiva, que comea com um grande conjunto e vai quebrando-o em partes at chegar a
elementos isolados.
A verso aglomerativa funciona de acordo com o seguinte algoritmo:

1. Faa um cluster para cada elemento
2. Encontre os pares de clusters mais similares, de acordo com uma medida de distncia escolhida
3. Funda-os em um cluster maior e recalcule a distncia deste cluster para todos os outros elementos
4. Repita os passos 2 e 3 at sobrar um nico cluster.

Podemos fazer um exemplo simples para visualizar o funcionamento dos algoritmos
hierrquicos. Para tanto, peguemos o conjunto de pontos dados por S={2; 4; 6,3;9;11,6} e faamos o
clustering destes elementos.
Primeiro calculamos a distncia entre os pontos, diretamente usando, por exemplo a distncia
euclidiana:
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

26

=
0 6 , 2 3 , 5 6 , 7 6 , 9
0 7 , 2 5 7
0 3 , 2 3 , 4
0 2
0
D
Como podemos ver, os elementos mais prximos so o primeiro (2) e o segundo (4). Realizamos
ento o agrupamento mostrado na figura 5 (b). As novas distncias podem ser recalculadas substituindo-se
os dois elementos agrupados pela sua mdia (3) e so as seguintes:

=
0 6 , 2 3 , 5 6 , 8
0 7 , 2 6
0 3 , 3
0
D
Neste momento, os dois mais prximos so o terceiro (9) e o quarto (11,6) e realizamos o
agrupamento mostrado na figura 5(c). As novas distncias so recalculadas, obtendo-se ento os seguintes
valores:

=
0 4 3 , 7
0 3 , 3
0
D
Realizamos o prximo agrupamento entre o primeiro (3) e o segundo (6,3) elementos, obtendo-se
os conjuntos mostrados na figura 5(d). Por ltimo, resta agrupar os dois ltimos grupos restantes,
obtendo-se o agrupamento final, mostrado na figura 5(e)


Figura 5. Representao do passo a passo do exemplo de utilizao de algoritmo
hierrquico.
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

27

Note-se que a estrutura hierrquico formada pela unio entre os elementos foi representada
atravs de um dendograma, que a forma mais usual de representao dos resultados de algoritmos
hierrquicos e mostra intuitivamente a ordem do agrupamento. Quanto mais alta a linha ligando dois
clusters, mais tarde foi feito seu agrupamento. Logo, a altura da linha ligando dois clusters proporcional
sua distncia.
Existem trs maneiras diferentes de medir a distncia entre dois clusters, que so descritas a
seguir e exemplificadas na figura 6.
Single Link: A distncia entre dois clusters dada pela distncia entre os seus pontos mais
prximos, tambm chamada de agrupamento de vizinhos (neighbour clustering). um
mtodo guloso, que prioriza elementos mais prximos e deixando os mais distantes em segundo
plano.
Average Link: A distncia dada pela distncia entre seus centrides. O problema recalcular
centrides e distncias entre clusters cada vez que um cluster muda.
Complete Link: A distncia entre clusters a distncia entre seus pontos mais distantes.


Figura 6. Medidas de distncia entre dois clusters para uso em algoritmos hierrquicos.
(a) single link, onde a distncia entre os clusters dada pela distncia entre seus
pontos mais prximos. (b) average link, onde a distncia entre os clusters dada pela
distncia entre seus centrides e (c) complete link, onde a distncia entre os clusters
dada pela distncia entre seus pontos mais distantes.

Estes trs mtodos de medir distncia no so totalmente equivalentes. Escolhas distintas entre
estas formas de medir distncias podem gerar resultados diferentes no agrupamento, como pode ser visto
na figura.7.


Figura 7. Exemplo de aplicao de algoritmo hierrquico com duas formas diferentes de
se medir distncia. Dada as distncias entre cidades dos Estados Unidos, construiu-se
a hierarquia usando-se a medida de distncia single-link ( esquerda) e complete-link (
direita). Note que os conjuntos gerados so distintos. No single-link, Miami a ltima
cidade a ser adicionada, enquanto que no complete link ela rapidamente adicionada
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

28

ao conjunto da esquerda (Exemplo retirado do site
http://www.analytictech.com/networks/hiclus.htm, ltimo acesso em Novembro/2009) .

O problema deste algoritmo que com ele obtm-se apenas uma hierarquia de relacionamentos,
mas no grupos especficos. Para obter k grupos, basta apenas cortar as k-1 arestas mais altas do
dendograma. Um exemplo pode ser visto na figura 8.


Figura 8. Exemplo de corte de um dendograma obtido atravs do algoritmo hierrquico
para obteno de clusters. Na figura A foi feito 1 corte e foram obtidos dois grupos. J
na figura (b), foram feitos trs cortes e obtidos 4 grupos ({A,B},{E},{C,D,F,G},{H}).

Existe uma verso divisiva do algoritmo hierrquico de agrupamento. Esta verso se inicia com
um nico cluster contendo todos os elementos e comea a dividi-lo. Em cada iterao, utiliza-se um
algoritmo flat (como o K-Means, por exemplo), de forma a separar o conjunto corrente em clusters
menores, repetindo-se o processo recursivamente at que se tenha apenas conjuntos compostos de um
nico elemento ou at que um critrio de parada previamente estabelecido seja atendido.
Note-se que habitual dividir-se o cluster selecionado em dois clusters menores pois isto faz
com que esta tcnica parea ser a inversa dos algoritmos aglomerativos. Entretanto, o numero de clusters
gerados no precisa necessariamente ser igual a dois. Uma forma de escolher o nmero de clusters a ser
gerados utilizar uma mtrica de otimizao de custo de cortes. Esta utiliza dois custos fundamentais,
denominados similaridades intra-cluster e similaridade extra-cluster e busca maximizar a relao entre os
dois de forma a obter o particionamento no qual os clusters gerados tenham maior coeso.
Matematicamente temos o seguinte:
Dados
} ,..., , {
2 1 n
v v v V = , o conjunto de todos os objetos existentes

i
k
i
k
C V C C C
1
2 1
| } ,..., , {
=
= U , um particionamento dos objetos , ento temos que:
similaridade intra-cluster dada por

=
p j i
C v v
j i p
v v sim ra
,
) , ( int
similaridade extra-cluster dada por


=
p j p i
C v C v
j i p
v v sim extra
,
) , (
Ento, o custo do particionamento com k conjuntos dado por

=
=
k p p
p
k
extra
ra
custo
,... 2 , 1
int
, escolhendo-se
ento o particionamento para o qual o valor do custo seja o menor possivel.
Esta tcnica extremamente custosa em termos computacionais, pois exige que se faa um
grande nmero de particionamentos em cada iterao, o que pode levar um longo tempo se o nmero de
elementos for grande. O custo pode ser limitado, ao se colocar um teto para o valor de , mas ainda assim
este algoritmo pode ter um tempo de execuo longo demais para ser aceitvel.
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

29

O funcionamento da verso divisiva mais complexo do que o do algoritmo aglomerativo, pois
depende de um algoritmo flat tal como o K-Means para seu funcionamento. Entretanto, ele tem duas
vantagens principais:
1. No necessrio recalcular todas as distncias entre os clusters a cada passo e podemos
interromper o procedimento antes de chegarmos ao ltimo nvel da rvore. Assim, o algoritmo
potencialmente mais rpido do que sua verso aglomerativa.
2. Comeamos usando as informaes sobre o todo, ao invs de tomar apenas decises baseadas em
informaes locais, como no caso aglomerativo. Assim, os agrupamentos obtidos tendem a ser
mais fiis quanto real distribuio da informao nos elementos.
Um fato interessante que esta uma das maneiras possveis de se determinar quantos conjuntos
definiremos para a tcnica de K-Means. Ao invs de definirmos a priori, realizamos o seguinte algoritmo:

Defina um conjunto com todos os elementos e insira-o em uma fila de conjuntos a tratar;
Enquanto houver conjuntos na fila faa
Retire o primeiro conjunto da fila;
Calcule a perda de informao relacionada a este conjunto;
Se o valor da perda de informao for maior que um limite pr-estabelecido
Realize o K-Means com k=2;
Coloque os dois conjuntos obtidos na fila de conjuntos a tratar;
Fim Se
Fim Enquanto

Pode parecer que apenas substituimos uma arbitrariedade por outra (afinal, primeira vista
apenas trocamos o k pelo limite de perda de informao). Entretanto, note-se que agora, ao invs de
definir arbitrariamente o nmero de conjuntos que desejamos, definimos uma mtrica de qualidade para
cada conjunto que deve ser definida de acordo com o domnio do problema que estamos tentando
resolver. Isto , o nosso problema impe uma qualidade inerente aos conjuntos e esta que vamos buscar.
Outra forma de se realizar um algoritmo hierrquico divisivo partir da minimal spanning tree.
Esta pode ser definida como a rvore que conecta todos os elementos do conjunto de tal forma que a soma
das distncias de todas as arestas existentes mnima. Uma vez fornecida esta rvore, para cuja
determinao existe um algoritmo que praticamente linear em relao ao nmero de elementos, pode-se
dividi-la em dois conjuntos usando-se uma das seguintes maneiras:
Removendo a maior de todas as arestas;
Removendo a aresta de comprimento l tal que l l >> , onde l representa o comprimento
mdio das arestas do grupo. Este mtodo tem como vantagem permitir que clusters mais densos
tambm tenham seus outliers retirados, o que poderia demorar mais, posto que sendo densos
todas as suas arestas devem ter um comprimento relativamente pequeno.
Usando-se qualquer uma das tcnicas obteremos dois clusters para o cluster sendo dividido.
Repetimos ento o processo at que seja atingido o nmero de clusters desejado.
No passado, os algoritmos hierrquicos eram extremamente populares, mas com o avano das
tcnicas flat, estas ganharam aceitao. Logo, a deciso sobre usar algoritmos hierrquicos complexa
para tom-la, devemos levar em considerao uma srie de importantes fatores.
O primeiro fator o consumo de memria. Para usar um algoritmo hierrquico devemos
armazenar ) (
2
n O distncias. Mesmo com o preo das memrias caindo de forma extremamente rpida,
se temos 10.000 elementos, teremos que armazenar um nmero de distncias da ordem de
8
10 . Este valor
ainda est dentro da ordem de grandeza de um computador pessoal, mas j um valor respeitvel e deve
ser gerenciado com carinho (e eficincia).
Os algoritmos no hierrquicos normalmente dependem de uma srie de fatores que so
determinados de forma arbitrria pelo pesquisador, como nmero de conjuntos e as seeds de cada
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

30

conjunto. Isto pode causar impacto negativo na qualidade dos conjuntos gerados. Os algoritmos
hierrquicos aglomerativos no so sujeitos a estes fatores, sendo totalmente determinsticos e
independentes de parametrizao.
A principal vantagem dos algoritmos hierrquicos o fato deles oferecerem no s os clusters
obtidos, mas tambm toda a estrutura dos dados e permitirem obter facilmente sub-conjuntos dentro
destes dados. Ademais, eles permitem visualizar diretamente atravs do dendograma, a forma como os
dados se ligam e a verdadeira semelhana entre dois diferentes pontos, pertenam estes ao mesmo cluster
ou no.

2.3 Mapas de Caractersticas Auto-Organizveis

Um sistema um grupo de partes que interagem e que funcionam como um todo, possuindo
propriedades coletivas distintas de cada uma das partes. Os sistemas possuem uma organizao para obter
uma funo especfica. A organizao pode ser de dois tipos:
externa, quando imposta por fatores externos, como mquinas, paredes, etc.
auto-organizao: quando o sistema evolui para uma forma organizada por conta prpria.
Exemplos: cristalizao, crebro, economias, etc.
O crebro claramente um sistema organizado que aprende espontaneamente, sem um professor.
Antigamente, a viso cientfica dominante era que havia homnculos dentro do crebro, orientando o
aprendizado. Hoje em dia, acredita-se mais na regra de aprendizado de Hebb. Esta postula que quando um
neurnio A repetida e persistentemente ajuda a disparar o neurnio B, a eficcia da associao entre as
duas clulas aumenta (HEBB, 1949).
Estas mudanas ocorrem no crebro de trs maneiras possveis: aumentando o nmero de
transmissores emitidos pela clula A, aumentando o fora da ligao sinptica ou formando novas
sinapses. Isto nos permite chegar concluso de que o crebro um sistema auto-organizado, podendo
aprender modificando as interconexes entre neurnios.
O principal resultado da auto-organizao cerebral a formao de mapas de caractersticas de
topologia linear ou planar no crebro. Dois exemplos reais so o mapa tonotpico (freqncias sonoras
so mapeadas espacialmente no crtex em uma progresso das freqncias mais baixas at as mais altas) e
o mapa retinotpico (campo visual mapeado no crtex visual com maior resoluo para o centro).
Existe um tipo de rede neural que implementa os conceitos de auto-organizao cerebral. Estas
redes so conhecidas como Redes Auto-Organizveis = Self-Organizing Feature Maps (SOFMs). Outros
nomes comuns para elas so memrias associativas de filtro competitivas ou Redes de Kohonen, em
homenagem ao seu criador, Dr. Eng. Teuvo Kohonen.
Uma rede de Kohonen consiste em duas camadas (uma de entrada e uma competitiva), como
podemos ver na figura 9. Cada neurnio da camada de entrada representa uma dimenso do padro de
entrada e distribui seu componente vetorial para a camada competitiva.

R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

31


Figura 9. Exemplo da topologia de uma rede de Kohonen. Os neurnios da camada de
entrada esto ligados a todos os neurnios da camada de sada (competitiva) atravs
de pesos. J os neurnios da camada de sada esto ligados a alguns neurnios da
mesma camada, e estes constituem a sua vizinhana (BRAGA, 2000).

Cada neurnio na camada competitiva recebe a soma ponderada das entradas e tem uma
vizinhana de k neurnios, vizinhana esta que pode ser organizada em 1, 2 ou n dimenses Ao receber
uma entrada, alguns neurnios sero excitados o suficiente para disparar. Cada neurnio que dispara pode
ter um efeito excitatrio ou inibitrio em sua vizinhana.
Aps a inicializao dos pesos sinpticos, trs processos bsicos se seguem
Competio: O maior valor da funo selecionado (vencedor). O neurnio vencedor dado
por: i(x) = arg min ||x-w
j
||, j =1,2,3,..,l . O vencedor determina a localizao do centro da
vizinhana dos neurnios a serem treinados (excitados).
Cooperao: Os vizinhos do neurnio vencedor so selecionados e excitados atravs de uma
funo de vizinhana.
Adaptao Sinptica: Os neurnios excitados ajustam seus pesos sinpticos quando um neurnio
vence uma competio. No apenas ele, mas tambm todos os nodos localizados em sua
vizinhana so ajustados, de acordo com uma funo mostrada na figura 10.


Figura 10. Sada dos elementos da vizinhana do neurnio vencedor, para efeito de
ajuste dos pesos sinpticos. Note que os elementos mais prximos so ajustados
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

32

positivamente enquanto que os mais distantes so inibidos. Os elementos muito
distantes recebem um pequeno ajuste positivo de forma a evitar que os neurnios
outliers nunca sejam ajustados (BRAGA, 2000).
O algoritmo pode ser dado ento pelos seguintes passos:
Comece com pesos aleatrios pequenos
Repita at estabilizar ou at o nmero de iteraes exceder
Normalize os pesos
Aplique uma entrada I
u
para a rede
Encontre o neurnio vencedor , i
*
O ajuste dos pesos do neurnio i* e de sua vizinhana dado por:

) (
j
u
j j
w I O w =
,
O a sada do neurnio calculada de acordo com o seguinte critrio:
o a sada de i* 1,
o a de sua vizinhaa dada pela funo de chapu mexicano
da figura 2.10),
j o ndice da coordenada, j=1,2,...,p.

As redes de Kohonen so excelentes para problemas de classificao. O problema delas que o
sistema uma caixa preta, sem garantia de convergncia para redes de dimenses maiores, alm do que o
treinamento pode ser extremamente longo para problemas grandes de classificao. Por outro lado, elas
tm a vantagem de no s descobrir os conjuntos como tambm mostrar uma ordenao entre eles, dada a
noo de vizinhana entre neurnios (OJA et al, 2002), o que pode ser til em muitas aplicaes.

2.4 Mtodos baseados em grafos

Grafo um modelo matemtico que representa relaes entre objetos. Um grafo um conjunto dado por
G=(V, E), onde V um conjunto finito de pontos, normalmente denominados de ns ou vrtices e E
uma relao entre vrtices, ou seja, um conjunto de pares em VxV. Na figura 2.11 podemos ver alguns
exemplos de grafos. No exemplo (a), temos um grafo com 5 ns, e o conjunto V={1,2,3,4,5}. Estes ns
esto ligados entre si por algumas arestas, definindo o conjunto E={ (1,1), (1,2), (3,4), (3,5), (4,5) }. Um
grafo pode ser representado por uma matriz A de adjacncias, onde A
ij
=0 se no existe a aresta (i,j) e 1,
caso a aresta em questo exista, como pode ser visto na figura 11.
O nmero de arestas que saem ou entram em um determinado vrtice denominado o grau ou a
conectividade deste vrtice. Por exemplo, na figura 11(a), o vrtice 4 tem conectividade 2, enquanto que
na figura (b), o vrtice 4 tem conectividade igual a 3.
Os vrtices de um grafo podem receber valores ou rtulos, e neste caso o grafo denominado de
rotulado. Os rtulos podem representar a fora da conexo entre dois elementos. Os exemplos da figura
12 (a) e (b) so no rotulados, enquanto o exemplo da figura 11 (c) um grafo rotulado, no qual, por
exemplo, a aresta entre os ns 3 e 4 tem rtulo igual a 8.
As arestas de um grafo podem ter uma direo, e neste caso um grafo chamado de direcionado.
Caso contrrio, o grafo denominado no-direcionado. Para determinar a direo, representam-se as
arestas com setas na ponta destino. No caso de um grafo no-direcionado, as arestas (e
1
,e
2
) e (e
2
,e
1
) so
idnticas, o que no acontece em um grafo direcionado. Na figura 11(b) vemos um grafo direcionado e
pode-se ver como foi necessrio adicionar uma aresta (4,1) alm da aresta (1,4). Se alm de direcionado o
grafo for rotulado, ele chamado de uma rede.

R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

33


Figura 11. Exemplos de grafos. (a) Um grafo no direcionado, no conectado, no
rotulado e de clique. (b) um grafo direcionado, no rotulado e no conectado. Este grafo
no uma rede, pois suas arestas no so rotuladas. (c) um grafo no direcionado,
conectado e rotulado.
Um grafo dito conectado se existe um caminho entre quaisquer dois ns do grafo, onde um
caminho uma seqncia de arestas { (e
1
,e
2
), (e
2
,e
3
), ..., (e
k-1
,e
k
)}, onde e
1
a origem e e
k
o destino. O
exemplo da figura 11(c) conectado, mas os exemplos (a) e (b) no o so. No primeiro caso, no
possvel encontrar um caminho entre os ns 1 e 4, enquanto que no segundo no existe um caminho
saindo do n 2 e chegando no n 1 (a aresta existente direcionada e sai de 1 e chega em 2, e no vice-
versa).
Um grafo dito completo se todos os pares de vrtices esto conectados por uma aresta. Um
grafo de cliques um grafo em que cada componente conectado um grafo completo. O exemplo da
figura (a) um grafo de clique, pois o grafo pode ser separado em dois sub-grafos G
1
e G
2
, como pode
ser visto pela separao da matriz em sub-matrizes (G
1
representado pela matriz no canto superior
esquerdo, enquanto G
2
representado pela matriz no canto inferior direito. As outras duas matrizes tm
todos os elementos iguais a zero, indicando que os sub-grafos no so concetados). O primeiro contm os
vrtices 1 e 2 enquanto que o segundo contm os vrtices 3,4,5. Note que cada um dois vrtices em cada
um dos grafos est ligado por uma aresta a todos seus companheiros de grafo.
Uma maneira de agrupar elementos consiste em definir um grafo baseado nos seus dados e supor
que o grafo obtido representa uma clique corrompida. Desta maneira basta procurar o nmero mnimo de
arestas a serem adicionadas ou retiradas de forma a obter um grafo de clique. Os sub-grafos completos
obtidos representaro ento os clusters mais adequados para os dados. Um exemplo de tal tcnica pode ser
visto na figura 12.
Infelizmente este problema, denominado problema das cliques corrompidas, NP-difcil, o que
implica no haver nenhum algoritmo prtico para resolv-lo. Felizmente existem heursticas para nos
ajudar. Vamos discutir uma delas, mas antes vamos entender como podemos criar o grafo no qual a
heurstica ser aplicada.


Figura 12. Exemplos de obteno de cliques minimizando as alteraes de um grafo. (a)
O grafo original. As arestas marcadas por X sero apagadas. (b) O grafo de cliques
obtido. As arestas pontilhadas foram inseridas. O nmero mnimo de alteraes para
obter este grafo de cliques 4 (duas inseres e duas excluses).
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

34

Se as distncias entre dois elementos foram calculadas usando qualquer uma das mtricas
definidas na seo 1.2, pode-se montar uma matriz simtrica D em que cada elemento D
ij
representa a
distncia entre os elementos i e j. Pode-se ento escolher arbitrariamente um limite tal que existir uma
aresta entre os ns i e j se a distncia d
ij
for menor do que (maior, no caso de usarmos a correlao). Um
exemplo da aplicao desta tcnica pode ser visto na figura 13.

Figura 13. Exemplo de obteno de um grafo a partir das distncias calculadas. matriz de
distncias obtida foi aplicado um threshold =1,1. Os elementos marcados em negrito esto
abaixo desta distncia. Gera-se ento uma matriz de representao de um grafo com
entradas iguais a um nos pontos marcados em negrito. O grafo representado por esta matriz
pode ser visto na sua forma grfica em seguida.

Um algoritmo extremamente prtico para resolver o problema de cliques corrompidas o CAST
(Cluster Affinity Search Technique), definido inicialmente em (BEN-DOR et al, 1999). O algoritmo
constri iterativamente a partio P de um conjunto S encontrando um cluster C tal que nenhum elemento
iC seja distante de C e nenhum elemento iC seja prximo de C, dado um grafo formado a partir de um
limite de distncia . O algoritmo o seguinte:

S=conjunto de vrtices do grafo G
P=
Enquanto S
C={v}, onde v = vrtice de grau mximo no grafo G
Acrescente a C todos os genes ligados a um elemento de C
P=P+C
S=S/C
Remova vrtices do cluster C do grafo G
Fim Enquanto

Existem vrios outros algoritmos baseados em grafos, que podem ser considerados no lugar do
CAST. Entre eles podemos citar o PCC, definido no mesmo artigo que o CAST (BEN-DOR et al, 1999),
que se baseia em uma definio sobre as entradas de um modelo estocstico do erro e o CLICK
(SHARAN et al, 2000), que tambm se baseia na definio de um modelo estatstico que designa um
significado probabilstico para as arestas do grafo. Ambos os modelos tambm foram bastante usados e
so bem mais complexos que o CAST, devendo, entretanto, ser considerados por todos aqueles que
desejem expandir seus conhecimentos sobre mtodos de agrupamento baseados em grafos.

3. Concluso

Neste tutorial foram vistos os principais conceitos de agrupamento, vrias heursticas aplicadas a
este problema e que podem ser aplicadas a diversas reas de conhecimento.
Quando no existe nenhum tipo de informao pr-existente no existe uma classificao
tima para um conjunto de dados. Neste ponto, mtodos de clustering servem como um ferramental
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

35

para explorao de dados que, se usados de forma adequada, podem particionar os dados sem o efeito de
quaisquer preconceitos e noes arbitrrias. Dado o fato de que este problema NP-difcil, necessrio
aplicar uma heurstica para resolver o problema.
O grande nmero de tcnicas de agrupamento existentes pode ser confuso para o iniciante. s
vezes, em vez de escolher, o ideal pode ser usar todas de uma s vez. Existem trabalhos, tais como (HU et
al, 2004) que usam simultaneamente vrias tcnicas de argupamento e combinam seus resultados para
tomar uma deciso final.
Um ponto que deve ser realado sempre quando se lida com dados de um campo de
conhecimento, no se deve descartar o conhecimento desta rea. Todos os dados e resultados devem ser
analisados luz do conhecimento existente: nenhum algoritmo deve ser usado em qualquer rea de forma
isolada, sem pensar nas ramificaes das concluses que o seu uso pode impor.
Todas estas questes so importantes, no s para tcnicas de agrupamento como para outros
algoritmos que se usem na rea de aplicao que se deseja. Muitas vezes, as tcnicas de agrupamento
serviro como entrada para outros algoritmos ou como preparao para experimentos.

4. Referncias

BEN-DOR, A., SHAMIR, R., YAKHINI, Z. (1999), Clustering Gene Expression Patterns, Journal of
Computational Biology, v. 6, n. 3, pp. 281-297.
BRAGA, A. P, CARVALHO, A. C. P. L. F., LUDERMIR, T. B., 2000, Redes Neurais Artificiais
Teoria e Aplicaes, 1
a
. Edio, LTC Editora , Brasil.
CHIANG I.W-Y.; LIANG G-S.; YAHALOM S.Z (2003), The fuzzy clustering method: Applications in
the air transport market in Taiwan, The Journal of Database Marketing & Customer Strategy
Management, v 11, n 2, pp. 149-158
DZWINEL, W., YUEN, D. A., BORYCZKO, K., et al. (2005), Nonlinear multidimensional scaling and
visualization of earthquake clusters over space, time and feature space, Nonlinear Processes in
Geophysics n. 12 pp. 117128
GORDON, A. D, 1981, Classification, Chapman and Hall Ed., 1981
HAIR, J F JR., ANDERSON, R. E. et al, Multivariate Data Analysis, Prentice Hall, 1995
HAMMOUDA, K. M. (2002), Web Mining: Identifying Document Structure for Web Document
Clustering, Tese de Mestrado, Department of Systems Design Engineering, University of Waterloo,
Canada
HAYKIN, S., Redes Neurais: Princpios e Prticas, Ed. Bookman, 2001
HEBB, D. O. (1949). The organization of behavior: A neuropsychological theory New York: Wiley.
HU, X., ILLHOY, Y. (2004), Cluster ensemble and its applications in gene expression analysis,ACM
International Conference Proceeding Series; Vol. 55 Proceedings of the second conference on Asia-
Pacific bioinformatics v. 29, pp. 297-302 , Nova Zelndia.
JACKSON, C. R., DUGAS, S. L. (2003), Phylogenetic analysis of bacterial and archaeal arsC gene
sequences suggests an ancient, common origin for arsenate reductase, BMC Evolutionary Biology 2003,
v. 3 n. 18
JIANG, D., ZHANG, A. (2002) Cluster Analysis for Gene Expression Data: A Survey, Universidade de
Nova Irque.
JONES, N. C., PEZNER, P., An Introduction to Bioinformatics Algorithms, MIT Press, EUA, 2004
KIM, J., WARNOW, T. (1999), Tutorial on Phylogenetic Tree Estimation, Universidade de Yale.
R. Linden / Revista de Sistemas de Informao da FSMA n. 4 (2009) pp. 18-36

36

LEVIA JR D. F., PAGE D. R. (2000), The Use of Cluster Analysis in Distinguishing Farmland Prone to
Residential Development: A Case Study of Sterling, Massachusetts, Environ Manage. V. 25 n. 5, pp.
541-548
LINDEN, R.,2005, Um Algoritmo Hbrido Para Extrao De Conhecimento Em Bioinformtica, Tese
de Doutorado, COPPE-UFRJ, Rio de Janeiro, Brasil
MARTNEZ-DAZ, R. A., ESCARIO, J. E., NOGAL-RUIZ, J. J., et al (2001), Relationship between
BiologicaI Behaviour and Randomly Amplified Polymorphic DNA Profiles of Trypanosoma cruzi
Strains, Mem. Inst. Oswaldo Cruz vol.96 no.2, pp. 251-256, Brasil
MATIOLI, S. R. (ed.), Biologia Molecular e Evoluo, Holos Editora, 2001
OJA, M., NIKKILA, J., TORONEN, P., et al, 2002, Exploratory clustering of gene expression profiles
of mutated yeast strains in Computational and Statistical Approaches to Genomics, Zhang, W. e
Shmulevich, I. (eds), pp. 65-78, Kluwer Press
SHARAN, R., SHAMIR R 2000. CLICK: A clustering algorithm with applications to gene expression
analysis, Proc. Int. Conf. Intell. Syst. Mol. Biol. 8: 307316.
YEOH, E., ROSS, M. E., SHURTLEFF, S. A. et al., 2002, Classification, subtype discovery, and
prediction of outcome in pediatric acute lymphoblastic leukemia by gene expression profiling, Cancer
Cell, v. 1, n. 1, pp. 133-143.