Clustering Prof. Francisco de A. T. de Carvalho [email protected].

84
Clustering Clustering Prof. Francisco de A. T. de Carvalho [email protected]

Transcript of Clustering Prof. Francisco de A. T. de Carvalho [email protected].

Page 1: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

ClusteringClustering

Prof. Francisco de A. T. de [email protected]

Page 2: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

O que é Análise de O que é Análise de Agrupamentos?Agrupamentos?

Cluster: um grupo de objetos• Similares entre si quando no mesmo grupo• Dissimilares em relação a objetos em outros grupos

Análise de Agrupamentos• Agrupamento de objetos em grupos

Agrupamento é um método de classificação não supervisionada: as classes não são definidas previamente

Aplicações típicas• Como uma ferramenta autonoma para obter pistas sobre

a distribuição de dados• Como uma etapa de preprocessamento para outros

algoritmos

Page 3: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Aplicações de Clustering Aplicações de Clustering Reconhecimento de Padrões Análise de Dados Espacial

• detecte clusters espaciais e explique-os no contexto da mineração de dados espaciais

Processamento de Imagens Economia (especialmente pesquisa de mercado) WWW

• Classificação de documentos• Agrupamento de dados provenientes do Weblog para

descobrir grupos de acesso similares

Page 4: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Exemplos de Aplicações de ClusteringExemplos de Aplicações de Clustering Marketing: Ajuda os marqueteiros a descobrir

grupos de clientes e usa esse conhecimento para orientar as campanhas publicitárias

Solo: Identificação de áreas de propriedades similares

Seguro: Identificação de grupos de segurados com um custo médio elevado de reembolso

Planejamento Urbano: Identificação de grupos de habitação segundo o tipo, valor e localização geográfica

Page 5: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

O que é um bom agrupamento?O que é um bom agrupamento?

Um bom método de agrupamento fornece grupos de alta qualidade com• Alta similaridade intra-grupo• baixa similaridade inter-grupo

A qualidade do resultado de um agrupamento depende tanto da medida de similaridade usada pelo método como da sua implementação.

A qualidade de um método de agrupamento é também medido pela sua habilidade para descobrir os padrões escondidos.

Page 6: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Requirementos para Clustering em Requirementos para Clustering em Data Mining Data Mining

Scalabilidade Abilidade para tratar com diferentes tipos de

atributos Descoberta de grupos de forma arbitrária Requerimentos mínimos do conhecimento do

dominio em relação aos parâmetros de entrada Capaz de tratar ruidos e valores aberrantes Insensível à ordem dos registros de entrada Alta dimensionalidade Incorporação de restrições fornecidas pelo

usuário Interpretabilidade e usabilidade

Page 7: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

a) aquisição dos dados1) Seleção das observações (indivíduos, objetos, casos, itens)2) Seleção das variáveis (caracteres, descritores) e das correspondentes escalas3) Construção da Tabela de Dados

b) Pré-processamento dos dados1) Mudança de escala2) Normalização3) Extração de caracteres

Principais Etapas da Formação Principais Etapas da Formação de Agrupamentosde Agrupamentos

Page 8: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

c) Construção da Tabela de Dadosd) Cálculo da Proximidade

1) Escolha de um Índice de Proximidade2) Construção da Matriz de Proximidades

e) Seleção de um Algoritmo de Formação de Grupos em função do tipo de agrupamento desejadof) Análise e Interpretação dos Resultados

Principais Etapas da Formação de Principais Etapas da Formação de AgrupamentosAgrupamentos

Page 9: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

A Representação dos DadosA Representação dos Dados

Matrix de Dados

Matrix de Dissimilaridade

npx...nfx...n1x...............ipx...ifx...i1x...............1px...1fx...11x

0...)2,()1,(:::

)2,3()

...ndnd

0dd(3,10d(2,1)

0

Page 10: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Medida da Qualidade de um Medida da Qualidade de um AgrupamentoAgrupamento

Proximidade: é uma função que mede a similaridade ou a dissimilaridade entre um par de observações

Uma função a parte mede a qualidade de um grupo.

As funções de proximidade dependem da escala das variáveis: proporcional, intervalar, ordinal, nominal, binária, mista

Pode-se associar pesos as variáveis como conheciemento do domínio.

É extremamente difícil definir o que são dois objetos “bastante similares” • a resposta é quase sempre subjetiva.

Page 11: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Tipos de Dados Variáveis de escala intervalar: Variáveis Binárias: Variáveis Nominais, Ordinais, Proporcionais: Variáveis de tipo mixto:

Page 12: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Variáveis de escala intervalar Padronização

Calcule o desvio médio absoluto:

onde Calculale a medida padronizada (z-escore)

O desvio médio absoluto é mais robusto do que o desvio padrão

.)...211

