Você está na página 1de 15

3

Tcnicas de agrupamento

Com o advento da internet a quantidade de informao disponvel


aumentou consideravelmente e com isso, tornou-se necessrio uma forma
automtica de organizar e classificar esta informao.
O processo de agrupamento de objetos fsicos ou abstratos em classes de
objetos similares conhecido tambm como clusterizao. Um cluster uma
coleo de objetos de dados que so similares dentro de um mesmo grupo

PUC-Rio - Certificao Digital N 0711262/CA

(cluster) e so dissimilares entre clusters distintos [4].


Ao longo deste captulo apresentaremos os principais algoritmos e tcnicas
utilizadas no processo de agrupamento que serviu de base para o
desenvolvimento desta dissertao.

3.1.
Tipos de agrupamento
De acordo com a necessidade da aplicao os dados a serem agrupados
podem ser interpretados de diferentes maneiras. Deste modo, Tan et al. [5]
apresentam alguns dos mais importantes e conhecidos tipos de agrupamento
utilizados.
Hierrquico versus Particionado: No agrupamento particionado, os

objetos so divididos em grupos no mesmo nvel, ou seja, sem a sobreposio


de clusters ou no-aninhada. No agrupamento hierrquico, os grupos de objetos
esto aninhados, ou seja, esto organizados como em uma rvore.
Exclusivo versus Sobreposto versus Fuzzy: O agrupamento dito

exclusivo quando cada objeto de uma massa de dados est atribudo apenas a
um cluster. Caso um objeto possa coexistir em diferentes clusters ento dizemos
que no-exclusivo ou sobreposto. J no agrupamento fuzzy cada objeto
pertence a cada cluster de acordo com um grau de pertinncia, onde um objeto

24

pertence a um cluster totalmente (100%), parcialmente (100% > x > 0%) ou no


pertence (0%).
Completo versus parcial: No agrupamento completo, todos os objetos

so atribudos necessariamente a um cluster, ao contrrio do agrupamento


parcial, onde os objetos no so necessariamente atribudos a um cluster.
Alguns objetos podem no ser bem definidos e, ento, no pertencerem a
nenhum grupo.

3.2.
Algoritmos de agrupamento
Algoritmos de agrupamento tm como objetivo particionar uma massa de
objetos em grupos ou clusters de objetos similares. Esta tarefa pode ser dividida
em agrupamento supervisionado, onde algum mecanismo externo (humano)
PUC-Rio - Certificao Digital N 0711262/CA

prov informaes de como classificar um determinado objeto corretamente, e


agrupamento no-supervisionado, onde a classificao deve ser realizada sem
referncias externas.

3.2.1.
Agrupamento supervisionado
De acordo com Sebastiani [6], o problema do agrupamento supervisionado
definido como:
Dado um grupo de D documentos e um grupo de C categorias prdefinidas, o objetivo atribuir um valor booleano para cada par (di, cj) D x C,
onde di D e cj C.
Muitos algoritmos de aprendizagem tm sido utilizados para ajudar nesse
tipo de classificao, como por exemplo, k-Nearest Neighboor(k-NN) [7-9],
Support Vector Machines(SVM) [10], Neural Networks(Nnet) [11, 12], Linear
Least Squares Fit(LLSF) [13] e Naive Bayes(NB) [14, 15]. A seguir veremos o
funcionamento de alguns dos algoritmos mais conhecidos.

25

3.2.1.1.
K-Nearest Neighbor
Este algoritmo considerado o mais simples dentre os algoritmos de
machine learning (ML) e o seu propsito classificar um novo objeto baseado
nos exemplos de treinamento e em seus atributos.
Dado um objeto x sem classificao,
verifica-se os k vizinhos treinados mais prximos
a ele. A categoria atribuda ao objeto x a que
possui o maior nmero de ocorrncias (kocorrncias) prximas a ele.

Como podemos ver na figura 3, o crculo

PUC-Rio - Certificao Digital N 0711262/CA

Figura 3 Exemplo k-NN

representa o objeto sem classificao e os

objetos restantes representam os objetos j treinados, ou seja, os vizinhos que


ajudaro a classificar o novo objeto. Supondo que k seja definido como trs (3ocorrncias), o crculo ser classificado como tringulo, pois dentre os trs
vizinhos mais prximos dois deles so tringulos e apenas um quadrado.
Existe uma variao do algoritmo k-NN chamada Weighted K-Nearest
Neighbor (Wk-NN). Nele, a contribuio de cada vizinho ponderada de acordo
com a similaridade do objeto sem classificao, ou seja, para cada categoria a
similaridade dos vizinhos pertencentes quela categoria somada obtendo um
score para a categoria do objeto sem classificao, o objeto ento atribudo a

