26
Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING

Análise de Clusters – Introdução Método K-means

Embed Size (px)

DESCRIPTION

Análise de Clusters – Introdução Método K-means. AULA 14 DATA MINING. Agrupamento -Análise de Clusters. Doença X. a 1. a 1. a 2. a 3. Doença Y. a 7. a 2. a 9. a 10. a 8. a 5. a 4. a 6. a 11. Doença Z. Nome. Sexo. Sintomas. Conceito = Doença. Número de Clusters = 3. - PowerPoint PPT Presentation

Citation preview

Page 1: Análise de Clusters – Introdução  Método K-means

Análise de Clusters – Introdução Método K-means

AULA 14

DATA MINING

Page 2: Análise de Clusters – Introdução  Método K-means

Agrupamento -Análise 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

a2 a3

a1

a11

a4

a7

a9a10 a5

Número de Clusters = 3 Conceito = Doença

Doença X

Doença Z

Doença Y

a8

a6

a1

.

.

.

a2

Nome Sexo Sintomas

Page 3: Análise de Clusters – Introdução  Método K-means

Análise de Clusters: Objetivos Compreensão dos dados

Existe algum conceito inerente a cada grupo. Que conceito é este ?

Utilidade em outras tarefas Cada cluster pode ser representado por um objeto protótipo que caracteriza o cluster

Sumarização : Algoritmos aplicados em grandes volumes de dados podem ser aplicados apenas aos protótipos, reduzindo assim o tempo de execução

Compressão : o objeto protótipo representa cada objeto dentro do seu cluster

Otimização do cálculo dos vizinhos mais próximos: Se dois protótipos estão distantes então os objetos nos respectivos

clusters também estão distantes. Os objetos mais próximos do objeto X devem ser procurados no

cluster correspondente ao protótipo mais próximo de X.

Page 4: Análise de Clusters – Introdução  Método K-means

Clusterização versus Classificação Classificação

Aprendizado Supervisionado Amostras de treinamento são classificadas Número de Classes é conhecido

Aprendizado por Exemplo Clusterização

Aprendizado Não Supervisionado Aprendizado por Observação

Page 5: Análise de Clusters – Introdução  Método K-means

Tipos de Agrupamentos Particionais versus Hierárquicos

Particionais: clusters são disjuntos Hierárquicos:

Clusters possuem subclusters – organizados em árvore Cada cluster (nó interno da árvore) é a união de seus filhos

Exclusivos versus Não-exclusivos versus Fuzzy Exclusivos: cada objeto pertence a um único cluster Não exclusivos: existem objetos que são associados a diferentes clusters Fuzzy : objetos são associados a um cluster com um certo grau de pertinência

Completos versus Parciais Completos: cada objeto pertence a algum cluster Parciais: existem objetos que não estão associados a nenhum cluster

(outliers, ruidos, sem interesse)

Page 6: Análise de Clusters – Introdução  Método K-means

O que é um cluster ?

Baseados em Protótipos

Um cluster é um conjunto de objetos no qual cada objeto está mais próximo (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 próximo ao protótipo que define o cluster do que dos protótipos de quaisquer outros clusters. Em geral: Protótipo = centróide

Bem separados

Como definir a noção de Cluster ?

Os clusters encontrados tendem a ser globulares.

Protótipos

Page 7: Análise de Clusters – Introdução  Método K-means

O que é um cluster ?- Os dados podem ser representados por um grafo, onde os vértices são 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 estão conectados um no outro, mas que não estão conectados com nenhum outro objeto de outro cluster.

Baseados em Grafos

Boa definição quando os clusterssão irregulares e entrelaçados.

Problema: quando os dados têm ruidos,Pode haver distorções nos clusters

Exemplo: dois clusters distintos podemse transformar num único cluster (os dois clusters são ligados através de uns poucosOutliers, como mostrado na figura).

a b

a está perto de b d(a,b) < α

Page 8: Análise de Clusters – Introdução  Método K-means

O que é um cluster ?

Baseados em Densidade

Um cluster é uma região densa rodeadapor uma região de baixa densidade.

No exemplo, temos 3 clusters = 3 regiões densasA ‘’ponte’’ de outliers ligando as duas esferasfoi ‘’dissolvida’’ nos outros outliers.

Esta definição é utilizada quandoos clusters são irregulares ou entrelaçadose quando ruido e outliers estão presentes.

Uma definição baseada em grafos não seriaadequada neste caso, pois os outlierspoderiam fazer uma ponte entre as regiõestransformando-as em um único cluster.

Os outliers seriam absorvidos nos clusters.

Page 9: Análise de Clusters – Introdução  Método K-means

O que é um cluster ?

Clusters Conceituais

Os objetos de um cluster possuem uma propriedade que é derivada do conjuntototal de objetos. No exemplo, podemos distinguir3 clusters: o triângulo, o retângulo e os dois anéis.

Um cluster representa um conceito.Definição utilizada em Reconhecimento de Padrões.

Page 10: Análise de Clusters – Introdução  Método K-means

Tipos de Técnicas de Clusterização Particionamento

K-means: K-medóides: PAM, CLARA, CLARANS

Particional e baseada em protótipos.

Encontra um número k de clusters (k é fornecido pelo usuário) que são representados por seus centróides.

Page 11: Análise de Clusters – Introdução  Método K-means

Particionamento

BD com n amostras

K = número de clusters

desejado ( parâmetro )

K ≤ n

Page 12: Análise de Clusters – Introdução  Método K-means

Tipos de Técnicas de Clusterização Hierárquicas Aglomerativas

Produzem agrupamentos hierárquicos começando com clusters unitários e repetidamente aglutinando clusters próximos dois a dois até chegar no número k de clusters solicitado pelo usuário.

Exemplos: BIRCH, CURE, CHAMELEON, ROCK...)