nffff xx(xn m

|)|...|||(|121 fnffffff mxmxmxns

f

fifif s

mx z

Page 13: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Dissimilaridade entre objetosDissimilaridade entre objetos

Distancias são normalmente usadas como medida de dissimilaridade entre objetos

Entre as mais populares: distancia de Minkowski

onde i = (xi1, xi2, …, xip) e j = (xj1, xj2, …, xjp) são dois vetores p-dimensionais, e q é um inteiro positivo

Se q = 1, d é a distância de Manhattan

q q

pp

qq

jxixjxixjxixjid )||...|||(|),(2211

||...||||),(2211 pp jxixjxixjxixjid

Page 14: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Dissimilaridade entre objetosDissimilaridade entre objetos Se q = 2, d é a distância:

• Properties d(i,j) 0, d(i,i) = 0, d(i,j) = d(j,i) d(i,j) d(i,k) + d(k,j)

Outras alternativas: distância ponderada, correlação (similaridade), etc.

)||...|||(|),( 22

22

2

11 pp jxixjxixjxixjid

Page 15: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Variávais bináriasVariávais binárias Tabela de contingencia para dados binários

Simple matching (invariante, se a variável binaria é simetrica):

Jaccard (não invariante se a variável binaria é asimetrica)

dcbacb jid

),(

pdbcasomadcdc0baba1

soma01

cbacb jid

),(

Objeto i

Objeto j

Page 16: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Variáveis NominaisVariáveis Nominais

Variável de escala nominal que pode assumir mais de 2 categorias, e.x., vermelho, amarelo, azul, verde

Metodo 1: Concordancias simples• m: # das concordancias, p: numero de variáveis

Metodo 2: usa um grande numero de variáveis binárias• Criação de uma nova variável binária para cada uma das

M categorias

pmpjid ),(

Page 17: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Variáveis ordinaisVariáveis ordinais Uma variável ordinal pode ser qualitativa ou

quantitativa A ordem é importante, e.x., rank Pode ser tratada como uma variável de escala

intervalar• Trocando xif pelo seu rank • Mapear a amplitude de cada variável em [0, 1] trocando rif

por

• Calcular a dissimilaridade usando os métodos das variáveis de escala intervalar

11

f

ifif M

rz

},...,1{ fif Mr

Page 18: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Variáveis de escala proporcionalVariáveis de escala proporcional

variável de escala proporcional: medida em uma escala não linear, aproximadamente exponencial, tal como AeBt ou Ae-Bt

Metodos:• Trata-las como variáveis de escala intervalar — não é uma

boa escolha! (porque?)• Aplicar uma tansfirmação logaritmica

yif = log(xif)• Trata-las como os dados ordinais quantitativos tratam os

seus ranks como escala intervalar.

Page 19: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Variaveis de vários Variaveis de vários tipostipos

Uma base de dados pode conter todos os 6 tipos:• simetrica binaria, assimetrica binária, nominal, ordinal,

intervalar e proporcional. Pode-se usar uma expressão ponderada para

combina-las.

• f é binária ou nominal:dij

(f) = 0 se xif = xjf , ou dij(f) = 1 senão

• f é intervalar: use a distancia normalizada• f é ordinal ou de escala proporcional

Calcule ranks rif e E trate zif como intervalar

)(1

)()(1),(

fij

pf

fij

fij

pf d

jid

1

1

f

if

Mrzif

Page 20: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Outros aspectos relativos aos índices de proximidade

•Escala das Variáveis

•Correlação entre as Variáveis

•Descrições heterogêneas (Variáveis de diferentes tipos)

•Índices de proximidade entre padrões descritos por strings ou árvores

•Índices de proximidade dependentes do contexto

•Índices de proximidade conceptual

Page 21: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Estruturas classificatóriasEstruturas classificatórias

0

1

2

3

4

5

0 1 2 3 4 5

ee

ee

e

12

34

5

K

lP

PK

1

)2

se- tem,,1)1

0

1

2

3

4

5

0 1 2 3 4 5

ee

ee

e

12

34

5

PartiçãoCobertura

ml PPKm

entãoml e ,,1,)3

Page 22: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Estruturas ClassificatóriasEstruturas Classificatórias

PiramideHierarquia

hhhhhhHhh

HeeH

ou :se- tem,)3

então )2)1

1 432 5

de intervalo um é , que tal ordem uma Existe)4

ou se- tem,)3

hHh

HhhhhHhh

0

1

2

3

4

5

0 1 2 3 4 5

ee

ee

e

12

34

5

Page 23: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Métodos de AgrupamentoMétodos de Agrupamento

Em Taxinomia Numérica distingue-se três grupos Em Taxinomia Numérica distingue-se três grupos de métodosde métodos

Técnicas de OtimizaçãoTécnicas de Otimização

Objetivo: obter uma partição. Número de grupos Objetivo: obter uma partição. Número de grupos fornecido pelo usuáriofornecido pelo usuário

Técnicas hierárquicasTécnicas hierárquicas

