You are on page 1of 26

Anlise de Clusters Introduo

Mtodo K-means
AULA 14
DATA MINING
Agrupamento -Anlise de Clusters
a F 1 0 1 1
b M 0 0 1 1
c F 1 1 1 0
d F 1 0 0 0
e M 1 1 0 1
a
2
a
3
a
1
a
11
a
4
a
7
a
9
a
10
a
5
Nmero de Clusters = 3
Conceito = Doena
Doena X
Doena Z
Doena Y
a
8
a
6
a
1
.
.
.
a
2
Nome Sexo Sintomas
Anlise de Clusters: Objetivos
Compreenso dos dados
Existe algum conceito inerente a cada grupo.
Que conceito este ?
Utilidade em outras tarefas
Cada cluster pode ser representado por um objeto prottipo que
caracteriza o cluster
Sumarizao : Algoritmos aplicados em grandes volumes de dados
podem ser aplicados apenas aos prottipos, reduzindo assim o tempo
de execuo
Compresso : o objeto prottipo representa cada objeto dentro do
seu cluster
Otimizao do clculo dos vizinhos mais prximos:
Se dois prottipos esto distantes ento os objetos nos respectivos
clusters tambm esto distantes.
Os objetos mais prximos do objeto X devem ser procurados no
cluster correspondente ao prottipo mais prximo de X.
Clusterizao versus Classificao
Classificao
Aprendizado Supervisionado
Amostras de treinamento so classificadas
Nmero de Classes conhecido
Aprendizado por Exemplo
Clusterizao
Aprendizado No Supervisionado
Aprendizado por Observao

Tipos de Agrupamentos
Particionais versus Hierrquicos
Particionais: clusters so disjuntos
Hierrquicos:
Clusters possuem subclusters organizados em rvore
Cada cluster (n interno da rvore) a unio de seus filhos
Exclusivos versus No-exclusivos versus Fuzzy
Exclusivos: cada objeto pertence a um nico cluster
No exclusivos: existem objetos que so associados a diferentes clusters
Fuzzy : objetos so associados a um cluster com um certo grau de pertinncia
Completos versus Parciais
Completos: cada objeto pertence a algum cluster
Parciais: existem objetos que no esto associados a nenhum cluster
(outliers, ruidos, sem interesse)



O que um cluster ?
Baseados em Prottipos
Um cluster um conjunto de objetos no
qual cada objeto est mais prximo (ou
mais similar) a objetos dentro do cluster do
que qualquer objeto fora do cluster.
Um cluster um conjunto de objetos no
qual cada objeto est mais prximo ao
prottipo que define o cluster do que dos
prottipos de quaisquer outros clusters.
Em geral: Prottipo = centride
Bem separados
Como definir a noo de Cluster ?
Os clusters encontrados tendem a ser globulares.

Prottipos
O que um cluster ?
- Os dados podem ser representados por um
grafo, onde os vrtices so objetos e existe
aresta de a para b se a est mais perto de b do
que de outros objetos no conjunto.
- Estar perto significa estar diretamente
conectado.
- Um cluster uma componente conexa do
grafo, isto , um conjunto de objetos que
esto conectados um no outro, mas que no
esto conectados com nenhum outro objeto
de outro cluster.
Baseados em Grafos
Boa definio quando os clusters
so irregulares e entrelaados.

Problema: quando os dados tm ruidos,
Pode haver distores nos clusters

Exemplo: dois clusters distintos podem
se transformar num nico cluster (os dois
clusters so ligados atravs de uns poucos
Outliers, como mostrado na figura).
a b
a est perto de b
d(a,b) <
O que um cluster ?
Baseados em Densidade
Um cluster uma regio densa rodeada
por uma regio de baixa densidade.

No exemplo, temos 3 clusters = 3 regies densas
A ponte de outliers ligando as duas esferas
foi dissolvida nos outros outliers.
Esta definio utilizada quando
os clusters so irregulares ou entrelaados
e quando ruido e outliers esto presentes.

Uma definio baseada em grafos no seria
adequada neste caso, pois os outliers
poderiam fazer uma ponte entre as regies
transformando-as em um nico cluster.

Os outliers seriam absorvidos nos clusters.

O que um cluster ?
Clusters Conceituais
Os objetos de um cluster possuem uma
propriedade que derivada do conjunto
total de objetos. No exemplo, podemos distinguir
3 clusters: o tringulo, o retngulo e os dois anis.

Um cluster representa um conceito.
Definio utilizada em Reconhecimento de Padres.
Tipos de Tcnicas de Clusterizao
Particionamento
K-means:
K-medides: PAM, CLARA, CLARANS
Particional e baseada em prottipos.
Encontra um nmero k de clusters (k
fornecido pelo usurio) que so representados
por seus centrides.
Particionamento

BD com n amostras

K = nmero de clusters
desejado ( parmetro )

K n
Tipos de Tcnicas de Clusterizao
Hierrquicas Aglomerativas
Produzem agrupamentos hierrquicos
comeando com clusters unitrios e
repetidamente aglutinando clusters prximos
dois a dois at chegar no nmero k de clusters
solicitado pelo usurio.
Exemplos: BIRCH, CURE, CHAMELEON,
ROCK...)
Hierrquicos Aglomerativos

BD com n amostras

K = nmero de clusters
desejado ( parmetro )

K n

