Aula8 Clusters

Preview:

DESCRIPTION

clusters

Citation preview

Mineração de Dados e Aprendizado de

Máquina

Prof. Dr. Sílvio César Cazella

SumárioSumário

• Clustering (agrupamento)• Medidas

O que é análise de agrupamentos?O que é análise de agrupamentos?(1/4) (1/4)

• Dado um conjunto de objetos, colocar os objetos em grupos (clusters) baseados na similaridade entre eles

• Utilizado para encontrar padrões inesperados nos dados

• Inerentemente é um problema não definido claramente

• Como agrupar os animais seguintes?

O que é análise de agrupamentos?O que é análise de agrupamentos?(2/4) (2/4)

• Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles

• Utilizado para encontrar padrões inesperados nos dados

• Inerentemente é um problema não definido claramente

• Como agrupar os animais seguintes?

Com bicoCom bico

Sem bicoSem bico

O que é análise de agrupamentos? O que é análise de agrupamentos? (3/4)(3/4)

• Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles

• Utilizado para encontrar padrões inesperados nos dados

• Inerentemente é um problema não definido claramente

• Como agrupar os animais seguintes?

TerraTerraÁguaÁgua

O que é análise de agrupamentos? O que é análise de agrupamentos? (4/4)(4/4)

• Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles

• Utilizado para encontrar padrões inesperados nos dados

• Inerentemente é um problema não definido claramente

• Como agrupar os animais seguintes?

OvíparoOvíparo

MamíferoMamífero

AnáliseAnálise dede AgrupamentosAgrupamentos

• Aprendizado não-Supervisionado• Dado um conjunto de objetos descritos por múltiplos valores

(atributos)– (1) atribuir grupos (clusters) aos objetos particionando-os

objetivamente em grupos homogêneos de maneira a:• Maximizar a similaridade de objetos dentro de um mesmo grupo• Minimizar a similaridade de objetos entre grupos distintos

– (2) atribuir uma descrição para cada grupor formado

Cluster 1

Cluster 2

Cluster K

.

.

.

DadosAlgoritmo

deAgrupamento

(1)

cor=azul

cor=laranja

cor=amarelo

(2)

Representação dos GruposRepresentação dos Grupos

ad

kj

h

g if

ec

b

(a)

(c) 1 2 3

abc

0.4 0.1 0.50.1 0.8 0.10.3 0.3 0.4

...

(b)

ad

kj

h

gif

ec

b

(d)

g a c i e d k b j f h

Formalmente, ...Formalmente, ...

• Dado um conjunto de instâncias X={x1, x2,..., xN} (meus dados), em que xj={xj1, xj2,..., xjd}T

∈ℜ d e cada xji é um atributo:

0

2

4

6

8

10

0 1 2 3 4 5 6 7 8 9 10

V1

V2

FE

G

C

B

A

D

Agrupamento Particional Agrupamento Particional

• Um algoritmo de agrupamento particional (hard) gera uma K-partição de X, C={C1, C2, ..., CK} (K ≤ N), tal que:

– Ci ≠ ∅ (i=1,...,K)

� ∪ i=1 Ci = X

– Ci ∩ Cj = ∅ (i,j=1,...,K e i ≠ j)

Exemplo: Agrupamento Particional Exemplo: Agrupamento Particional

0

2

4

6

8

10

0 1 2 3 4 5 6 7 8 9 10

V1

V2

FE

G

C

B

A

D

C2C1

C3

Agrupamento HierárquicoAgrupamento Hierárquico

• Um algoritmo de agrupamento hierárquico gera uma estrutura aninhada (árvore) de X, H={H1, H2, ..., HQ} (K ≤ N), tal que:

– Ci ∈ Hm e Cj ∈ Hl (m > l), implica que

• Ci ⊆ Cj ou

• Ci ∩ Cj = ∅ (i,j,m,l=1,...,Q e i ≠ j)

Agrupamento Hierárquico: ExemploAgrupamento Hierárquico: Exemplo

0

G

F

C

A

B

D

E

1 2 3 4

12

3

4

5

6

Agrupamento FuzzyAgrupamento Fuzzy

• Para algoritmos de agrupamentos particional hard, cada instância (objeto) pertence a apenas um grupo (cluster)

