A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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 i 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.34) (0.33) (0.32)‏ ============================================ sepallength mean std. dev sepalwidth mean std. dev petallength mean std. dev petalwidth mean std. dev class Iris-setosa Iris-versicolor Iris-virginica [total] Clustered Instances 0 52 ( 35%)‏ 1 50 ( 33%)‏ 2 48 ( 32%)‏ Log likelihood: 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

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


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google