Objetivo: obter uma hierarquia (ou uma Objetivo: obter uma hierarquia (ou uma pirâmide) pirâmide) Pode-se obter uma partição “cortando-se” a Pode-se obter uma partição “cortando-se” a hierarquia em um determinado nível.hierarquia em um determinado nível.

Page 24: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Métodos de AgrupamentoMétodos de Agrupamento

Técnicas de CoberturaTécnicas de Cobertura

Objetivo: obter grupos que eventualmente Objetivo: obter grupos que eventualmente podem partilhar indivíduos.podem partilhar indivíduos.

Outros Aspectos Relativos aos Métodos de Outros Aspectos Relativos aos Métodos de AgrupamentoAgrupamento

Métodos Aglomerativos versus Métodos DivisivosMétodos Aglomerativos versus Métodos Divisivos

Métodos Monotéticos versus Métodos PoliteticosMétodos Monotéticos versus Métodos Politeticos

Page 25: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Outros Aspectos Relativos aos Métodos de Outros Aspectos Relativos aos Métodos de AgrupamentoAgrupamento

Agrupamento Hard versus Agrupamento FuzzyAgrupamento Hard versus Agrupamento Fuzzy

Métodos Incrementais versus Métodos não Métodos Incrementais versus Métodos não IncrementaisIncrementais

Métodos Paramétricos versus Métodos não Métodos Paramétricos versus Métodos não ParamétricosParamétricos

Métodos Geométricos versus Métodos não Métodos Geométricos versus Métodos não GeométricosGeométricos

Page 26: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Principais Métodos de Principais Métodos de AgrupamentoAgrupamento

Métodos que fornecem uma partição: Construa várias partições que são então avaliadas segundo algum critério

Métodos Hierarquicos: Fornece uma decomposição hierarquica dos objetos segundo um critério particular

Métodos de Densidade: basedos em conectividade e funções de densidade

Grid: baseado em estruturas de níveis de granularidade multipla

Modelo: Supõe-se um modelo para cada cluster e tenta-se achar o melhor ajustamento entre o modelo e o cluster

Page 27: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Métodos que fornecem uma Métodos que fornecem uma partição: Conceitos básicospartição: Conceitos básicos

Métodos que fornecem uma partição: Produz uma partição de uma base de dados D de n objetos em k grupos

Dado k, encontre uma partição em k grupos que otimiza um dado critério• Otimo global: enumeração exaustiva de todas as partições• Heuristicas: k-means e k-medoids • k-means (MacQueen’67): Cada grupo é representado pelo

seu centro• k-medoids ou PAM (Partition around medoids) (Kaufman &

Rousseeuw’87): Cada grupo é representado por um objeto no grupo

Page 28: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

O Método O Método K-MeansK-Means

Dado k, o algoritmo k-means é implementado em 4 passos:• Partição dos objetos em k grupos não vazios• Defina as sementes como os centroides dos

grupos da partição atual.• Afete cada objeto ao grupo cuja semente é a

mais próxima ao mesmo. • Volte para o passo 2, pare quando não

houver novas afetações.

Page 29: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

O Método O Método K-MeansK-Means Exemplo

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

Page 30: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Comentários sobre o método Comentários sobre o método K-K-MeansMeans

Pontos fortes • Relativamente eficiente: O(tkn), onde n é # objetos, k é #

grupos, e t é # iterações. Normalmente, k, t << n.• Frequentemente termina em um otimo local. O otimo global

pode ser encontrado usando tecnicas tais como: deterministic annealing e algoritmos geneticos

Pontos fracos• Aplicavel apenas quando a média é definida, o que fazer

com dados categóricos?• É necessário especificar a priori k, o número de grupos• É sensível a ruidos e valores aberrantes• Não é apropriado para a descoberta de grupos não esféricos

Page 31: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Variantes do Variantes do K-MeansK-Means Algumas variantes do k-means diferem em

• Seleção das k medias iniciais• Calculo das dissimilaridades• Estratégias para calcular as médias dos grupos

Dados categóricos: k-modas (Huang’98)• Troca das medias pelas modas dos grupos• Uso de novas medidas de dissimilaridade para tratar dados

categóricos• Uso de um método baseado na frequencia para atualizar

as modas• Mistura de dados categóricos e numéricos: método k-

prototype

Page 32: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

O MétodoO MétodoKK--MedoidsMedoids Encontre objetos representativos, chamados

medoids, nos grupos PAM (Partitioning Around Medoids, 1987)

• Inicie com um conjunto inicial de medoids e iterativamente troque um deles por um não medoide se a distancia total do agrupamento melhora

• PAM funciona para conjuntos de dados pequenos, mas não possui escalabilidade suficiente para os grandes

CLARA (Kaufmann & Rousseeuw, 1990) CLARANS (Ng & Han, 1994): Amostragem aleatória

Page 33: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

PAM (Partitioning Around Medoids) PAM (Partitioning Around Medoids) (1987)(1987)

PAM (Kaufman et al, 1987), implementado em Splus