• No entanto, pode ser permitido a uma instância pertencer a todos os grupos com um grau de pertinência, ui,j ∈ [0,1], que representa o coeficiente de pertinência da j-ésima instância ao i-ésimo grupo (cluster)

� ∀j ∑ i

k

=1 ui,j =1 e ∀i ∑ j

N

=1 ui,j < N

Como funciona a análise de Como funciona a análise de agrupamentos? (1/2)agrupamentos? (1/2)

• Suponha que um biólogo queira identificar subtipos de um determinado câncer(tumor) com base na expressão gênica do tecido extraído do tumor

• Uma pequena amostra de sete pacientes é selecionada– A expressão gênica de dois genes - V1 e V2 - foi

medida para o tumor de cada paciente

Paciente V1 V2A 3 2B 4 5C 4 7D 2 7E 6 6F 7 7G 6 4

0

2

4

6

8

10

0 1 2 3 4 5 6 7 8 9 10

V1

V2

FE

G

C

B

A

D

Como funciona a análise de Como funciona a análise de agrupamentos? (2/2)agrupamentos? (2/2)

• O objetivo principal da análise de agrupamentos é definir a estrutura dos dados colocando observações (instâncias ou objetos) mais parecidas em grupos

• Mas para conseguir isso, devemos abordar três questões básicas

– Como medir a similaridade?• Correlação, Distância, Medida de Associação, ...

– Como formamos os grupos (clusters)?• Não importa apenas medir a similaridade, deve haver um

procedimento para agregar as observações mais similares em grupos

– Quantos grupos formamos?• Compromisso entre menos grupos e mais homogeneidade

Medida de Similaridade: Medida de Similaridade: Distância EuclidianaDistância Euclidiana

A B C D E F GA 0,000B 3,162 0,000C 5,099 2,000 0,000D 5,099 2,828 2,000 0,000E 5,000 2,236 2,236 4,123 0,000F 6,403 3,606 3,000 5,000 1,414 0,000G 3,606 2,236 3,606 5,000 2,000 3,162 0,000

Paciente V1 V2A 3 2B 4 5C 4 7D 2 7E 6 6F 7 7G 6 4

d(A,B)=Sqrt[(3-4)2+(2-5)2]

d(C,F)=Sqrt[(4-7)2+(7-7)2]

........

Formação de GruposFormação de Grupos

• Como já temos a medida de similaridade, devemos desenvolver um procedimento para formar grupos

• Para nosso propósito, usaremos uma regra simples:

– Identifique as duas observações mais semelhantes (mais próximas) que ainda não estão no mesmo grupo e combine seus grupos

– Aplicamos essa regra repetidamente, começando com cada observação em seu próprio grupo e combinando dois grupos por vez, até que todas as observações estejam em um único grupo

– Procedimento Hierárquico e Aglomerativo

Formação de Grupos: Passo 1Formação de Grupos: Passo 1

A B C D E F GA 0,000B 3,162 0,000C 5,099 2,000 0,000D 5,099 2,828 2,000 0,000E 5,000 2,236 2,236 4,123 0,000F 6,403 3,606 3,000 5,000 1,414 0,000G 3,606 2,236 3,606 5,000 2,000 3,162 0,000

0

2

4

6

8

10

0 1 2 3 4 5 6 7 8 9 10

V1

V2

FE

G

C

B

A

D

Formação de Grupos: Passo 2Formação de Grupos: Passo 2

A B C D E F GA 0,000B 3,162 0,000C 5,099 2,000 0,000D 5,099 2,828 2,000 0,000E 5,000 2,236 2,236 4,123 0,000F 6,403 3,606 3,000 5,000 1,414 0,000G 3,606 2,236 3,606 5,000 2,000 3,162 0,000

0

2

4

6

8

10

0 1 2 3 4 5 6 7 8 9 10

V1

V2

FE

G

C

B

A

D

Formação de Grupos: Passo 3Formação de Grupos: Passo 3

A B C D E F GA 0,000B 3,162 0,000C 5,099 2,000 0,000D 5,099 2,828 2,000 0,000E 5,000 2,236 2,236 4,123 0,000F 6,403 3,606 3,000 5,000 1,414 0,000G 3,606 2,236 3,606 5,000 2,000 3,162 0,000

0

2

