290 likes | 429 Views
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.
E N D
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 • 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
Visualização de Grupos e d c j a h b k f i g
Visualização de Grupos (2) d e a j c f k i g h b Note que uma instância pode pertencer a mais de um grupo
Semântica de Grupos • 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 • Técnica incremental de agrupamento • Atributos nominais • Agrupamentos hierárquicos de instâncias • Category Utility • Medida de qualidade de um grupo
Algoritmo CobWeb (4) a:não a:não b:não c:sim d:sim e:sim (1) (2) a:não b:não c:sim d:sim e:sim f:não (3)
Algoritmo CobWeb (5) a:não b:não c:sim d:sim e:sim f:não g:sim (4)
Algoritmo CobWeb (6) b:não c:sim a:não d:sim h:não e:sim f:não g:sim (5)
Algoritmo CobWeb (7) 1 2 3 f:não 5 6 4 g:sim e:sim i:sim a:não d:sim h:não j:sim 7 c:sim l:sim m:sim b:não k:sim n:não (6)
Algoritmo 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
Algoritmo CobWeb (11) • Para ver como a qualidade — category utility — de um grupo é calculada, consulte o livro-texto
Algoritmo 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”
“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
“Clustering” de Documentos (2) D6 D2 D3 D5 D3 D1 D8 Clusters D11 D6 D11 D1 D5 D2 D12 D9 D7 D4 D9 D3 D10 D12 D4 D6 D7 D10
“Clustering” de Documentos (3) • 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) • Identificação não-manual de “clusters” • Necessária se os “clusters” forem grandes • 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 • Geração de um dicionário local a cada “cluster”
“Clustering” de Documentos (5) • Algoritmo “k-Means Clustering” • A lógica Documento 1 Escore de Similaridade Calcule a similaridade Documento 2
“Clustering” de Documentos (6) • Algoritmo “k-Means Clustering” --- Documentos --- --- “Clusters” ---
“Clustering” de Documentos (7) • 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 • Move all documents to their most similar bins • If no document has been moved to a new bin, then stop; else go to step 2
“Clustering” de Documentos (8) • 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) • 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 (10) • Outros Algoritmos (ver livro “Text Mining”) • “Centroid Classifier” • “Expectation Maximization” (EM)
“Clustering” de Documentos (11) • 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