Page 13: Análise de Clusters – Introdução  Método K-means

Hierárquicos Aglomerativos

BD com n amostras

K = número de clusters

desejado ( parâmetro )

K ≤ n

Page 14: Análise de Clusters – Introdução  Método K-means

Tipos de Técnicas de Clusterização Hierárquicas DivisóriasProduzem agrupamentos hierárquicos

começando com um cluster único contendo todo o conjunto de objetos e repetidamente dividindo os clusters em duas partes de acordo com algum critério de similaridade até chegar no número k de clusters solicitado pelo usuário.

Exemplo: algoritmo DIANA

Page 15: Análise de Clusters – Introdução  Método K-means

Tipos de Técnicas de Clusterização Por densidade

Adequados para identificar clusters de formato arbitrário. Robustos com respeito a ruídos e outliers.

Regiões densas = clusters Regiões de baixa densidade = ruídos e outliers Um ponto pertence a uma região densa se numa

vizinhança de raio α pequeno existem pelo menos M objetos (M dado pelo usuário).

O número k de clusters não precisa ser dado pelo usuário.É determinado pelo algoritmo.

Exemplos: DBSCAN, OPTICS, DENCLUE

Page 16: Análise de Clusters – Introdução  Método K-means

Dados de Treinamento

x11 x12 x13 ... x1n

x21 x22 x23 ... x2n

x31 x32 x33 ... x3n

... ... ... ... ...

xp1 xp2 xp3 ... xpn

0 0 ... 0

d(x1,x2) 0 ... 0

d(x1,x3) d(x2,x 3) ... 0

... ... ... 0

d(x1,xp) d(x2,x p) ... 0

Matriz de dados padronizados Matriz de dissimilaridade

Distância Euclidiana d(x,y) = (x1-y1)2 + (x2-y2)2 + .... + (xp – yp)2

Outras distâncias : Manhattan, Minkowski, Ponderada

Page 17: Análise de Clusters – Introdução  Método K-means

Outras distâncias Manhattan Minkowski

Distância em geral Qualquer função 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)

Distância poderada

d(x,y) = |x1-y1|+ |x2-y2| + .... + |xp – yp|

d(x,y) = (x1-y1)m + (x2-y2)m+ .... + (xp – yp)mm

d(x,y) = p1 (x1-y1)2 + p2 (x2-y2)2+ .... +pk (xk – yk)2

Page 18: Análise de Clusters – Introdução  Método K-means

Outras medidas de similaridade Para documentos

p1,p2, p3, ... : vocabulário (palavras) Um documento = vetor (n1,n2,...,nk) ni = número 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

θ

Page 19: Análise de Clusters – Introdução  Método K-means

Exercicio Sejam X1 = (1,2) e X2 = (4,6). Calcula as

distâncias euclidianas, Minkowski com m = 3 e Manhattan entre X1 e X2.

Ilustre no plano xy os segmentos representando tais distâncias.

Page 20: Análise de Clusters – Introdução  Método K-means

Algoritmo K-means

1ª Iteração2ª Iteração

+

+

+

Exemplo K = 3

Page 21: Análise de Clusters – Introdução  Método K-means

Algoritmo K-Means1. Selecione k pontos como centróides iniciais2. Repeat3. Forme k clusters associando cada objeto a seu

centróide mais próximo4. Recompute o centróide de cada cluster5. Until Centróides não apresentam mudançasCentróide = centro de gravidade do cluster Coordenada i = média aritmética das coordenadas i de

seus objetos constituintes.

Page 22: Análise de Clusters – Introdução  Método K-means

Observações Boa parte dos clusters já convergem nos

primeiros passos do algoritmo, ficando somente uma quantidade pequena de clusters que ainda modificam.

Assim, a condição 5 do algoritmo é substituida por : “até que somente 1% dos objetos mudam de clusters”.

Page 23: Análise de Clusters – Introdução  Método K-means

Objetivo Erro (x) = d(x,ci) = distância de x até o centróide ci de

seu cluster Ci Objetivo do método K-means

Minimizar a soma dos erros (SSE = sum of square errors) Maximizar a coesão (no caso de documentos)

SSE = Σ Σ d(x,ci)2 Coesão = Σ Σ coseno(x,ci)2 i = 1

K

x ɛ Ci i = 1

K

x ɛ Ci

Page 24: Análise de Clusters – Introdução  Método K-means

Observação Nem sempre o K-means consegue minimizar

o SSE Isto depende muito da escolha dos centróides

iniciais.

Page 25: Análise de Clusters – Introdução  Método K-means

Técnicas para inicializar os centróides Escolha aleatória – diversas rodadas do k-means até

encontrar a escolha que produz o menor SSE (ou maior coesão). Nem sempre funciona- depende dos dados e do número k

de clusters que se quer encontrar. Utilizar uma amostra, aplicar um método de

clusterização hierárquica sobre a amostra. Centróides iniciais = centróides dos clusters das amostras. Funciona se a amostra é pequena (métodos hierárquicos

são computacionalmente caros !) e K é relativamente pequeno com relação ao tamanho da amostra.

Page 26: Análise de Clusters – Introdução  Método K-means

Exercício1

12

3

4 5

6

7

8

9

10

11

1213

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