4

6

8

10

0 1 2 3 4 5 6 7 8 9 10

V1

V2

FE

G

C

B

A

D

Formação de Grupos: Passo 4Formação de Grupos: Passo 4

A B C D E F GA 0,000B 3,162 0,000C 5,099 2,000 0,000D 5,099 2,828 2,000 0,000E 5,000 2,236 2,236 4,123 0,000F 6,403 3,606 3,000 5,000 1,414 0,000G 3,606 2,236 3,606 5,000 2,000 3,162 0,000

0

2

4

6

8

10

0 1 2 3 4 5 6 7 8 9 10

V1

V2

FE

G

C

B

A

D

Formação de Grupos: Passo 5Formação de Grupos: Passo 5

A B C D E F GA 0,000B 3,162 0,000C 5,099 2,000 0,000D 5,099 2,828 2,000 0,000E 5,000 2,236 2,236 4,123 0,000F 6,403 3,606 3,000 5,000 1,414 0,000G 3,606 2,236 3,606 5,000 2,000 3,162 0,000

0

2

4

6

8

10

0 1 2 3 4 5 6 7 8 9 10

V1

V2

FE

G

C

B

A

D

Formação de Grupos: Passo 6Formação de Grupos: Passo 6

A B C D E F GA 0,000B 3,162 0,000C 5,099 2,000 0,000D 5,099 2,828 2,000 0,000E 5,000 2,236 2,236 4,123 0,000F 6,403 3,606 3,000 5,000 1,414 0,000G 3,606 2,236 3,606 5,000 2,000 3,162 0,000

0

2

4

6

8

10

0 1 2 3 4 5 6 7 8 9 10

V1

V2

FE

G

C

B

A

D

DendogramaDendograma

0

G

F

C

A

B

D

E

1 2 3 4

12

3

4

5

6

Solução Inicial Solução Inicial

0

G

F

C

A

B

D

E

1 2 3 4

Passo 1Passo 1

0

G

F

C

A

B

D

E

1 2 3 4

1

Passo 2Passo 2

0

G

F

C

A

B

D

E

1 2 3 4

12

Passo 3Passo 3

0

G

F

C

A

B

D

E

1 2 3 4

12

3

Passo 4Passo 4

0

G

F

C

A

B

D

E

1 2 3 4

12

3

4

Passo 5Passo 5

0

G

F

C

A

B

D

E

1 2 3 4

12

3

4

5

Passo 6Passo 6

0

G

F

C

A

B

D

E

1 2 3 4

12

3

4

5

6

Quantos grupos a solução final Quantos grupos a solução final deve ter?deve ter?

• Um método hierárquico resulta em diversas soluções de agrupamentos (partições)– No caso do exemplo anterior, elas variam de um a seis grupos

• Qual devemos escolher?– Sabemos que quando nos afastamos de grupos unitários, a

homogeneidade diminui– Então, por que não ficamos com sete grupos, a opção mais

homogênea possível?– O problema é que não definimos qualquer estrutura com sete

grupos– Assim, devemos devemos verificar cada solução para a sua

descrição de estrutura versus a homogeneidade dos grupos

Quantos grupos a solução final Quantos grupos a solução final deve ter?deve ter?

• Para fins de ilustração, no nosso exemplo foi usada uma medida muito simples homogeneidade:– As distâncias médias de todas as observações

dentro dos grupos

A B C D E F GA 0,000B 3,162 0,000C 5,099 2,000 0,000D 5,099 2,828 2,000 0,000E 5,000 2,236 2,236 4,123 0,000F 6,403 3,606 3,000 5,000 1,414 0,000G 3,606 2,236 3,606 5,000 2,000 3,162 0,000

Solução InicialSolução Inicial

• Na solução inicial com sete grupos, essa medida de similaridade geral é 0 (nenhum observação faz par com alguma outra)

Passo Par-Instância Pertinência #Grupos Distância(A)(B)(C)(D)(E)(F)(G) 7 0

Distância MínimaProcesso de Aglomeração Solução

Solução Incial

Passo 1Passo 1

• Nesse passo, a similaridade média (1,414) é a distância entre as duas observações reunidas (E-F)

Passo Par-Instância Pertinência #Grupos Distância(A)(B)(C)(D)(E)(F)(G) 7 0