Usa objetos reais para representar os grupos• Selecione k objetos representativos arbitrariamente• Para cada par de objetos não selecionados h e

selecionados i, calcule o custo total de troca TCih

• Para cada par i e h, Se TCih < 0, i é trocado por h Afete cada objeto não selecionado ao objeto

representativo mais similar• Repita os passos 2-3 até que não haja mais mudança

Page 34: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

CLARACLARA (Clustering Large Applications) (1990) (Clustering Large Applications) (1990)

CLARA (Kaufmann and Rousseeuw in 1990)• Implementado em pacotes estatísticos, tais como S+

Seleciona multiplas amostras dos dados, aplica PAM em cada amostra, e fornece o melhor agrupamento

Força: se aplica a conjuntos de dados maiores do que PAM

Fraquezas:• A eficiencia depende do tamanho da amostra• Um bom agrupamento com base em amostras não

representa necessariamente um bom agrupamento do conjunto de dados se a amostra é viesada

Page 35: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

CLARANS CLARANS (“Randomized” CLARA)(“Randomized” CLARA) (1994) (1994)

CLARANS seleciona amostras de vizinhos dinamicamente

O processo de agrupamento pode ser apresentado como uma busca em um grafo onde cada nó é uma solução potencial, isto é, um conjunto de k medoids

Se o ótimo local é encontrado, CLARANS recomeça com novos nós selecionados dinamicamente na busca por um novo ótimo local

É mais eficiente e escalavel do que PAM e CLARA

Page 36: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

MétodosMétodos Paramétricos Paramétricos

Modelo: Mistura finita de distribuições

Mistura: conjunto de k distribuições de probabilidade que representam k grupos e que determinam os valores dos atributos para os membros de um grupo

Cada distribuição fornece a probabilidade de que uma instancia particular apresente um certo conjunto de valores caso se saiba que ela pertence a um dado grupo

A cada grupo é associado uma distribuição distinta

Page 37: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

MétodosMétodos Paramétricos Paramétricos

Uma instancia pertence a apenas um grupo, mas não se sabe qual

Os grupos não são igualmente prováveis

Situação mais simples: um atributo numérico com distribuição normal para cada grupo, mas com diferentes médias e variâncias

Problema: a partir de um conjunto de instancias inferir a media e a variância de cada grupo (distribuição)

Page 38: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

MétodosMétodos Paramétricos Paramétricos

Exemplo: Dois grupos A e B de distribuição normal com médias e desvios-padrão A e A para A e B e B para B

Seleciona-se instancias dessas distribuições (de A com probabilidade pA e de B com probabilidade pB)

Dados: (A,51), (A,43), (B,62), (B,64), (A,45), (A,42), (A,46), (A,45), (A,45), (B,62), (B,47), (A,52), (B,64), (A,51), (B,65), (A,48), (A,49), (A,46), (B,64), (B,51)

Problema: Imagine os dados sem as classes (rótulos) e suponha que se queira determinar os parâmetros A, A, B, B, pA e pB

Page 39: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

MétodosMétodos Paramétricos Paramétricos

Conhecendo-se as classes das instancias esses parâmetros seriam facilmente estimados:

pA e pB são estimados pela proporção das instancias em cada grupo A e B

Conhecendo-se esses parâmetros, dada uma instancia x, a probabilidade de que ela seja do grupo A é

nxxx n 1

1)()( 22

12

nxxxxs n

BBBAAA

AAA

pxfpxfpxf

xPAPAxPxAP

),;(),;(),;(

)()()|()|(

Page 40: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

MétodosMétodos Paramétricos Paramétricos

Abordagem probabilista

Os dados D são uma mistura de k distribuições normais uni-variadas de mesma variância 2

Cada observação é descrita pelo vetor (xi, zi1, …, zik), ondea) xi é o valor da i-ésima observação; b) zij = 1 se a observação é proveniente do j-ésimo grupo e zij = 0, senão

Diz-se também que xi é a variável observada e zi1, …, zik são as variáveis ocultas

Page 41: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

MétodosMétodos Paramétricos Paramétricos

Abordagem probabilista

Trata-se de estimar (aprender) as médias de cada uma das k distribuições normais:

Encontrar a hipótese h = < 1,…, k > que maximiza a verossimilhança dessa médias, isto é, encontrar a hipótese h = < 1… k > que maximiza p(D/h)

Page 42: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

MétodosMétodos Paramétricos Paramétricos

O Algoritmo EM (Expectation, Maximisation)

Inicialização: h = < 1,…, k >, onde 1,…, k são valores iniciais arbitrários

Etapa 1: Calcular o valor esperado E[zij] de cada variável oculta zij, supondo verdadeira a hipótese atual h = < 1,…, k >

Page 43: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

MétodosMétodos Paramétricos Paramétricos

O Algoritmo EM (Expectation, Maximisation)

E[zij] é a probabilidade de que a observação xi tenha sido gerada pela j-ésima distribuição normal