categoria com o maior score. O clculo para a categoria cj com o objeto x


realizado atravs da form. (1).

y di, cj . cos ,

(1)

onde x o objeto sem classificao; di o objeto treinado, N(x) o grupo de


treinamento dos k objetos prximos a x; cos(x, di) o cosseno da similaridade
entre o objeto x e o objeto di; e y(di,cj) uma funo cujo valor retornado 1 se
di pertence categoria cj e 0, caso contrrio.

26

3.2.1.2.
Classificador Naive Bayes
Este classificador, provavelmente, o mais utilizado em machine learning.
Ele denominado ingnuo (naive) por assumir que os atributos so
condicionalmente independentes, ou seja, a informao de um evento no
informativa para nenhum outro evento. Mesmo considerado ingnuo, este
algoritmo tem o melhor desempenho em vrias tarefas de classificao,
conforme pode ser visto em [16,17].
Existem dois modelos comuns para a classificao utilizando o mtodo de
Bayes, modelo multivariado de Bernoulli e modelo multinomial. Em ambos os
modelos a classificao de teste feita aplicando o teorema de Bayes vide form.

PUC-Rio - Certificao Digital N 0711262/CA

(2).

(2)

onde di o objeto a classificar e cj um objeto j classificado.


Se di pertence a uma categoria cj, ento devemos determinar P(cj|di),
probabilidade posterior de cj dado di, e atribuir a di a categoria com maior
probabilidade posterior. Para conhecermos P(cj|di) necessrio conhecer as
probabilidades prvias P(cj) e P(di) que so baseadas nos objetos j treinados
ou informaes estatsticas conhecidas. E, por fim, calculamos P(di|cj) que, como
j citado, pode ser estimado de acordo com o modelo multivariado de Bernoulli
ou multinomial.

3.2.1.3.
Support Vector Machine (SVM)
A SVM foi proposta inicialmente por Vapnik [18] para resolver problemas
two-class, achar a superfcie de deciso que separa maximamente as amostras

de treinamento positiva e negativa de uma categoria. A figura 4 ilustra a idia


deste mtodo para objetos linearmente separados que a formulao mais
simples deste tipo de problema.

27

margin

Figura 4 SVM localiza o hiperplano h, que separa as amostras de treinamento negativas


e positivas com margem mxima. Os sinais circunscritos so chamados de Support
Vectors.

A deciso de superfcie um hiperplano e quando linearmente separvel

PUC-Rio - Certificao Digital N 0711262/CA

pode ser escrita como a eq. (1).


w. d

(1)

onde d um objeto a ser classificado e o vetor w e a constante b so conhecidas


a partir do grupo de treinamento. Chama-se de hiperplano a superfcie de
deciso num espao linearmente separado, o vo entre as linhas tracejadas
mostra como a superfcie de deciso pode ser movimentada sem conduzir a uma
classificao errada e margin a distncia entre as linhas paralelas.
O problema SVM justamente achar w e b de acordo com as restries
dadas por [10].

3.2.2.
Agrupamento no-supervisionado
Ao contrrio do agrupamento supervisionado, a utilizao de categorias
pr-definidas desnecessria. O grande objetivo desta tcnica agrupar objetos
com alto grau de semelhana, onde a similaridade alguma funo de distncia,
por exemplo, distncia euclidiana.
De acordo com [19], a classificao no supervisionada pode ser dividida
em dois tipos: algoritmos de agrupamento hierrquico e algoritmos de
agrupamento particionado.

28

Algoritmos hierrquicos produzem parties aninhadas por diviso ou


aglomerao e algoritmos particionados agrupam os dados em parties no
aninhadas e no sobrepostas.

3.2.2.1.
Algoritmos Particionados
3.2.2.1.1.
K-Means
O algoritmo K-means [19] foi apresentado por J.B. MacQueen em 1967 e
um dos mais famosos algoritmos de agrupamento de dados, este algoritmo tenta
fornecer uma classificao de acordo com os prprios dados, sendo a
classificao feita por similaridade de grupos, onde o objeto atribudo ao grupo

PUC-Rio - Certificao Digital N 0711262/CA