1 E-F (A)(B)(C)(D)(EF)(G) 6 1,414

Distância MínimaProcesso de Aglomeração Solução

1,414Solução Incial

Passo 2Passo 2

• Um agrupamento de três elementos (E, F e G) é formado– A medida de similaridade geral é a média das distâncias

entre E e F (1,414), e E e G (2,000), e F e G (3,162), que nos dá 2,192

Passo Par-Instância Pertinência #Grupos Distância(A)(B)(C)(D)(E)(F)(G) 7 0

1 E-F (A)(B)(C)(D)(EF)(G) 6 1,4142 E-G (A)(B)(C)(D)(EFG) 5 2,192

Distância MínimaProcesso de Aglomeração Solução

1,414Solução Incial

2,000

Aumento do valor da similaridade geral, em relação ao passo anterior

Passo 3Passo 3

• No Passo 3, um novo grupo de dois membros é formado com a distância 2,000

Ligeira diminuição do valor da similaridade geral, em relação ao passo anterior

Passo Par-Instância Pertinência #Grupos Distância(A)(B)(C)(D)(E)(F)(G) 7 0

1 E-F (A)(B)(C)(D)(EF)(G) 6 1,4142 E-G (A)(B)(C)(D)(EFG) 5 2,1923 C-D (A)(B)(CD)(EFG) 4 2,144

Distância MínimaProcesso de Aglomeração Solução

1,414Solução Incial

2,0002,000

Passo 4Passo 4

• Ligeira alteração do valor da similaridade geral, em relação ao passo anterior

Isto significa que estamos gerando outros grupos essencialmente com a homogeneidade dos grupos existentes

Passo Par-Instância Pertinência #Grupos Distância(A)(B)(C)(D)(E)(F)(G) 7 0

1 E-F (A)(B)(C)(D)(EF)(G) 6 1,4142 E-G (A)(B)(C)(D)(EFG) 5 2,1923 C-D (A)(B)(CD)(EFG) 4 2,1444 B-C (A)(BCD)(EFG) 3 2,234

Distância MínimaProcesso de Aglomeração Solução

1,414

2,000

Solução Incial

2,0002,000

Passo 5Passo 5• Combinação de dois grupos com três observações. Grande

aumento no valor da similaridade geral, em relação ao passo anterior

Isso é indicativo de que reunir esses dois grupos resultou em um agregado que é bem menos homogêneo

Segundo a nossa medida, poderíamos considerar a solução do Passo 4 muito melhor do que esta

Passo Par-Instância Pertinência #Grupos Distância(A)(B)(C)(D)(E)(F)(G) 7 0

1 E-F (A)(B)(C)(D)(EF)(G) 6 1,4142 E-G (A)(B)(C)(D)(EFG) 5 2,1923 C-D (A)(B)(CD)(EFG) 4 2,1444 B-C (A)(BCD)(EFG) 3 2,2345 B-E (A)(BCDEFG) 2 2,896

Distância MínimaProcesso de Aglomeração Solução

1,414

2,0002,236

Solução Incial

2,0002,000

Passo 6Passo 6

• Nesse passo, a medida geral novamente aumenta consideravelmente

Ou seja, a observação “A” mesmo sozinha ainda foi capaz de mudar a homogeneidade do agrupamento. Observação atípica?

Portanto, segundo a nossa medida, ainda consideraríamos a solução do Passo 4 muito melhor do que esta

Passo Par-Instância Pertinência #Grupos Distância(A)(B)(C)(D)(E)(F)(G) 7 0

1 E-F (A)(B)(C)(D)(EF)(G) 6 1,4142 E-G (A)(B)(C)(D)(EFG) 5 2,1923 C-D (A)(B)(CD)(EFG) 4 2,1444 B-C (A)(BCD)(EFG) 3 2,2345 B-E (A)(BCDEFG) 2 2,8966 A-B (ABCDEFG) 1 3,42

Distância MínimaProcesso de Aglomeração Solução

1,414

2,0002,2363,162

Solução Incial

2,0002,000

Pré-Proc Alg. Clustering

Interpretação Validação

Conhecimento

Dados

Partição

Passos na Análise de Passos na Análise de AgrupamentosAgrupamentos

