Upload
jean-lopes
View
253
Download
0
Embed Size (px)
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