Tipos de Tcnicas de Clusterizao
Hierrquicas Divisrias
Produzem agrupamentos hierrquicos
comeando com um cluster nico contendo
todo o conjunto de objetos e repetidamente
dividindo os clusters em duas partes de
acordo com algum critrio de similaridade at
chegar no nmero k de clusters solicitado pelo
usurio.
Exemplo: algoritmo DIANA
Tipos de Tcnicas de Clusterizao
Por densidade
Adequados para identificar clusters de formato arbitrrio.
Robustos com respeito a rudos e outliers.
Regies densas = clusters
Regies de baixa densidade = rudos e outliers
Um ponto pertence a uma regio densa se numa
vizinhana de raio pequeno existem pelo menos M
objetos (M dado pelo usurio).
O nmero k de clusters no precisa ser dado pelo usurio.
determinado pelo algoritmo.

Exemplos: DBSCAN, OPTICS, DENCLUE

Dados de Treinamento

x
11
x
12
x
13
... x
1n
x
21
x
22
x
23
... x
2n
x
31
x
32
x
33
... x
3n
... ... ... ... ...
x
p1
x
p2
x
p3
... x
pn
0

0

... 0

d(x
1
,x
2
)

0

... 0

d(x
1
,x
3
) d(x
2
,x
3
)
... 0

... ... ... 0
d(x
1
,x
p
) d(x
2
,x
p
)
... 0
Matriz de dados padronizados Matriz de dissimilaridade
Distncia Euclidiana d(x,y) = (x
1
-y
1
)
2
+ (x
2
-y
2
)
2
+ .... + (x
p
y
p
)
2
Outras distncias : Manhattan, Minkowski, Ponderada
Outras distncias
Manhattan
Minkowski

Distncia em geral
Qualquer funo d(x,y) N que satisfaz as seguintes
propriedades:

d(i,j) 0
d(i,i) = 0
d(i,j) = d(j,i)
d(i,k) d(i,j) + d(j,k) (desigualdade triangular)
Distncia poderada

d(x,y) = |x
1
-y
1
|+ |x
2
-y
2
| + .... + |x
p
y
p
|

d(x,y) = (x
1
-y
1
)
m
+ (x
2
-y
2
)
m
+ .... + (x
p
y
p
)
m
m
d(x,y) = p1 (x
1
-y
1
)
2
+ p2 (x
2
-y
2
)
2
+ .... +pk (x
k
y
k
)
2
Outras medidas de similaridade
Para documentos
p1,p2, p3, ... : vocabulrio (palavras)
Um documento = vetor (n1,n2,...,nk)
ni = nmero de vezes que a palavra i aparece no
documento
Medida de similaridade entre documentos d1,d2
= cos(d1,d2) = d1.d2
|d1| |d2|

d1
d2

Exercicio
Sejam X1 = (1,2) e X2 = (4,6). Calcula as
distncias euclidianas, Minkowski com m = 3
e Manhattan entre X1 e X2.
Ilustre no plano xy os segmentos
representando tais distncias.
Algoritmo K-means







1 Iterao 2 Iterao
+
+
+
Exemplo K = 3
Algoritmo K-Means
1. Selecione k pontos como centrides iniciais
2. Repeat
3. Forme k clusters associando cada objeto a seu
centride mais prximo
4. Recompute o centride de cada cluster
5. Until Centrides no apresentam mudanas
Centride = centro de gravidade do cluster
Coordenada i = mdia aritmtica das coordenadas i de
seus objetos constituintes.
Observaes
Boa parte dos clusters j convergem nos
primeiros passos do algoritmo, ficando
somente uma quantidade pequena de clusters
que ainda modificam.
Assim, a condio 5 do algoritmo
substituida por : at que somente 1% dos
objetos mudam de clusters.

Objetivo
Erro (x) = d(x,ci) = distncia de x at o centride ci de
seu cluster Ci
Objetivo do mtodo K-means
Minimizar a soma dos erros (SSE = sum of square errors)
Maximizar a coeso (no caso de documentos)

SSE = d(x,ci)
2 Coeso
= coseno(x,ci)
2

i = 1
K
x Ci
i = 1
K
x Ci
Observao
Nem sempre o K-means consegue minimizar
o SSE
Isto depende muito da escolha dos centrides
iniciais.


Tcnicas para inicializar os centrides
Escolha aleatria diversas rodadas do k-means at
encontrar a escolha que produz o menor SSE (ou
maior coeso).
Nem sempre funciona- depende dos dados e do nmero k
de clusters que se quer encontrar.
Utilizar uma amostra, aplicar um mtodo de
clusterizao hierrquica sobre a amostra. Centrides
iniciais = centrides dos clusters das amostras.
Funciona se a amostra pequena (mtodos hierrquicos
so computacionalmente caros !) e K relativamente
pequeno com relao ao tamanho da amostra.



Exerccio
1
1
2
3
4 5
6
7
8
9
10
11
12
13
14
15
16
17
1 1,9 7,3
2 3,4 7,5
3 2.5 6,8
4 1,5 6,5
5 3,5 6,4
6 2,2 5,8
7 3,4 5,2
8 3,6 4
9 5 3,2
10 4,5 2,4
11 6 2,6
12 1.9 3
13 1 2,7
14 1.9 2,4
15 0,8 2
16 1,6 1,8
17 1 1
Achar 3 clusters utilizando o k-means

You might also like