6. "Clustering"
-
Upload
zorita-lester -
Category
Documents
-
view
34 -
download
0
description
Transcript of 6. "Clustering"
Marcus SampaioDSC/UFCG
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
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
Marcus SampaioDSC/UFCGVisualização de Grupos
a
d
k
j
h
e
c
b
g
i
f
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
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
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
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)
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)
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)
Marcus SampaioDSC/UFCG
e:sim
a:não b:não d:simc:sim
f:não
(4)
g:sim
Algoritmo CobWeb (5)
Marcus SampaioDSC/UFCG
e:sima:não
c:simb:não
f:não
(5)
g:simd:sim h:não
Algoritmo CobWeb (6)
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)
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)
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)
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
Marcus SampaioDSC/UFCGAlgoritmo CobWeb (11)
• Para ver como a qualidade — category utility — de um grupo é calculada, consulte o livro-texto
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”
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
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
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)
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)
Marcus SampaioDSC/UFCG
• Algoritmo “k-Means Clustering” – A lógica
“Clustering” de Documentos (5)
Documento 1
Documento 2Calcule a similaridade Escore de
Similaridade
Marcus SampaioDSC/UFCG
• Algoritmo “k-Means Clustering”
“Clustering” de Documentos (6)
--- Documentos ---
--- “Clusters” ---
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)
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
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)
Marcus SampaioDSC/UFCG
• Outros Algoritmos (ver livro “Text Mining”)– “Centroid Classifier”– “Expectation Maximization” (EM)
“Clustering” de Documentos (10)
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)