(cluster) ao qual mais semelhante.


A idia por trs deste algoritmo escolher k objetos (aleatoriamente ou
com alguma heurstica) que sero base de cada grupo (denominados
centrides), os demais objetos so associados ao centride mais prximo. A
cada passo os centrides so recalculados dentre os objetos de seu prprio
grupo e os objetos so realocados para o centride mais prximo, este
procedimento repetido at que o nvel de convergncia seja satisfatrio de
acordo com alguma heurstica estabelecida, vejamos o exemplo da figura 5.
O pseudo-cdigo do algoritmo K-Means descrito como:

Algoritmo K-means

1 Selecione K pontos como centrides iniciais


2 repeat
3

Atribua cada objeto ao cluster mais prximo

Re-calcula cada centride de cada cluster

5 until (at que os centrides permaneam estveis)

29

Inicia com a escolha de k


objetos aleatrios, no caso k=3.

Os

objetos

so

associados ao centride mais

PUC-Rio - Certificao Digital N 0711262/CA

prximo.

Os centrides so re-

Os passos 2 e 3 se

arrumados para o centro do repetem at que cheguem a


grupo de objetos associados no uma soluo tima.
passo anterior.
Figura 5 Exemplificao do algoritmo K-Means

3.2.2.1.2.
K-Medide
Esse algoritmo uma variao do algoritmo K-Means e ao contrrio deste
o K-medide escolhe objetos existentes como centrides. Ao final do
agrupamento obteremos um objeto como o elemento central, normalmente
classificado como o prottipo do agrupamento, o medide.
Uma vantagem do algoritmo K-Medide em relao ao K-Means sobre
os rudos ou outliers (dados classificados erroneamente ou sem classificao)
contidos no agrupamento, pois as estratgias na escolha do centride e do
medide so diferentes. No K-Means, o centride dado pela mdia de todos os
objetos dentro de um agrupamento. Desta maneira, se o agrupamento possuir
um objeto muito distante dos outros, o centride ser influenciado erradamente.
J no K-Medide, o algoritmo utiliza a mdia do erro quadrado para validar a
escolha de um medide ento ao escolher um medide que esteja mais prximo

30

a um rudo ou outlier, a mdia do erro quadrado ir aumentar e esta escolha ser


descartada, dado que o objetivo minimizar a mdia do erro quadrado. Com
isso, o algoritmo obtm o elemento mais representativo ou central do
agrupamento.

3.2.2.2.
Algoritmos hierrquicos
3.2.2.2.1.
Diviso
O algoritmo de diviso [20] inicia-se com um cluster contendo todos os
objetos disponveis e a cada iterao o cluster mais apropriado no
momento(cluster que possui a maior distncia entre seus pares de objetos)
selecionado e dividido, o algoritmo pra quando algum critrio pr-determinado

PUC-Rio - Certificao Digital N 0711262/CA

satisfeito, por exemplo, o nmero k de clusters.


Outro exemplo de algoritmo hierrquico de diviso o Bisecting K-Means,
a princpio ele um algoritmo de partio, porm ele se torna hierrquico
medida que o algoritmo K-Means (k=2) aplicado a cada partio selecionada a
cada iterao. A partio selecionada pode ser aquela que possui mais objetos
ou aquela em que a mdia do erro quadrado alta.
Algoritmo Bisecting K-means
1 Inicializa uma lista de clusters para conter o cluster que possui todos os
objetos
2 repeat
3

Retira um cluster da lista de clusters (execute algumas vezes a biseco

do cluster escolhido)
4

for 1 to nmero de tentativas

5
6

Bi - seccione o cluster escolhido utilizando o K-means


end for

7 Seleciona os dois clusters com o menor erro (SSE)


8 Adiciona estes dois clusters para a lista de clusters
9 until (at que a lista de clusters possua k clusters)

31

3.2.2.2.2.
Aglomerao
Ao contrrio do algoritmo de diviso, no
incio, cada objeto corresponde a um cluster. A
cada iterao os clusters com maior similaridade
so agrupados at que algum critrio de parada
seja identificado. A representao clssica desse
algoritmo dada por uma rvore, tambm
chamada de dendograma (figura 7). Vejamos o
exemplo a seguir, onde temos vrios objetos e a
distncia euclidiana a medida de similaridade de Figura 6 Objetos a serem

PUC-Rio - Certificao Digital N 0711262/CA

acordo com a figura 6.

aglomerados.

