Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEnrico Primo Alterado mais de 10 anos atrás
1
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20081/34 Análise de Clustering: Tópicos adicionais Rodrigo Rocha Gomes e Souza Aula de Mineração de Dados (pós-graduação) Universidade Federal de Campina Grande, 11/11/2008 Figuras tiradas do livro “Introduction to Data Mining”, de Tan, Steinbach e Kumar
2
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20082/34 Sumário Algoritmos baseados em protótipos –Fuzzy c-means –EM (Expectation Maximization) Algoritmos baseados em densidades –Grid-based –DENCLUE O algoritmo SOM será omitido O algoritmo CLIQUE (subspaces) será omitido
3
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20083/34 Algoritmos baseados em grafos –Sparsification (técnica) –Chameleon –SNN (Shared Nearest Neighbor - técnica) –Jarvis-Patrick –SNN Density OPOSSUM e BIRCH serão omitidos –Algoritmos escaláveis CURE
4
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20084/34 –Subspace clusters –Clusters mal separados –Distribuição de dados Algoritmos baseados em protótipos
5
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20085/34 K-means (revisão) Não lida bem com clusters de diferentes formas, tamanhos e densidades É um algoritmo rápido
6
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20086/34 Fuzzy c-means: Introdução Motivação –Nem sempre os dados estão bem separados –Atribuição de um elemento a um cluster pode ser quase arbitrária Solução –Clusters são conjuntos nebulosos: x i pertence a C j com grau w ij (entre 0 e 1) –w i1 + w i2 +... + w ik = 1
7
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20087/34 Fuzzy c-means: Algoritmo Atribua um valor a cada w ij repita –Calcule o centróide de cada cluster –Recalcule cada w ij até os centróides se estabilizarem Para obter um clustering, atribua cada elemento ao cluster para o qual seu grau de pertinência é maior
8
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20088/34 Fuzzy c-means: Exemplo
9
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/20089/34 EM (Expectation Maximization) Motivação: dados seguem distribuições estatísticas conhecidas Generalização do k-means e do fuzzy c-means É como se fosse o K-means que passou pela mão de um estatístico Algoritmo EM: cada cluster segue uma distribuição estatística. Procura parâmetros para as distribuições.
10
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200810/34 EM: Maximum Likelihood Estimation Likelihood: até que ponto determinada distribuição estatística explica os dados? Aqui consideramos dados em 1 dimensão, para simplificar as figuras
11
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200811/34 EM: Algoritmo Cada cluster é representado por uma distribuição estatística com determinados parâmetros Algoritmo –Selecione um conjunto inicial de parâmetros –repita Para cada objeto x i, calcule a probabilidade de x i pertencer a cada distribuição. Ache os parâmetros que maximizam o likelihood –até os parâmetros se estabilizarem
12
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200812/34
13
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200813/34 densidades e tamanhos diferentes formas elípticas EM K-means
14
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200814/34 EM: Weka === Run information === Scheme: weka.clusterers.EM -I 100 -N 3 -M 1.0E-6 -S 100 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth class Test mode: evaluate on training data === Model and evaluation on training set === EM == Number of clusters: 3 Fonte: Wikipedia
15
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200815/34 Cluster Attribute 0 1 2 (0.34) (0.33) (0.32) ============================================ sepallength mean 5.9188 5.006 6.6181 std. dev. 0.5168 0.3489 0.6001 sepalwidth mean 2.7577 3.418 2.9906 std. dev. 0.3133 0.3772 0.3064 petallength mean 4.268 1.464 5.5681 std. dev. 0.4667 0.1718 0.5369 petalwidth mean 1.3303 0.244 2.0348 std. dev. 0.1968 0.1061 0.2665 class Iris-setosa 1 51 1 Iris-versicolor 50.5437 1 1.4563 Iris-virginica 2.3846 1 49.6154 [total] 53.9283 53 52.0717 Clustered Instances 0 52 ( 35%) 1 50 ( 33%) 2 48 ( 32%) Log likelihood: -2.21075 likelihood ≈ 0,11
16
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200816/34 Algoritmos baseados em densidades
17
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200817/34 DBSCAN (revisão) Lida bem com clusters de diferentes tamanhos e formas Não lida bem com clusters de diferentes densidades Não lida bem com dados com muitas dimensões (e nem os outros algoritmos baseados em densidade)
18
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200818/34 Grid-based Motivação: eficiência Desvantagem: sensível a parâmetros (limiar de densidade, tamanho de cada célula) Problemas: ocupa muita memória (mas dá pra armazenar só células preenchidas) Se o limiar for alto, alguns clusters serão perdidos Se o limiar for baixo, clusters serão unidos O quadriculado não captura bem a densidade das regiões curvas. Podemos diminuir as células, mas aí haverá flutuação das densidades já que os pontos não são bem distribuídos.
19
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200819/34 DENCLUE Generalização do DBSCAN Maneira mais precisa de calcular densidades É como um DBSCAN que passou pela mão de um estatístico –desvantagens kernel-based é caro. DENCLUE simplifica usando grids (mas aí sofre de problemas de grid) não lida bem com diferentes densidades não lida bem com altas dimensões –vantagem: lida bem com diferentes tamanhos e outliers Fonte: Wikipedia
20
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200820/34 Algoritmos baseados em grafos
21
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200821/34 Clustering Hierárquico Aglomerativo Matriz de proximidade entre objetos
22
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200822/34 Clustering Hierárquico Aglomerativo Inicialmente, cada cluster contém um objeto A cada passo, agrupa os dois clusters mais próximos entre si Clusters aninhadosDendrograma 1 2 3 4 5 6 1 2 5 3 4
23
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200823/34 Clustering Hierárquico Aglomerativo Proximidade entre clusters? Mais pra frente veremos outro critério para agrupar clusters, usado pelo Chameleon
24
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200824/34 Sparsification Variações –Remover arestas com similaridade < limiar –Manter apenas arestas para os k vizinhos mais próximos de cada nó Vantagens: menos dados a processar; é possível usar algoritmos de particionamento de grafos
25
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200825/34 Chameleon Motivação: modelo local (dinâmico) de cluster Closeness schemes will merge (a) and (b) (a) (b) (c) (d) Average connectivity schemes will merge (c) and (d) Pronúncia: kamílion Esse algoritmo é adaptável como um camaleão
26
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200826/34 Chameleon: Conceitos Relative closeness (RC) Relative interconnectivity (RI) Proximidade entre dois clusters: RI(C i, C j ) * RC(C i, C j ) a
27
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200827/34 Chameleon: Algoritmo Construa o grafo dos k vizinhos mais próximos Particione o grafo (algoritmo METIS) repita – Agrupe os clusters de acordo com RI e RC até não ser possível agrupar clusters
28
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200828/34 Chameleon: Resultados Lida bem com diferentes formas, tamanhos e densidades Assume que o particionamento do grafo produz subclusters
29
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200829/34 SNN (Shared Nearest Neighbors) Motivação: dificuldade em tratar alta dimensionalidade e densidades diferentes “Dois pontos similares aos mesmos pontos são similares entre si” (mesmo se a similaridade original era pequena)
30
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200830/34 SNN: Algoritmo Compute o grafo dos k vizinhos mais próximos Se dois pontos x, y não estão ligados, similaridade(x, y) = 0 Caso contrário, similaridade(x, y) = número de vizinhos comuns entre x e y
31
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200831/34 Jarvis-Patrick Algoritmo –Compute o grafo de similaridade SNN –Remova as arestas com similaridade < limiar –Encontre os componentes conexos do grafo resultante
32
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200832/34 Jarvis-Patrick: Resultados Lida bem com clusters de diferentes densidades, tamanhos e formas Muito sensível ao parâmetro limiar limiar = Llimiar = L + 1
33
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200833/34 SNN density Algoritmo –Compute o grafo de similaridade SNN –Aplique o DBSCAN (Eps, MinPts) Lida bem com diferentes tamanhos, densidades e formas
34
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200834/34 SNN density a) All Points b) High SNN Density c) Medium SNN Density d) Low SNN Density
35
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200835/34
36
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200836/34 CURE Cada cluster tem múltiplos pontos representativos Escolhe pontos mais distantes uns dos outros Encolhe os pontos em direção ao centróide Usa amostragem e particionamento para tratar de forma eficiente grandes volumes de dados
37
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200837/34 CURE: Algoritmo Selecione uma amostra aleatória dos dados Particione a amostra em partições de tamanho igual Agrupe os pontos de cada partição usando o AHC de CURE Use o AHC de CURE para agrupar os clusters do passo anterior até restarem apenas K clusters Atribua cada ponto (de fora da amostra) ao cluster mais próximo
38
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200838/34 CURE: Resultados Não lida bem com diferentes densidades Lida bem com outliers
39
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200839/34 Subspace (CLIQUE) Motivação: clusters em subespaços CLIQUE: de Agrawal, baseado no Apriori Vantagens e desvantagens do Apriori –lento
40
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200840/34 SOM – Mapas auto-organizáveis Motivação: redução de dimensões, visualização Motivação: vizinhança entre clusters Desvantagem: –convergência não é garantida –lento
41
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200841/34 Escalabilidade Amostragem Particionamento ...
42
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200842/34 Minimum Spanning Tree OPOSSUM
43
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200843/34 Características de dados Alta “dimensionalidade” (procurar termo na álgebra linear) Muitas instâncias Dados esparsos. Booleano vs. inteiro Outliers ... Remover este slide?
44
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200844/34 Sumário Características de dados e clusters Algoritmos e técnicas –protótipo –densidade –grafos Algoritmos escaláveis Considerações finais
45
Rodrigo RochaAnálise de Clustering (tópicos adicionais) 11/11/200845/34 Características de clusters Forma Diferentes tamanhos Diferentes densidades
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.