k

n

ni

ji

k

ni

iij x

x

xxp

xxpzE

12

2

1n

j

)(exp

)(exp

)|(

)|(][

Page 44: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

O Algoritmo EM (Expectation, Maximisation)

Etapa 2: Calcular a nova hipótese h’ = < ’1,…,

’k > de máxima verossimilhança, supondo que

os valores de cada variável oculta zij é o seu valor esperado E[zij] calculado no Passo 1.

Substituir a hipótese h = < 1,…, k > pela hipótese h’ = < ’

1,…, ’k > e recomeçar.

Page 45: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

O Algoritmo EM (Expectation, Maximisation)

Nesse caso, a hipótese de máxima verossimilhança é dada por:

Esse algoritmo converge para uma hipótese h que representa um máximo de verossimilhança local

m

iij

m

iiij

j

zE

xzE

1

1

][

][

Page 46: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Métodos HierarquicosMétodos Hierarquicos Usa uma matriz de distancias como critério de

agrupamento. Esse métodos não requerem o número de grupos k como entrada, mas precisa de uma condição de parada

Step 0 Step 1 Step 2 Step 3 Step 4

b

dc

e

a a b

d ec d e

a b c d e

Step 4 Step 3 Step 2 Step 1 Step 0

aglomerativo(AGNES)

divisivo(DIANA)

Page 47: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

AGNES (Agglomerative Nesting)AGNES (Agglomerative Nesting)

Introduzido por Kaufmann and Rousseeuw (1990) Implementado em pacotes estatísticos, e.x., Splus Usa o método Single-Link e a matriz de

dissimilaridade. Fusiona nós que tem as menores dissimilaridades Eventualmente todos os nós pertencem ao mesmo

grupo

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

Page 48: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Um Dendrograma mostra como os grupos são fusionados hierarquicamente

Decompõe os objetos em vários níveis de partições embutidas (árvore de grupos, chamado de dendrograma).

Um agrupamento dos objetos é obtido pelo corte do dendrograma em um nível desejado e então cada componente conectado forma um grupo.

Page 49: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

DIANA (Divisive Analysis)DIANA (Divisive Analysis)

Introduzido por Kaufmann and Rousseeuw (1990) Implementado em pacotes estatísticos, ex., Splus Ordem inversa de AGNES Eventualmente cada nó forma um grupo unitário

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

Page 50: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Métodos HierarquicosMétodos Hierarquicos Pontos fracos dos métodos aglomerativos de

agrupamento• Não são escalaveis: complexidade em tempo pelo menos

em O(n2), onde n é o número total de objetos• Nunca pode desfazer o que já fez previamente

Integração de agrupamentos hierárquicos com agrupamentos baseado em distancias• BIRCH (1996): usa árvore CF e ajusta incrementalmente a

qualidade dos subgrupos• CURE (1998): seleciona pontos bem espalhados do grupo e

então encolhe-os para o centro dos grupos segundo uma fração especificada

• CHAMELEON (1999): agrupamento hierárquico usando modelagem dinamica

Page 51: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

BIRCH (1996)BIRCH (1996) Birch: Balanced Iterative Reducing and Clustering

using Hierarchies, by Zhang, Ramakrishnan, Livny (SIGMOD’96)

Constroi incrementalmente uma árvore CF (Clustering Feature)• Fase 1: scanear a DB para contruir uma árvore CF inicial

em memoria• Fase 2: usa um algoritmo arbitrário de agrupamento para

fusionar os nos da árvore CF Escalabilidade linear: encontra bons grupos com um

simples escaneamento e melhora a qualidade dos mesmos com alguns escaneamentos adicionais

Fraqueza: trata apenas de dados numéricos, é sensível a ordem em que os dados são registrados.

Page 52: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Vetor Clustering FeatureVetor Clustering Feature

Clustering Feature: CF = (N, LS, SS)

N: Numero de objetos

LS: Ni=1=Xi

SS: Ni=1=Xi

2

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

CF = (5, (16,30),(54,190))

(3,4)(2,6)(4,5)(4,7)(3,8)

Page 53: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Árvore CFÁrvore CFCF1

child1

CF3

child3

CF2

child2

CF6

child6

CF1

child1

CF3

child3

CF2

child2

CF5

child5

CF1 CF2 CF6prev next CF1 CF2 CF4

prev next

B = 7

L = 6

Raíz

folha folha

Page 54: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

CURE CURE (Clustering Using (Clustering Using REpresentatives )REpresentatives )

CURE: proposto por Guha, Rastogi & Shim, 1998• Para a criação de uma hierarquia de grupos se um nível

consiste de k grupos• Usa multiplos pontos representativos para avaliar a

distancia entre grupos, se ajusta bem a grupos de forma arbitrária e evita os efeitos la ligação simples (single-link)

Inconvenientes dos métodos de agrupamento baseados em distancia• Considera apenas um ponto como o representante de

um grupo• Bom apenas para formas convexas, tamanho e

densidade similar, e se k pode ser estimado razoávelmente

Page 55: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Cure: AlgoritmoCure: Algoritmo• Tiragem de uma amostra aleatória s.• Particionar a amostra em p partições de

tamanho s/p

• Agrupar parcialmente as partições em s/pq grupos

• Eliminar valores aberrantes Por amostragem aleatória Se um grupo cresce muito lentamente,

elimina-lo.• Agrupar grupos parciais.• Rotular os dados no disco

Page 56: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

CHAMELEONCHAMELEON

CHAMELEON: G. Karypis, E.H. Han and V. Kumar’99

Mede a similaridade baseda em um modelo dinamico• 2 grupos são fusionados apenas se a

interconectividade e proximity entre 2 grupos são altas em relação a interconectividade interna dos grupos e a proximidade dos itens nos grupos

Um algoritmo de 2 fases• 1. Usa um algoritmo de particionamento de um grafo:

agrupa objetos em um grande número de sub-grupos relativamente pequenos

• 2. Usa um algoritmo hierarquico aglomerativo: encontra os verdadeiros grupos pela fusão desses sub-grupos

Page 57: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Contexto global de CHAMELEONContexto global de CHAMELEONConstrução de

Um grafo esparço Partição do grafo

Fusão da Partição

Grupos finaiss

Dados

Page 58: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Métodos baseados em DensidadeMétodos baseados em Densidade Agrupamento baseado em densidade (critério de

cluster local, tal como a densidade de pontos conectados

Caracteristicas princiapais:• Descoberta de grupos de forma arbitrária• Tratamento de ruido• Apenas uma escaneada• É necessário parametros de densidade como condiçãode parada

Várias abordagens:• DBSCAN: Ester, et al. (KDD’96)• OPTICS: Ankerst, et al (SIGMOD’99).• DENCLUE: Hinneburg & D. Keim (KDD’98)• CLIQUE: Agrawal, et al. (SIGMOD’98)

Page 59: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

PreliminaresPreliminares 2 parametros:

• Eps: Raio máximo da vizinhança• MinPts: Número de pontos minimo em um Eps desse

ponto NEps(p): {q pertence a D | dist(p,q) <= Eps} Um ponto p é diretamente alcançavel pela

densidade de um ponto q Eps, MinPts se • 1) p pertence a NEps(q)• 2) condição de ponto núcleo: |NEps (q)| >= MinPts

