6. "Clustering"

29
Marcus Sampaio DSC/UFCG

description

6. "Clustering". Classificação Não Supervisionada. As instâncias não são previamente classificadas Um algoritmo de classificação não supervisionada define dinamicamente o atributo de classificação e as classes Algoritmos de lógica muito complexa. Lógica de Clustering. - PowerPoint PPT Presentation

Transcript of 6. "Clustering"

Page 1: 6.  "Clustering"

Marcus SampaioDSC/UFCG

Page 2: 6.  "Clustering"

Marcus SampaioDSC/UFCGClassificação Não Supervisionada

• As instâncias não são previamente classificadas• Um algoritmo de classificação não supervisionada

define dinamicamente o atributo de classificação e as classes– Algoritmos de lógica muito complexa

Page 3: 6.  "Clustering"

Marcus SampaioDSC/UFCG

• O objetivo é mostrar as instâncias caem dentro de um grupo (cluster)– Um grupo podia ser clientes que compram muito

equipamentos eletrônicos• Os algoritmos de clustering diferem

– Na forma como os grupos são visualizados– Na precisão com que os grupos são definidos

Lógica de Clustering

Page 4: 6.  "Clustering"

Marcus SampaioDSC/UFCGVisualização de Grupos

a

d

k

j

h

e

c

b

g

i

f

Page 5: 6.  "Clustering"

Marcus SampaioDSC/UFCGVisualização de Grupos (2)

a

d

k

j

g

e

h

c

i

f

b

Note que uma instância pode pertencer a mais de um grupo

Page 6: 6.  "Clustering"

Marcus SampaioDSC/UFCG

• O estágio de agrupamento (clustering) é muitas vezes seguido de outro estágio– Dado um grupo, uma árvore de decisão ou um

conjunto de regras de classificação são inferidas para o grupo (definição do grupo)

Semântica de Grupos

Page 7: 6.  "Clustering"

Marcus SampaioDSC/UFCGAlgoritmo CobWeb

• Técnica incremental de agrupamento• Atributos nominais• Agrupamentos hierárquicos de instâncias• Category Utility

– Medida de qualidade de um grupo

Page 8: 6.  "Clustering"

Marcus SampaioDSC/UFCG

Estado Temp Umid Vento Jogoensol quente alta falso não (a)ensol quente alta verdade não (b)nublado quente alta falso sim (c)chuvoso amena alta falso sim (d)chuvoso fria normal falso sim (e)

chuvoso fria normal verdade não (f)nublado fria normal verdade sim (g)ensol amena alta falso não (h)ensol fria normal falso sim (i)

Algoritmo CobWeb (2)

Page 9: 6.  "Clustering"

Marcus SampaioDSC/UFCG

chuvoso amena normal falso sim (j)

ensol amena normal verdade sim (k)

nublado amena alta verdade sim (l)

nublado quente normal falso sim (m)

chuvoso amena alta verdade não (n)

Algoritmo CobWeb (3)

Page 10: 6.  "Clustering"

Marcus SampaioDSC/UFCG

a:não a:não b:não d:simc:sim

e:sim

e:sim

a:não b:não d:simc:sim

f:não

(1) (2)

(3)

Algoritmo CobWeb (4)

Page 11: 6.  "Clustering"

Marcus SampaioDSC/UFCG

e:sim

a:não b:não d:simc:sim

f:não

(4)

g:sim

Algoritmo CobWeb (5)

Page 12: 6.  "Clustering"

Marcus SampaioDSC/UFCG

e:sima:não

c:simb:não

f:não

(5)

g:simd:sim h:não

Algoritmo CobWeb (6)

Page 13: 6.  "Clustering"

Marcus SampaioDSC/UFCG

e:sim

a:não

i:sim

b:não

f:não

(6)

g:sim

d:sim h:não

k:sim

l:simc:sim

n:não

j:sim

m:sim

1

2 3

4 5 6

7

Algoritmo CobWeb (7)

Page 14: 6.  "Clustering"

Marcus SampaioDSC/UFCG

Estado Temp Umid Vento Jogoensol quente alta falso não (a, 1-2-

4)

ensol quente alta verdade não (b), 1-2-5-7

nublado quente alta falso sim (c), 1-2-5

chuvoso amena alta falso sim (d, 1-2-4)

chuvoso fria normal falso sim (e), 1-3-6

chuvoso fria normal verdade não (f), 1-3

nublado fria normal verdade sim (g), 1-3

ensol amena alta falso não (h, 1-2-4)

ensol fria normal falso sim (i), 1-3-6

Algoritmo CobWeb (8)

Page 15: 6.  "Clustering"

Marcus SampaioDSC/UFCG

chuvoso amena normal falso sim (j), 1-3

ensol amena normal verdade sim (k), 1-2-5-7

nublado amena alta verdade sim (l), 1-2-5

nublado quente normal falso sim (m), 1-3

chuvoso amena alta verdade não (n), 1-3

Algoritmo CobWeb (9)

Page 16: 6.  "Clustering"

Marcus SampaioDSC/UFCGAlgoritmo CobWeb (10)