Medidas de SimilaridadeMedidas de Similaridade

Medidas de SimilaridadeMedidas de Similaridade

• A similaridade entre objetos (instâncias) é uma medida de correspondência ou semelhança entre objetos a serem agrupados

• Ela pode ser medida de diversas formas– Medidas Correlacionais (e.g., correlação de Pearson)– Medidas de Distância (e.g., distância euclidiana)– Medidas de Associação (e.g., índice de Jaccard)

• Cada uma dessas formas representa uma perspectiva particular da similaridade, dependendo de seus objetivos e do tipo de dados

• Tanto as medidas correlacionais quanto as medidas de distância requerem dados métricos, ao passo que as medidas de associação são para dados não-métricos

Medidas de Similaridade: Medidas de Similaridade: FórmulasFórmulas

Medidas CorrelacionaisMedidas Correlacionais

• Medidas correlacionais representam similaridades pela correspondência de padrões ao longo dos atributos– Ela não olha a magnitude do valores dos atributos,

apenas o padrão global de valores

X1 X2 X3 X4 X5Cliente_1 7,000 10,000 9,000 7,000 10,000Cliente_2 9,000 9,000 8,000 9,000 9,000Cliente_3 5,000 5,000 6,000 7,000 7,000Cliente_4 6,000 6,000 3,000 3,000 4,000Cliente_5 1,000 2,000 2,000 1,000 2,000Cliente_6 4,000 3,000 2,000 3,000 3,000Cliente_7 2,000 4,000 5,000 2,000 5,000

0

2

4

6

8

10

12

X1 X2 X3 X4 X5

Cliente_1

Cliente_2

Cliente_3

Cliente_4

Cliente_5

Cliente_6

Cliente_7

ExemploExemplo

0

2

4

6

8

10

12

X1 X2 X3 X4 X5

Cliente_1

Cliente_2

Cliente_3

Cliente_4

Cliente_5

Cliente_6

Cliente_7

Medidas CorrelacionaisMedidas Correlacionais

Cliente_1 Cliente_2 Cliente_3 Cliente_4 Cliente_5 Cliente_6 Cliente_7Cliente_1 1,000Cliente_2 -0,147 1,000Cliente_3 0,000 0,000 1,000Cliente_4 0,087 0,516 -0,824 1,000Cliente_5 0,963 -0,408 0,000 -0,060 1,000Cliente_6 -0,466 0,791 -0,354 0,699 -0,645 1,000Cliente_7 0,891 -0,516 0,165 -0,239 0,963 -0,699 1,000

Medidas CorrelacionaisMedidas Correlacionais

X1 X2 X3 X4 X5 MédiaCliente_1 7,000 10,000 9,000 7,000 10,000 8,600Cliente_2 9,000 9,000 8,000 9,000 9,000 8,800Cliente_3 5,000 5,000 6,000 7,000 7,000 6,000Cliente_4 6,000 6,000 3,000 3,000 4,000 4,400Cliente_5 1,000 2,000 2,000 1,000 2,000 1,600Cliente_6 4,000 3,000 2,000 3,000 3,000 3,000Cliente_7 2,000 4,000 5,000 2,000 5,000 3,600

Cliente_1 7,000 10,000 9,000 7,000 10,000Media 8,6 8,6 8,6 8,6 8,6X-Media -1,600 1,400 0,400 -1,600 1,400(X-Media)^2 2,56 1,96 0,16 2,56 1,96 9,2

Cliente_5 1,000 2,000 2,000 1,000 2,000Media 1,6 1,6 1,6 1,6 1,6Y-Media -0,600 0,400 0,400 -0,600 0,400(Y-Media)^2 0,36 0,16 0,16 0,36 0,16 1,2

0,96 0,56 0,16 0,96 0,56 3,23,32265

0,963087

MedidasMedidas CorrelacionaisCorrelacionais

Cliente_1 Cliente_2 Cliente_3 Cliente_4 Cliente_5 Cliente_6 Cliente_7Cliente_1 1,000Cliente_2 -0,147 1,000Cliente_3 0,000 0,000 1,000Cliente_4 0,087 0,516 -0,824 1,000Cliente_5 0,963 -0,408 0,000 -0,060 1,000Cliente_6 -0,466 0,791 -0,354 0,699 -0,645 1,000Cliente_7 0,891 -0,516 0,165 -0,239 0,963 -0,699 1,000

