Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering:...

45
Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 1/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração de Dados (pós-graduação) Universidade Federal de Campina Grande, 11/11/2008 Figuras tiradas do livro “Introduction to Data Mining”, de Tan, Steinbach e Kumar

Transcript of Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering:...

Page 1: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 1/34

Análise de Clustering:Tópicos adicionais

Rodrigo Rocha Gomes e Souza

Aula de Mineração de Dados (pós-graduação)Universidade Federal de Campina Grande, 11/11/2008

Figuras tiradas do livro “Introduction to Data Mining”, de Tan, Steinbach e Kumar

Page 2: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 2/34

Sumário

Algoritmos baseados em protótipos– Fuzzy c-means– EM (Expectation Maximization)

Algoritmos baseados em densidades– Grid-based– DENCLUE

Page 3: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 3/34

Algoritmos baseados em grafos– Sparsification (técnica)– Chameleon– SNN (Shared Nearest Neighbor - técnica)– Jarvis-Patrick– SNN Density

Page 4: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 4/34

Algoritmos baseados em protótipos

Page 5: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 5/34

K-means (revisão)

Não lida bem com clusters de diferentes formas, tamanhos e densidades

É um algoritmo rápido

Page 6: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 6/34

Fuzzy c-means: Introdução

Motivação– Nem sempre os dados estão bem separados– Atribuição de um elemento a um cluster pode

ser quase arbitrária Solução

– Clusters são conjuntos nebulosos: x

i pertence a C

j com grau w

ij (entre 0 e 1)

– wi1 + w

i2 + ... + w

ik = 1

Page 7: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 7/34

Fuzzy c-means: Algoritmo

Atribua um valor a cada wij

repita– Calcule o centróide de cada cluster– Recalcule cada w

ij até os centróides se estabilizarem

c j =∑i=1

m

w ij2 xi

∑i=1

m

w ij2

w ij =1/dist x i , c j

2

∑q=1

k

1/dist x i , cq2

Para obter um clustering, atribua cada elemento ao cluster para o qual seu grau de pertinência é maior

Page 8: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 8/34

Fuzzy c-means: Exemplo

Page 9: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 9/34

EM (Expectation Maximization)

Motivação: dados seguem distribuições estatísticas conhecidas

Generalização do k-means e do fuzzy c-means

Page 10: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 10/34

EM: Maximum Likelihood Estimation

Likelihood: até que ponto determinada distribuição estatística explica os dados?

Page 11: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 11/34

EM: Algoritmo

Cada cluster é representado por uma distribuição estatística com determinados parâmetros

Algoritmo– Selecione um conjunto inicial de parâmetros– repita

Para cada objeto xi, calcule a probabilidade de x

i

pertencer a cada distribuição.Ache os parâmetros que maximizam o likelihood

– até os parâmetros se estabilizarem

Page 12: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 12/34

Page 13: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 13/34

densidades e tamanhos diferentes

formas elípticas

EM

K-means

Page 14: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 14/34

EM: Weka=== Run information ===

Scheme: weka.clusterers.EM -I 100 -N 3 -M 1.0E-6 -S 100Relation: irisInstances: 150Attributes: 5 sepallength sepalwidth petallength petalwidth classTest mode: evaluate on training data

=== Model and evaluation on training set ===

EM==

Number of clusters: 3

Fonte: Wikipedia

Page 15: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 15/34

ClusterAttribute 0 1 2 (0.34) (0.33) (0.32)============================================sepallength mean 5.9188 5.006 6.6181 std. dev. 0.5168 0.3489 0.6001

sepalwidth mean 2.7577 3.418 2.9906 std. dev. 0.3133 0.3772 0.3064

petallength mean 4.268 1.464 5.5681 std. dev. 0.4667 0.1718 0.5369

petalwidth mean 1.3303 0.244 2.0348 std. dev. 0.1968 0.1061 0.2665

class Iris-setosa 1 51 1 Iris-versicolor 50.5437 1 1.4563 Iris-virginica 2.3846 1 49.6154 [total] 53.9283 53 52.0717

Clustered Instances

0 52 ( 35%)1 50 ( 33%)2 48 ( 32%)

Log likelihood: -2.21075

likelihood ≈ 0,11

Page 16: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 16/34

Algoritmos baseados em densidades

Page 17: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 17/34

DBSCAN (revisão)

Lida bem com clusters de diferentes tamanhos e formas

Não lida bem com clusters de diferentes densidades

1 2

3

5

6

4

7

Page 18: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 18/34

Grid-based

Motivação: eficiência Desvantagem: sensível a parâmetros (limiar de

densidade, tamanho de cada célula)

Page 19: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 19/34

DENCLUE

Generalização do DBSCAN

Maneira mais precisa de calcular densidades

Fonte: Wikipedia