pq

MinPts = 5

Eps = 1 cm

Page 60: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Preliminares (II)Preliminares (II)

Alcançavel pela densidade: • Um ponto p é alcançavel pela

densidade de um ponto q Eps, MinPts se existe uma cadeia de pontos p1, …, pn, p1 = q, pn = p tal que pi+1 é diretamente alcançavel pela densidade de pi

Conectado pela Densidade• Um ponto p é conectado pela

densidade a um ponto q Eps, MinPts se existe um ponto o tal que ambos, p and q são alcançaveis pela densidade de o wrt. Eps e MinPts.

p

qp1

p q

o

Page 61: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

DBSCAN: Density Based Spatial DBSCAN: Density Based Spatial Clustering of Applications with NoiseClustering of Applications with Noise

Um grupo é definido como um conjunto de pontos máximo conectados pela densidade

Descobre grupos de forma arbitrária em BD espaciais com ruido

Core

Border

Outlier

Eps = 1cm

MinPts = 5

Page 62: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

DBSCAN: O algoritmoDBSCAN: O algoritmo

• Selecione um pointo p arbitrariamente• Recupere todos os pontos alcançaveis pela

densidade de p wrt Eps and MinPts.• Se p é um ponto core, forma-se um grupo.• Se p é um ponto de fronteira, não há pontoas

aclcançaveis pela densidade de p e DBSCAN visita o proxímo ponto da base de dados.

• Continue o processo até que todos os pontos tenham sido processados.

Page 63: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

OPTICS: (1999)OPTICS: (1999) OPTICS: Ordering Points To Identify the

Clustering Structure• Ankerst, Breunig, Kriegel, and Sander

(SIGMOD’99)• Produz uma ordenação especial da base de

dados em relação a sua estrutura de agrupamento baseada em densidade

• Esse ordenamento de grupo contém informação equivalente a agrupamento baseado em densidade correspondente a uma ampla faixa de ajuste de parametros

• Bom tanto para agrupamento automático como iterativo, incluindo a procura da estrutura de agrupamento intrinsica

• Pode ser representado graficamente ou usar tecnicas de visualização

Page 64: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Distancia alcançavel

Ordem de agrupamento dos objetos

indefinido

Page 65: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

DENCLUE: using density functionsDENCLUE: using density functions DENsity-based CLUstEring by Hinneburg &

Keim (KDD’98) Principais Caracteristicas

• Fundamentos matematicos solidos• Bom para dados com presença maciça de ruido• Permite uma descrição matemática compacta de