Figura 7 Dendograma do exemplo do algoritmo de aglomerao.

Na figura 7, temos seis elementos {a}, {b}, {c}, {d}, {e} e {f}. O primeiro
passo foi determinar quais elementos deveriam ser aglomerados (pares de
elementos com a menor distncia). Este passo iterado at o grau de
generalizao desejado.

3.3.
Medidas de similaridade e dissimilaridade
As medidas de similaridade e dissimilaridade so fundamentais para a
organizao de objetos, seja para adicionar objetos a um determinado grupo ou
retir-los, respectivamente. As medidas mais comuns so:

Distncia euclidiana

32

A distncia euclidiana entre dois pontos x = (x1, x2,..., xn) e


y = (y1, y2,..., yn) dada pela form. (3).

d ( x, y ) =

(x
i =1

yi ) 2

(3)

onde xi e yi so as i coordenadas de cada objeto e x e y


so objetos de uma massa de dados.

Distncia de Manhattan
o

A distncia de Manhattan entre dois pontos x = (x1, x2,...,


xn) e y = (y1, y2,..., yn) dada pela form. (4).

PUC-Rio - Certificao Digital N 0711262/CA

d ( x , y ) = ( xi y i )

(4)

i =1

onde xi e yi so as i coordenadas de cada objeto e x e y


so objetos de uma massa de dados.

Similaridade do Cosseno
o

a medida do ngulo entre dois vetores de n dimenses.


Cada objeto representado por um vetor e a medida do
ngulo entre eles representa o grau de similaridade dos
dois objetos, caso o ngulo seja 0, significa uma relao
total entre os objetos, caso o ngulo seja , significa que
no existe relao alguma entre os objetos e nos valores
no intervalo (0, ), significa que existe alguma relao
entre eles. A similaridade do cosseno dada pela form.
(5).

CosSim ( A, B ) =

A B
A B

onde A e B so objetos representados como vetores.

(5)

33

3.4.
Mtodos de ligao sobre grupos
Os mtodos de ligao so utilizados para determinar se a distncia entre
grupos insuficientemente grande para que sejam reagrupados ou para agrupar
os grupos mais prximos dentre todos os outros. Esses mtodos so usualmente
utilizados em algoritmos hierrquicos de aglomerao.

3.4.1.
Single Linkage Clustering Method (SLINK)
A proximidade entre dois grupos definida como a mnima distncia entre
dois objetos de dois diferentes grupos. Para isso, computada a distncia entre

PUC-Rio - Certificao Digital N 0711262/CA

todos os pares de objetos, ver figura 8.

Figura 8 SLINK

3.4.2.
Group Average Method ou Unweighted pair-group Method using
Arithmetic Averages (UPGMA)
A proximidade entre dois grupos definida como a mdia das distncias
entre cada objeto de um grupo e cada objeto do outro grupo, ver figura 9.

Figura 9 UPGMA

3.4.3.
Complete Link Clustering Method (CLINK)
A medida de proximidade do CLINK exatamente a oposta do SLINK, aqui
a proximidade definida como a mxima distncia entre dois objetos de dois
diferentes grupos, ver figura 10.

34

Figura 10 CLINK

3.4.4.
Wards Method
A proximidade entre dois grupos definida como o agrupamento de dois
grupos no qual o aumento da perda seja mnimo. A perda definida em termos
da soma do erro quadrado. Calcula-se a soma do erro quadrado da juno de
cada par de grupos e os que obtiverem o menor erro so agrupados.

PUC-Rio - Certificao Digital N 0711262/CA

3.5.
Mtodos de validao de grupos
Para verificar a qualidade da estrutura de um grupo (cluster) necessrio
informaes sobre ele, estas informaes podem ser obtidas atravs de mtodos
no-supervisionado, supervisionado ou relativo.
O mtodo no-supervisionado mede a qualidade do grupo sem nenhuma
informao externa, ou seja, usam-se apenas informaes contidas no prprio
grupo de dados, as medidas podem ser divididas em coeso e separao. A
coeso valida a solidez dentro de um grupo e a separao valida o isolamento
entre grupos, onde essas validaes podem ser feitas atravs de medidas de
proximidade de objetos. No caso dos sistemas baseados em prottipos a
separao pode ser medida atravs da distncia entre os prottipos e a coeso
pode ser medida atravs da distncia entre os objetos do grupo e seu prottipo,
conforme ilustra a figura 11.