• Aplicando um algoritmo de classificação, pode-se inferir a semântica dos grupos– 1-2-4– 1-2-5-7– 1-2-5– 1-3-6– 1-3

Page 17: 6.  "Clustering"

Marcus SampaioDSC/UFCGAlgoritmo CobWeb (11)

• Para ver como a qualidade — category utility — de um grupo é calculada, consulte o livro-texto

Page 18: 6.  "Clustering"

Marcus SampaioDSC/UFCGAlgoritmo CobWeb (12)

• Como fazer predição com um modelo induzido por um algoritmo clustering?– Dada uma instância de execução, um algoritmo

classifica a instância como pertencendo a um ou mais grupos

• O algoritmo ‘conhece’ os “clusters” induzidos por CobWeb

• O algoritmo ‘sabe’ interpretar os “clusters”

Page 19: 6.  "Clustering"

Marcus SampaioDSC/UFCG

“Clustering” de Documentos

• Organiza uma coleção de documentos sem rótulos: classificação não-supervisionada em Grupos (“Clusters”)– Um “cluster” deve conter documentos similares

• O critério de similaridade é baseado no exame das palavras comuns aos documentos

• Documentos com os mesmos rótulos lógicos

Page 20: 6.  "Clustering"

Marcus SampaioDSC/UFCG

“Clustering” de Documentos (2)

Clusters

D5

D1 D3D8

D11 D6

D12 D7

D2

D3D9

D4

D10

D2D6

D5D3

D1D11

D9

D4D12

D7 D10D6

Page 21: 6.  "Clustering"

Marcus SampaioDSC/UFCG

• Identificação de “clusters”– Em geral, os algoritmos de “clustering” numeram

sequencialmente os “clusters” (1, 2, 3, ...) • O significado? TMSK: Coleção de palavras relevantes para um

“cluster”• São úteis?

• Exemplo: “Call Center” de uma Empresa de Produtos de Informática– Usuários submeteram problemas, ao longo do tempo– Classificação não-supervisionada

• “Cluster” 1: problemas de impressora• “Cluster” 2: problemas de rede• ...

– O que conseguimos com a classificação? Entender os tipos de problema submetidos

• Priorização de problemas: tamanho dos “clusters”

“Clustering” de Documentos (3)

Page 22: 6.  "Clustering"

Marcus SampaioDSC/UFCG

• Identificação não-manual de “clusters” – Necessária se os “clusters” forem grandes1. Classificação supervisionada

• Cada documento recebe como rótulo o número do seu “cluster”

• As regras conjunção de palavras de definição dos números são então induzidas por qualquer algoritmo de classificação supervisionada

2. Geração de um dicionário local a cada “cluster”

“Clustering” de Documentos (4)

Page 23: 6.  "Clustering"

Marcus SampaioDSC/UFCG

• Algoritmo “k-Means Clustering” – A lógica

“Clustering” de Documentos (5)

Documento 1

Documento 2Calcule a similaridade Escore de

Similaridade

Page 24: 6.  "Clustering"

Marcus SampaioDSC/UFCG

• Algoritmo “k-Means Clustering”

“Clustering” de Documentos (6)

--- Documentos ---

--- “Clusters” ---

Page 25: 6.  "Clustering"

Marcus SampaioDSC/UFCG

• Algoritmo “k-Means Clustering” 1. Distribute all documents among the k bins2. Compute the mean vector for each bin3. Compare the vector of each document to the

bin means and note the mean vector that is most similar

4. Move all documents to their most similar bins5. If no document has been moved to a new

bin, then stop; else go to step 2

“Clustering” de Documentos (7)

Page 26: 6.  "Clustering"

Marcus SampaioDSC/UFCG

• Algoritmo “k-Means Clustering”– Exemplo

• 2 “clusters”• 5 documentos• Vetores para uma única palavra, freqüência

“Clustering” de Documentos (8)

“Cluster” 1 “Cluster” 2

Initial:

Step 1:

Step 2:

Step 3:

0,4,2,3,4

0,4 2,3,4

0,2 4,3,4

0,2 4,3,4

Mean=2 Mean=3

Mean=1 Mean=3.67

Mean=1 Mean=3.67

Page 27: 6.  "Clustering"

Marcus SampaioDSC/UFCG

• Algoritmo “k-Means Clustering”– Como para o algoritmo “k-Nearest Neighbor”,

como escolher k?• Ver discussão no livro “Text Mining”, seção 5.2.1 “k-

Means Clustering”

“Clustering” de Documentos (9)

Page 28: 6.  "Clustering"

Marcus SampaioDSC/UFCG

• Outros Algoritmos (ver livro “Text Mining”)– “Centroid Classifier”– “Expectation Maximization” (EM)

“Clustering” de Documentos (10)

Page 29: 6.  "Clustering"

Marcus SampaioDSC/UFCG

• O Software TMSK– “Clustering”

• kmeans– Identificação dos “clusters”: palavras do dicionário mais

freqüentes em cada “cluster”• Dicionário local ao “cluster

– Similaridade• matcher

– Funciona como uma máquina de busca, mostrando os documentos mais similares a um certo documento

“Clustering” de Documentos (11)