Page 20: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 20/34

Algoritmos baseados em grafos

Page 21: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 21/34

Clustering Hierárquico Aglomerativo Matriz de proximidade entre objetos

Page 22: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 22/34

Clustering Hierárquico Aglomerativo Inicialmente, cada cluster contém um objeto A cada passo, agrupa os dois clusters mais

próximos entre si

Clusters aninhados Dendrograma

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

1

2

3

4

5

6

1

2 5

3

4

Page 23: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 23/34

Clustering Hierárquico Aglomerativo Proximidade entre clusters?

Page 24: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 24/34

Sparsification

Variações– Remover arestas com similaridade < limiar– Manter apenas arestas para os k vizinhos mais

próximos de cada nó Vantagens: menos dados a processar; é possível

usar algoritmos de particionamento de grafos

Page 25: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 25/34

Chameleon

Motivação: modelo local (dinâmico) de cluster

Closeness schemes will merge (a) and (b)

(a)

(b)

(c)

(d)

Average connectivity schemes will merge (c) and (d)

Page 26: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 26/34

Chameleon: Conceitos

Relative closeness (RC) Relative interconnectivity (RI)

Proximidade entre dois clusters:

RI(Ci, C

j) * RC(C

i, C

j)a

Page 27: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 27/34

Chameleon: Algoritmo

Construa o grafo dos k vizinhos mais próximos Particione o grafo (algoritmo METIS) repita

– Agrupe os clusters de acordo com RI e RC até não ser possível agrupar clusters

Page 28: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 28/34

Chameleon: Resultados

Lida bem com diferentes formas, tamanhos e densidades

Assume que o particionamento do grafo produz subclusters

Page 29: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 29/34

SNN (Shared Nearest Neighbors)

Motivação: dificuldade em tratar alta dimensionalidade e densidades diferentes

“Dois pontos similares aos mesmos pontos são similares entre si” (mesmo se a similaridade original era pequena)

Page 30: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 30/34

SNN: Algoritmo

Compute o grafo dos k vizinhos mais próximos Se dois pontos x, y não estão ligados,

similaridade(x, y) = 0 Caso contrário, similaridade(x, y) = número de

vizinhos comuns entre x e y

Page 31: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 31/34

Jarvis-Patrick

Algoritmo– Compute o grafo de similaridade SNN– Remova as arestas com similaridade < limiar– Encontre os componentes conexos do grafo

resultante

Page 32: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 32/34

Jarvis-Patrick: Resultados

Lida bem com clusters de diferentes densidades, tamanhos e formas

Muito sensível ao parâmetro limiar

limiar = L limiar = L + 1

Page 33: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 33/34

SNN density

Algoritmo– Compute o grafo de similaridade SNN– Aplique o DBSCAN (Eps, MinPts)

Lida bem com diferentes tamanhos, densidades e formas

Page 34: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 34/34

SNN density

Page 35: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 35/34

Page 36: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 36/34

CURE

Cada cluster tem múltiplos pontos representativos Escolhe pontos mais distantes uns dos outros Encolhe os pontos em direção ao centróide Usa amostragem e particionamento para tratar de

forma eficiente grandes volumes de dados

Page 37: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 37/34

CURE: Algoritmo

Selecione uma amostra aleatória dos dados Particione a amostra em partições de tamanho

igual Agrupe os pontos de cada partição usando o AHC

de CURE Use o AHC de CURE para agrupar os clusters do

passo anterior até restarem apenas K clusters Atribua cada ponto (de fora da amostra) ao cluster

mais próximo

Page 38: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 38/34

CURE: Resultados

Não lida bem com diferentes densidades Lida bem com outliers

Page 39: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 39/34

Subspace (CLIQUE)

Motivação: clusters em subespaços CLIQUE: de Agrawal, baseado no Apriori Vantagens e desvantagens do Apriori

– lento

Page 40: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 40/34

SOM – Mapas auto-organizáveis

Motivação: redução de dimensões, visualização Motivação: vizinhança entre clusters Desvantagem:

– convergência não é garantida– lento

Page 41: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 41/34

Escalabilidade

Amostragem Particionamento ...

Page 42: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 42/34

Minimum Spanning TreeOPOSSUM

Page 43: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 43/34

Características de dados

Alta “dimensionalidade” (procurar termo na álgebra linear)

Muitas instâncias Dados esparsos. Booleano vs. inteiro Outliers ...

Remover este slide?

Page 44: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 44/34

Sumário

Características de dados e clusters Algoritmos e técnicas

– protótipo– densidade– grafos

Algoritmos escaláveis Considerações finais

Page 45: Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração.

Rodrigo Rocha Análise de Clustering (tópicos adicionais) 11/11/2008 45/34

Características de clusters

Forma Diferentes tamanhos Diferentes densidades