Figura 11 Ilustrao da coeso de um grupo ( esquerda) e a separao de dois grupos


( direita) em relao a um elemento central (prottipo).

35

O mtodo supervisionado, ao contrrio do no-supervisionado, utiliza


medidas externas para validar o agrupamento. J o mtodo relativo compara
diferentes agrupamentos ou grupos, este mtodo tanto supervisionado como
no-supervisionado e utilizado como comparador entre as medidas com
ndices internos (diferentes agrupamentos) e ndices externos (classificao j
conhecida).

3.6.
Tratamento de tipos de dados
Para que haja um agrupamento de dados importante que sejam definidos
os tipos de dados com os quais o algoritmo ir trabalhar. Para isso, Han e
Kramber [21], especificaram em seu trabalho alguns tipos de variveis para

PUC-Rio - Certificao Digital N 0711262/CA

inferir sobre a similaridade de objetos no agrupamento de dados.

3.6.1.
Variveis escaladas em intervalos
Unidades de medida, como por exemplo: quilograma, litro, metro, entre
outras. As medidas so escaladas para a unidade correta antes de serem
aplicadas a medida de similaridade entre objetos.

3.6.2.
Variveis booleanas
Variveis que possuem apenas dois tipos de valores (0,1), que
representam se determinado objeto possui, ou no, determinada caracterstica.

3.6.3.
Variveis nominais
Variveis que possuem um conjunto finito de valores e no possuem uma
ordem especfica. Ex.: estado civil: (solteiro, casado, vivo, divorciado).

3.6.4.
Variveis ordinais
Variveis que possuem um conjunto finito de valores e uma ordem
especfica podendo assumir valores discretos ou contnuos. A avaliao deste

36

tipo de varivel em sua medida de similaridade pode ser efetuada como as


variveis escaladas. Ex.: dias da semana (segunda-feira, tera-feira, ...)

3.6.5.
Variveis livres
Varivel sem estrutura, texto livre.

3.7.
Determinao do nmero de grupos
Embora muitos algoritmos de agrupamento sejam no-supervisionados, a
maioria deles necessita de parmetros de inicializao que estejam diretamente
ou indiretamente ligados determinao do nmero de grupos (clusters). Achar
ou supor este nmero no trivial, mesmo que tenhamos um conhecimento

PUC-Rio - Certificao Digital N 0711262/CA

prvio sobre a massa de dados e dependendo da quantidade de informao


essa tarefa se torna manualmente impossvel. De acordo com Salvador e Chan
[22], existem cinco abordagens normalmente utilizadas para tratar este
problema.

3.7.1.
Cross Validation
Mtodo estatstico de particionamento de uma amostra de dados em
subgrupos. Esses grupos serviro para treinar, validar e testar os grupos de
dados formados.

3.7.2.
Penalized likelihood estimation
Mtodo que cria modelos para tentar ajustar os dados adequadamente,
alm de tentar diminuir sua complexidade.

3.7.3.
Permutation tests
Mtodo estatstico em que uma distribuio referencial obtida atravs
do clculo de todas as possibilidades dos objetos de dados amostrados.

37

3.7.4.
Resampling
A tcnica utiliza vrias amostras do grupo de dados e tenta descobrir o
nmero de grupos que mais estvel dentre essas amostras.

3.7.5.
Finding the knee of error curve
Mtodo que tenta descobrir um nmero apropriado de grupos analisando
a curva gerada a partir deste mtodo; geralmente um teste realizado para cada
possvel nmero de grupos e uma mtrica para avaliao de cada grupo.

3.8.
Concluso

PUC-Rio - Certificao Digital N 0711262/CA

O agrupamento de dados uma tcnica muito aplicada em diversas reas


como na biologia, estatstica, psicologia, engenharia, medicina, marketing
(anlise de mercado), arquivologia, informtica, negcios, entre muitas outras.
Contudo, achar a melhor soluo para este problema no fcil, de acordo com
[23], encontrar a configurao perfeita para os dados um problema NPCompleto.
A utilizao de algoritmos supervisionados tem um ponto diferencial
conveniente, basear-se em uma massa de dados para treinamento j
classificados, porm, em determinados casos, necessitamos uma forma de
classificao automtica, j que o ato de classificar dados para treinamento pode
ser uma tarefa rdua ou, at mesmo, impossvel. Deste modo, algoritmos de
agrupamento no supervisionados tm um papel fundamental na classificao
de dados similares.

Você também pode gostar