grupos de forma arbitrária para dados multidemensionais

• Significativamente mais rápido do que os algoritmos existentes (mais rápido do que DBSCAN por um fator de até 45)

• No entanto precisa de uma enorme quantidade de parametros

Page 66: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Usa celulas em grade mas guarda informações apenas sobre aquelas que realmente contém pontos e manipula essa celulas em uma estrutura de acesso tipo árvore.

Função de influencia: descreve o impacto dos dados na sua vizinhança.

A densidade global do espaço de dados pode ser calculada como a soma da função de influencia de todos os pontos.

Os grupos podem ser determinados matematicamente pela identificação de atratores de densidade.

Atratores de densidade são máximos locais da função densidade global.

Denclue: EssenciaDenclue: Essencia

Page 67: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Gradiente:Gradiente:

Exemplo

N

i

xxdD

Gaussian

i

exf1

2),(

2

2

)(

N

i

xxd

iiD

Gaussian

i

exxxxf1

2),(

2

2

)(),(

2

2

2yxd

Gaussian eyxf ),(

),(

Page 68: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Métodos baseados em Grade Métodos baseados em Grade Usa uma estrutura de dados grade de multipla

resolução Vários métodos interessantes

• STING (a STatistical INformation Grid approach) by Wang, Yang and Muntz (1997)

• WaveCluster by Sheikholeslami, Chatterjee, and Zhang (VLDB’98) Uma abordagem de agrupamento multi resolução

usando um método wavelet• CLIQUE: Agrawal, et al. (SIGMOD’98)

Page 69: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

STING: Uma abordagem Grade com STING: Uma abordagem Grade com Informações EstatísticasInformações Estatísticas

Wang, Yang and Muntz (VLDB’97) A área espacial é dividida em células retangulares Há vários níveis de celulas correspondente a vários

níveis de resolução

Page 70: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

STINGSTING• Cada célula em um nível mais alto é particionada em

um número menor de celulas no próximo nível abaixo

• Calcula-se e armazena-se de antemão informações estatísticas de cada célula e usa-se a mesma para responder consultas

• Parametros de células de nível mais altos são facilmente calculadas à partir de parametros de células de nivel mais baixo count, mean, s, min, max tipo de distribuição—normal, uniforme, etc.

• Usa uma abordagem top-down para responder consultas espaciais

• Inicia a partir de uma camada pre-selecionada—tipicamente com um pequeno número de celulas

• Para cada célula do nível corrente calcule o intervalo de confiança

Page 71: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

STING:STING:

• Remoção de células irrelevantes para consideração adicional

• Quando acabar o exame da camada corrente, passe para a próxima camada de nível mais baixo

• Repita esse processo até alcançar a camada inferior

• Vantagens: Independente de consultas, facil de

paralelizar, atualização incremental O(K), onde K é o número de células na grade

ao nível mais baixo• Desvantagens:

Todas as fronteiras dos grupos ou são horizontais ou verticais; fronteiras diagonais não são detectadas

Page 72: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

WaveCluster (1998)WaveCluster (1998) Sheikholeslami, Chatterjee, and Zhang (VLDB’98) Uma abordagem de agrupamento multi resolução que

aplica transformada de wavelet no espaço de características• Uma transformada de wavelet é uma tecnica de

processamento de sinais que decompõe o sinal em diferentes sub-bandas de frequencia.

É ao mesmo tempo um método baseado em grade e em densidade

Parametros de entrada: • # das celulas da grade para cada dimensão• a wavelet, e o # de aplicações de transformada wavelet.

Page 73: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

WaveCluster (1998)WaveCluster (1998) Como aplicar transformada de wavelet

para encontrar grupos• Simplifique os dados pela imposição de uma

estrutura de grade multidimensional no espaço dos dados

• Esse objetos espaciais multidimensionais são representados em um espaço de caracteristicas n-dimensional

• Aplicar a transformada de wavelet no espaço de caracteristicas para encontrar regiões densas nesse espaço

• Aplicar transformada de wavelet várias vezes que resulta em grupos de diferentes escalas da mais fina a mais grosseira

Page 74: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

WaveCluster (1998)WaveCluster (1998) Porque a transformada wavelet é útil para

agrupamento• Agrupamento não supervisionado Usa filtros para enfatizar regiões cujos pontos agrupam, e

simulteneamente suprime informações mais fracas na fronteira

• Remoção eficaz de valores aberrantes• Multi-resolução• Eficiencia do custo

Principais caracteristicas:• Complexidade O(N)• Detecção de grupos de forma arbitrária em diferentes

escalas• Insensível ao ruido ou a ordem dos dados de entrada• Aplicavel apenas a dados de poucas dimensões

Page 75: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

CLIQUE (Clustering In QUEst)CLIQUE (Clustering In QUEst) Agrawal, Gehrke, Gunopulos, Raghavan

(SIGMOD’98). Identifica automaticamente regiões que permitem

um melhor agrupamento do que o espaço original CLIQUE é ao mesmo tempo baseada em densidade e

em grade• Particiona cada dimensão no mesmo número de intervalos

de igual tamanho• Particiona o espaço m-dimensional em retangulos sem

intersecção• Uma unidade é densa se a fração dos pontos contida nessa

unidade excede os parametros do modelo• Um grupo é um conjunto máximo de unidades densas

concectadas em um subespaço

Page 76: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

CLIQUE: Principais etapasCLIQUE: Principais etapas Particione o espaço de dados e encontre o número de

pontos que se encontram dentro de cada celula da partição.

Identifique os subespaços que contém grupos usando o principio do Apriori

Identificaçãod e grupos:• Determine unidades densas em todos os subespaços de

interesse• Determine unidades densas conectadas em todos os

subespaços de interesse. Gere a descrição mínima dos grupos

• Determine regiões máximas que cobrem um grupo de unidades densas conectadas para cada grupo

• Determinação da cobertura mínima de cada grupo

Page 77: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Vantagens e desvantagens de Vantagens e desvantagens de CLIQUECLIQUE

Pontos fortes • Encontra automaticamente regiões de máxima

dimensionalidade tal que existe clusters de alta densidade neles

• É insensível a ordem de apresentação dos objetos e não é necessário supor nenhuma distribuição a priori para os dados

• Escalabilidade linear com o numero de objetos e boa escalabilidade quando o numero de dimensãoes dos dados cresce

Pontos fracos• A precisão dos resultados do agrupamento pode ser

degradada em função da simplicidade requerida pelo método

Page 78: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Clustering baseado em ModelosClustering baseado em Modelos Procura otimizar o ajustamento entre os dados e um

modelo matemático particular Abordagens Estística e de AI

• Agrupamento Conceptual Uma forma de agrupamento em aprendizagem de máquina Fornece uma classificação para um conjunto de objetos não

rotulados Encontra a descrição característica de cada conceito (classe)

• COBWEB (Fisher’87) Um método de agrupamento conceptual incremental Cria um agrupamento hierarquico expresso por uma árvore de

classificação Cada nó representa um conceito e contém uma descrição

probabilistica do mesmo

Page 79: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

COBWEBCOBWEB

Uma árvore de classificação

Page 80: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Clustering baseado em EstatísticaClustering baseado em Estatística

Limitações do COBWEB• A suposição de que os atributos são independentes é

muito forte: podem existir correlações• Não é apropriado para o agrupamento de grandes

bases de dados CLASSIT

• Extensão de COBWEB para agrupamento incremental de dados contínuos

• Sofre dos mesmos problemas de COBWEB AutoClass (Cheeseman and Stutz, 1996)

• Usa analise Bayesiana para estimar o número de grupos

• Popular na industria

Page 81: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Outros Métodos de Agrupamento Outros Métodos de Agrupamento baseado em Modelosbaseado em Modelos

Abordagens redes Neurais• Representa cada grupo como um exemplo,

que age como um “prototipo” do grupo• Novos objetos são distribuidos para o grupo

cujo exemplar é o mais similar segundo uma dada distancia

Aprendizagem Competitiva• Involve uma arquitetura hierárquica de várias

unidades (neuronios)• Os neuronios competem em um modo

“vencedor-leva-tudo” para o objeto sendo correntemente apresentado

Page 82: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Self-organizing feature maps (SOMs)Self-organizing feature maps (SOMs)

O Agrupamento é realizado pela competição de várias unidades pelo objeto corrente

A unidade cujo vetor de pesos é a mais próxima do objeto corrente vence

O vencedor e seus vizinhos aprendem pelo ajustamento de seus pesos

Bem adaptado para a visualização de dados multi-dimensionais em 2 ou 3 dimensões

Page 83: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

Problemas e DesafiosProblemas e Desafios

Progressos consideráveis forem realizados em métodos de agrupamento escalaveis• Partição: k-means, k-medoids, CLARANS• Hierarquia: BIRCH, CURE• Densidade: DBSCAN, CLIQUE, OPTICS• Grid: STING, WaveCluster• Modelo: Autoclass, Denclue, Cobweb

Os métodos atuais de agrupamento não satisfazem todos os requerimentos desejáveis adequadamente

Agrupamento sob restrições: Restrições estão presentes no espaço de dados ou nas consultas dos usuários

Page 84: Clustering Prof. Francisco de A. T. de Carvalho fatc@cin.ufpe.br.

SumárioSumário

Cluster analysis agrupa objetos com base nas suas similaridades e tem uma ampla faixa de aplicações

Medidas de similaridade podem ser calculadas para varios tipos de dados

Os Métodos de agrupamento podem ser divididos em métodos de partição, hierarquicos, baseados em densidade, baseados em grade e baseados em modelos

Ainda há muitos progressos a serem realizados em análise de agrupamentos tais como em agrupamento baseado em restrições