7-Clustering - Computação UFCG

Propaganda
Marcus Sampaio
DSC/UFCG
Marcus Sampaio
DSC/UFCG
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
Marcus Sampaio
DSC/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
Marcus Sampaio
DSC/UFCG
Visualização de Grupos
e
d
c
j
a
h
k
b
f
i
g
Visualização de Grupos (2)
d
e
a
j
c
f
k
h
g
i
b
Note que uma instância pode pertencer a mais de um grupo
Marcus Sampaio
DSC/UFCG
Semântica de Grupos
Marcus Sampaio
DSC/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)
Algoritmo CobWeb
•
•
•
•
Marcus Sampaio
DSC/UFCG
Técnica incremental de agrupamento
Atributos nominais
Agrupamentos hierárquicos de instâncias
Category Utility
– Medida de qualidade de um grupo
Marcus Sampaio
DSC/UFCG
Algoritmo CobWeb (2)
Estado
Temp
Umid
Vento
Jogo
ensol
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)
Marcus Sampaio
DSC/UFCG
Algoritmo CobWeb (3)
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)
Marcus Sampaio
DSC/UFCG
Algoritmo CobWeb (4)
a:não
a:não
b:não
c:sim
(1)
d:sim
(2)
a:não
b:não
c:sim
d:sim
e:sim
f:não
(3)
e:sim
Marcus Sampaio
DSC/UFCG
Algoritmo CobWeb (5)
a:não
b:não
c:sim
d:sim
e:sim
f:não
(4)
g:sim
Algoritmo CobWeb (6)
b:não
a:não
d:sim
h:não
c:sim
e:sim
(5)
Marcus Sampaio
DSC/UFCG
f:não
g:sim
Marcus Sampaio
DSC/UFCG
Algoritmo CobWeb (7)
1
2
3
5
4
e:sim
a:não
d:sim
f:não
6
h:não
i:sim
g:sim
j:sim
7
c:sim
l:sim
m:sim
b:não
k:sim
(6)
n:não
Marcus Sampaio
DSC/UFCG
Algoritmo CobWeb (8)
Estado
Temp
Umid
Vento
Jogo
ensol
quente
alta
falso
não (a, 1-24)
ensol
quente
alta
verdade
não (b), 1-25-7
nublado
quente
alta
falso
sim (c), 1-25
chuvoso
amena
alta
falso
sim (d, 1-24)
chuvoso
fria
normal
falso
sim (e), 1-36
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-24)
ensol
fria
normal
falso
sim (i), 1-3-6
Marcus Sampaio
DSC/UFCG
Algoritmo CobWeb (9)
chuvoso
amena
normal
falso
sim (j), 1-3
ensol
amena
normal
verdade
sim (k), 1-25-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 (10)
Marcus Sampaio
DSC/UFCG
• 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
Algoritmo CobWeb (11)
Marcus Sampaio
DSC/UFCG
• Para ver como a qualidade — category utility
— de um grupo é calculada, consulte o livrotexto
Algoritmo CobWeb (12)
Marcus Sampaio
DSC/UFCG
• 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”
“Clustering” de Documentos
Marcus Sampaio
DSC/UFCG
• 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
“Clustering” de Documentos
(2)
Marcus Sampaio
DSC/UFCG
D6
D2
D3
D5
D3
D1
D11
D8
Clusters
D6
D5
D1
D2
D12
D7
D11
D9
D4
D9
D3
D10
D4
D12
D6
D7
D10
“Clustering” de Documentos
(3)
Marcus Sampaio
DSC/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
(4)
•
Marcus Sampaio
DSC/UFCG
Identificação não-manual de “clusters”
– Necessária se os “clusters” forem grandes
1. 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
(5)
Marcus Sampaio
DSC/UFCG
• Algoritmo “k-Means Clustering”
– A lógica
Documento 1
Documento 2
Calcule a similaridade
Escore de
Similaridade
“Clustering” de Documentos
(6)
• Algoritmo “k-Means Clustering”
--- Documentos ---
--- “Clusters” ---
Marcus Sampaio
DSC/UFCG
“Clustering” de Documentos
(7)
•
1.
2.
3.
Marcus Sampaio
DSC/UFCG
Algoritmo “k-Means Clustering”
Distribute all documents among the k bins
Compute the mean vector for each bin
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 bins
5. If no document has been moved to a new
bin, then stop; else go to step 2
“Clustering” de Documentos
(8)
•
Marcus Sampaio
DSC/UFCG
Algoritmo “k-Means Clustering”
– Exemplo
•
•
•
2 “clusters”
5 documentos
Vetores para uma única palavra, freqüência
“Cluster” 1
“Cluster” 2
Initial:
0,4,2,3,4
Step 1:
0,4
Mean=2
2,3,4
Mean=3
Step 2:
0,2
Mean=1
4,3,4
Mean=3.67
Step 3:
0,2
Mean=1
4,3,4
Mean=3.67
“Clustering” de Documentos
(9)
•
Marcus Sampaio
DSC/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 “kMeans Clustering”
“Clustering” de Documentos
(10)
•
Marcus Sampaio
DSC/UFCG
Outros Algoritmos (ver livro “Text Mining”)
– “Centroid Classifier”
– “Expectation Maximization” (EM)
“Clustering” de Documentos
(11)
•
Marcus Sampaio
DSC/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
Download