As instâncias 1, 5 e 7 têm padrões semelhantes e correlação (positiva) altaDa mesma forma instâncias 2, 4 e 6A instância 3 tem correlação baixa ou negativas com todas as demais, de modo que talvez forme um grupo por si mesmaPortanto, as correlações representam padrões ao longo dos atributos, muito mais do que as magnitudes

Medidas de DistânciaMedidas de Distância

• Representam a similaridade como a proximidade entre observações (instâncias) ao longo dos atributos

• As medidas de distância são, na verdade, uma medida de dissimilaridade, em que os valores maiores denotam menor similaridade

• A distância é convertida em similaridade pelo uso da relação inversa (1 - distância)

Medidas de Distância: ExemploMedidas de Distância: Exemplo

• Distância Euclidiana

Cliente_1 Cliente_2 Cliente_3 Cliente_4 Cliente_5 Cliente_6 Cliente_7Cliente_1 0,00Cliente_2 3,32 0,00Cliente_3 6,86 6,63 0,00Cliente_4 10,24 10,20 6,00 0,00Cliente_5 15,78 16,19 10,10 7,07 0,00Cliente_6 13,11 13,00 7,28 3,87 3,87 0,00Cliente_7 11,27 12,16 6,32 5,10 4,90 4,36 0,00

Distância versus CorrelaçãoDistância versus Correlação

• As medidas de distância se concentram na magnitude dos valores e representam casos similares que estão próximos, mas podem ter padrões muito diferentes ao longo dos atributos

• No caso do exemplo anterior, vemos emergir grupos muitos diferentes quando a distância é considerada em lugar da correlação

• Como as distâncias menores representam maior similaridade, percebemos que as instâncias 1 e 2 formam um grupo e as instâncias 4, 5, 6 e 7 formam outro

• Um terceiro grupo, que consiste apenas do caso 3, difere dos outros dois porque possui valores que são tantos altos quanto baixos

Distância versus CorrelaçãoDistância versus Correlação

• Agrupamentos baseados em medidas correlacionais podem não ter valores similares, mas sim padrões similares

• Agrupamentos baseados em distância têm valores mais similares no conjunto de atributos, mas os padrões podem ser bem diferentes

Medidas para Atributos BináriosMedidas para Atributos Binários

• Considere dos vetores binários xi e xk

– n11 - quantidade de vezes que xil e xkl são ambos 1

– n00 - quantidade de vezes que xil e xkl são ambos 0

– n01 - quantidade de vezes que xil=0 e xkl=1

– n10 - quantidade de vezes que xil=1 e xkl=0

1 0

1 n11 n10

0 n01 n00

Medidas para Atributos BináriosMedidas para Atributos Binários

1 0

1 n11 n10

0 n01 n00

Coeficiente de matching simples

Índice (coeficiente) de Jaccard

n11

n01 + n10 + n11

n11 + n00

n00 + n01 + n10 + n11

Medidas para Atributos CategóricosMedidas para Atributos Categóricos

• Pode-se transformar esses atributos em binários e, depois, aplicar uma medida binária

• Outra possibilidade

Sij = 1/d Σ Sijl

0, se i<>jSijl =

1, se i=j

Medidas para StringsMedidas para Strings

• Programação Dinâmica

• Sejam s e t duas seqüências, com |s|=m e |t|=n,

construir uma matriz (m+1) x (n+1), em que M(i, j)

contém a similaridade entre s[1..i] e t[1..j]. • M (i, j) = max • M (i, j-1) - 2 (último passo = Inserção)• M (i-1, j-1) + p(i,j) (último passo =

Substituição/Match)• M (i-1, j) - 2 (último passo = Remoção)

BibliografiaBibliografia

• Hair-Jr., J. F. et al (2005). Análise multivariada de dados. Capítulo 9 - Análise de Agrupamentos. pp. 381-419. Bookman.

• Xu, R. and Wunsch II, D. (2005). Survey of Clustering Algorithms. IEEE Trans. on Neural Networks, v. 16, pp. 645-678.

• Souto, M. C. P. Análise de Agrupamentos (Clusters). DIMAP/UFRN.

That’s all folks