• Nenhum resultado encontrado

Sumário DBSCAN kd-trees DBSCAN com kd-trees DBSCAN. DBSCAN Parâmetros: Eps e MinPts Algoritmo: R*-Trees DBSCAN com R*-Trees. Noise

N/A
N/A
Protected

Academic year: 2021

Share "Sumário DBSCAN kd-trees DBSCAN com kd-trees DBSCAN. DBSCAN Parâmetros: Eps e MinPts Algoritmo: R*-Trees DBSCAN com R*-Trees. Noise"

Copied!
14
0
0

Texto

(1)Sumário  DBSCAN  kd-Trees  DBSCAN com kd-Trees. Usando kd-Trees.  Outras Estruturas  R*-Trees  DBSCAN com R*-Trees. Lucas Vendramin 5961586 2. DBSCAN. DBSCAN  Parâmetros: Eps e MinPts. Eps =.  Algoritmo: 1. Rotular os objetos como: Core, Border ou Noise. 2. “Remover” objetos Noise. 3. Inserir uma aresta entre cada par de objetos “core” vizinhos. 4. Rotular cada componente conexo como um cluster. 5. Atribuir cada objeto “border” ao cluster de um dos cores associados.. MinPts = 5 Ponto Core. Ponto Border. Ponto Noise. 3. M. Ester et.al, 1996. 4.

(2) Exemplo Eps = MinPts = 5 2 3. 1. CORE. 2. Border. 3. Border. Exemplo Eps = MinPts = 5. 5. Border. 6. Border. 4. 7. A. 2 3. 8. 9 B. OBJETO. TIPO. 1. CORE. 2. BORDER. 3. Border. 4. 7 5. 6. C. TIPO. 1. 4 4. 8. OBJETO. 1. Border. 6. Border. 7 5. 6. 5. 8. 9. 9. A. A. 8. B C. 9 7. A. C. B. B C. 5. Exemplo. OBJETO. Eps = MinPts = 5 4. 2 3. 1 6. 8 C. CORE BORDER. 3. CORE. 4. Border. 5. Border. 6. Border. OBJETO. Eps = MinPts = 5 4. 2 3. 8. 7 B. 1. 7 5. 9 A. Exemplo. TIPO. 2. 6. 1 6. 1. CORE. 2. BORDER. 3. CORE. 4. BORDER. 5. Border. 6. Border. 7 5. 8. 9. 9. A. A. 8. B C. C 7. 9 7. A B. TIPO. B C 8.

(3) Exemplo Eps = MinPts = 5 4. 2 3. 1. 8. CORE. 2. BORDER. 3. CORE. 4. BORDER. 5. BORDER. 6. Border. Exemplo Eps = MinPts = 5 4. 2 3. 8. 9 7. A. C. TIPO. 1. 7 5. 6. OBJETO. B. 1. TIPO. 1. CORE. 2. BORDER. 3. CORE. 4. BORDER. 5. BORDER. 6. BORDER. 7 5. 6. OBJETO. 8. 9. 9. A. A. 8. B C. 9 7. A. C. B. B C. 9. Exemplo. OBJETO. Eps = MinPts = 5 4. 2 3. 1 6. 8 C. 5. CORE BORDER. 3. CORE. 4. BORDER. 5. BORDER. 6. BORDER. OBJETO. Eps = MinPts = 5 4. 2 3. 8. 7 B. 1. 7. 9 A. Exemplo. TIPO. 2. 10. 1 6. 1. CORE. 2. BORDER. 3. CORE. 4. BORDER. 5. BORDER. 6. BORDER. 7 5. 8. 9. 9. A. A. 8. B C. C 11. 9 7. A B. TIPO. B C 12.

(4) Exemplo Eps = MinPts = 5 4. 2 3. 1. 8. CORE. 2. BORDER. 3. CORE. 4. BORDER. 5. BORDER. 6. BORDER. 8. 9 7. A. C. TIPO. 1. Exemplo Eps = MinPts = 5 4. B. 2 3. 7 5. 6. OBJETO. BORDER. 1. TIPO. 1. CORE. 2. BORDER. 3. CORE. 4. BORDER. 5. BORDER. 6. BORDER. 7 5. 6. OBJETO. 8. BORDER. 9. CORE. 9. CORE. A. Border. A. CORE. B. Border. B. Border. C. Border. C. Border. 8. 9 7. A. C. B. 13. Exemplo. OBJETO. Eps = MinPts = 5 4. 2 3. 1 6. 8 C. 5. CORE BORDER. 3. CORE. 4. BORDER. 5. BORDER. 6. BORDER. 8. 7 B. 1. OBJETO. Eps = MinPts = 5 4. 2 3. 7. 9 A. Exemplo. TIPO. 2. 14. BORDER. 1 6. TIPO. 1. CORE. 2. BORDER. 3. CORE. 4. BORDER. 5. BORDER. 6. BORDER. 7 5. 8. BORDER. 9. CORE. 9. CORE. A. CORE. A. CORE. B. BORDER. B. BORDER. C. Border. C. BORDER. 8 C 15. 9 7. A B. 16.

(5) Exemplo. OBJETO. TIPO. 1. CORE. 2. BORDER. 3. CORE. 4. BORDER. 5. BORDER. 6. BORDER. 7. NOISE. 8. BORDER. Eps = MinPts = 5 4. 2 3. 1 6. 8 C. 5. 9 7. A B. 9. CORE. A. CORE. B. BORDER. C. BORDER. Custo Computacional  Complexidade?  Percorrer cada objeto para detectar se é core, border ou noise: O(N).  Para cada objeto, identificar os outros objetos que estão a uma distância máxima “Eps”: O(N).  Portanto: O(N2).. 17. 18. Custo Computacional  Mas se for possível identificar os objetos que estão. num raio “Eps” de maneira mais eficiente que O(N)?. Figura: Wikipedia: http://en.wikipedia.org/wiki/File:3dtree.png 19. 20.

(6) kd-Trees. Algoritmo de Construção. Eixo X.  Árvore binária.. Função: kdtree (pontos, altura) Se pontos = vazio retorna nulo senão eixo = altura mod QT_DIM mediana = selecionar_mediana(pontos, eixo) criar Nó = mediana Nó.esquerda = kdtree(pontos < mediana, altura+1) Nó.direita = kdtree(pontos > mediana, altura+1) retorna Nó. Eixo Y.  Cada nó é um ponto no espaço.  Cada nó não-folha divide o. subespaço em dois com um hiperplano em um eixo (pode-se usar a mediana).  Sub-árvore esquerda (direita) representa os pontos que estão a esquerda (direita) do hiperplano.  Os eixos para geração dos hiperplanos são escolhidos de maneira intercalada: x, y, z, x, y, z, x, ... (Existem variações desta técnica). 21. H. Samet, 2006. Exemplo 10. 3. 0. 10. 1 2 3 5 6 7. 3 5. 8 7 C. B. 10. 23. 0. Eixo Y. A. 1. 1,9. 7,5. 1 6. 9 A. 2. 4. 1 6. 4,2. Eixo X. 2. 4. 4. 4,2. 8 9 A B C. C. Exemplo. 4 Eixo X. 8. 22. 5. B C. 8 9. 5 6 7. 2 3. 9 7. A B. 10. 24.

(7) Exemplo 10 2 3. C. 0. A. 1. 1,9. 7,5. 10. X. 9. 0,9. 8. 5. 3. 1,1. 9. 5,6. 8. B. B. 9. 6. 7. 10. C. 2 25. 0. Y. A. 1. 1,9. 7,5. 1 6. 7. A. 2. 4 3. C. 4,2. X. 1 6. 8. Y 5. 4. 4,2. X. 4. Exemplo. 4. C. 5. X. 9. 0,9. 8. 5. 3. 1,1. 9. 5,6. 7. A. B. B. 9. 6. 7. 10. 2 26. Custo Computacional. Custo Computacional.  Custo de construção da kd-tree: N log2N..  Mas é possível identificar os objetos que estão num. raio “Eps” de maneira mais eficiente que O(N)?  Altura da árvore: log2N.  Se for usado a mediana para construção do hiperplano.  Logo, complexidade de encontrar um objeto é log2N.. 27. 28.

(8) Busca Intervalar. Busca Intervalar. Função: busca(Nó, Intervalo) eixo = altura mod QT_DIM visita(Nó).  É possível detectar os subespaços (hiperplanos) que. “interceptam” a hiper-esfera com raio Eps.. 10. 3. se Nó.valor(eixo) > Intervalo.valor(eixo).menor busca(Nó.esquerda, Intervalo) se Nó.valor(eixo) < Intervalo.valor(eixo).maior busca(Nó.direita, Intervalo). 2 3. C. 0. 1. 1. 3 8. 5. 3. 8. 7 B. B. 10. 9. 6. 7. C. 2 31. 0. 7,5. Y. 1 6. X. 9 A. 2. 4. C. X. 10. Y 5. 30. 4.  Y: [4,8, 9,2]. 1 6. 8. 10.  X: [5, 9,4]. A. 10 4. B. 4,2. X. 7.  Limites da esfera:. 4.  Y: [4,8, 9,2]. “Objeto 1” com raio 2,2.  Limites da esfera:  X: [5, 9,4]  Y: [4,8, 9,2]. 9. 0. 29.  X: [5, 9,4]. 5. A. C.  Limites da esfera:.  Hiper-esfera centrada no. 1 6. 8.  Exemplo:. 2. 4. 5. 5. 3. X. 9 7. A. 6. B. 10. 7. 2 32.

(9)  Limites da esfera:.  Limites da esfera:. 4.  X: [5, 9,4]. X.  Y: [4,8, 9,2]. 1 2 3. 8. 3 5. X. 9. 5. 3. 9. 5,6. 8. 6. B. 7. 10. 33. 5. 5. 7 6. B. 0.  Hiper-esfera centrada no “Objeto 7” com raio 2,2.. 34. 4,2. X.  Y: [-0,3, 3,9]. A. 10. 3. C. 3 6. 8 7 C. B. 10. 35. 0. 1. Y. 1.  Y: [-0,3, 3,9]. 5. 9 A. 2. 4.  X: [7,3, 11,7]. 1 6. 8.  Limites da esfera:. 2. 4. 2. 4.  X: [7,3, 11,7]. 10. 7. 10.  Limites da esfera:. Exemplo 2. 3. X. 9 A. C. 2. Y. 1 6. 7. 0. 0. 2. 4. Y. A. C. 1. 10. 1 6. X.  Y: [4,8, 9,2]. 10 4. 4.  X: [5, 9,4]. C. 5. 8. 5. 3. X. 9 7. A. B. B. 10. 9. 6. 7. 2 36.

(10)  Limites da esfera:.  Limites da esfera:. 4.  X: [7,3, 11,7]. X.  Y: [-0,3, 3,9]. 1 2 3. 8. 3 5. 5. 3. 8. 7 6. B. 0. 7 37. X.  Y: [-0,3, 3,9]. 8 C. 7. A. 6. B. 0. 7. 10. 38.  Quanto maior for o Eps, mais objetos serão visitados.  Se Eps = 0 (zero), então o custo computacional será. Y. log2N.  Se Eps = Infinito, então o custo será N.. 1 6. 9. parâmetro Eps:. 1. 3. X. 9.  A quantidade de objetos visitados depende do. 10 2. 5. 5. Busca Intervalar. 4.  X: [7,3, 11,7]. 0. 2. 10.  Limites da esfera:. C. Y. 1 6. X. 9. 4. 2. 4. 7,5. Y. A. C. 1. 10. 1 6. X.  Y: [-0,3, 3,9]. 10 4. 4.  X: [7,3, 11,7]. 5. 5.  Pode-se dizer que o custo é da ordem de O(log2N) para. o caso médio.. X. 9 7. A. 6. B. 10. 7 39. 40.

(11) DBSCAN: Custo Computacional  Qual a complexidade do DBSCAN usando kd-trees?  Percorrer cada objeto para detectar se é core, border ou noise: O(N).  Para cada objeto, identificar os outros objetos que estão a uma distância máxima “Eps”: O(log2N) (caso médio).  Portanto, na média: O(N log2N).. R*-Trees.  OBS: Foi assumido distância Euclideana, mas pode ser. adotadas outras distâncias. Figura: Wikipedia: http://en.wikipedia.org/wiki/File:RTree-Visualization-3D.svg 41. 42. R*-Trees.  Cada nó não-folha contém:  Endereço de um nó filho.  Área do retângulo que cobre todos os nós filhos..  Baseadas em árvores B+.  Ex: M = 2, m = 1. 10 R1. 8 2. 4. 4 3. 4 2. 4. 6. R6 R2 R7 8.  Nós não-folha contém as chaves.  Registros (pontos/objetos) somente nos nós folhas. N. Beckmann, 1990. 1. R3. 8. C 43. 0. R1 R2. 2. R5 5. R3. R6 R7. R4 R5. R4. 9 7. A. 3. 4. 1. 2. 6. 5. 7. 8. C. 9. A. B. B. 10. 44.

(12) Busca Intervalar. Busca Intervalar.  Hiper-esfera centrada no “Objeto 7” com raio 2,2. 10. 10. 3. 3. 1.  Y: [-0,3, 3,9]. 5. R1 R2. 2. 4.  X: [7,3, 11,7]. 1 6. R1.  Limites da esfera:. 2. 4. 5. 6. R3. R6 R7. R4 R5. R2 8. 8. 9 7. A. C. 0. 10. 45. 7. A. C. B. 9. 0. Busca Intervalar. 3. 4. 1. 2. 6. 5. 7. 8. C. 9. A. B. B. 10. 46. Busca Intervalar. 10. 10 R1 R2. R1 R2. 2. 4 3. 1. R3 6. 2. 4 3. R5 5. R3. R4 R5. 1 6. R5 5. R3. R4 R5. R4 8 C. 0. 8. 9 7. A. 3. 4. 1. 2. 6. 5. 7 C. B. 10. 47. 0. 9 7. A. 5. 7. B. 10. 48.

(13) Complexidade  Custo de construção da R*-tree: N logmN.  Custo da busca intervalar:  A quantidade de objetos visitados depende dos parâmetros Eps, M e m.  Novamente, pode-se dizer que o custo é da ordem de O(logmN) para o caso médio.  Portanto, a complexidade do DBSCAN usando R*-tree. é na média: O(N logmN).. • M. Ester, H-P Kriegel, J. Sander, X. Xu: “A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise”, Proc. 2nd KDD, 1996, pp. 226-231. • N. Beckmann, H-P Kriegel, R Schneider, B. Seeger: “The R*tree: An Efficient and Robust Access Method for Points and Rectangles”, Proc. ACM SIGMOD, 1990, pp. 322-331. • H. Samet: “Foundations of multidimensional and metric data structures”, Morgan Kaufmaan, 2006. •D. T. Lee, C. K. Wong: “Worst-Case Analysis for Region and Partial Region Searches in Multidimensional Binary Search Trees and Balanced Quad Trees, Acta Informatica, 1977, pp. 2329.. 49. 50. kd-Tree com DBSCAN  Na verdade, a “busca intervalar” pode ser modificada. Dúvidas. para “contar” os objetos que estão dentro da hiperesfera:  Neste caso, se a quantidade de objetos for menor que. MinPts, então a busca pode parar.. Lucas Vendramin vendra@grad.icmc.usp.br 51. 52.

(14) Dimensões  O(n.N1-1/n). Dimensões. 53. R*-Tree - Inserção Onde alocar o objeto E? Qual subretângulo?. Folha “estourou” Elimina da árvore e reinsere Divide o nó folha em 2.  ChooseSubtree:  IF childpointers point to leaves THEN . determine the minimum overlap/area cost..  IF do not point to leaves THEN  determine the minimum area cost..  IF N has less than M entries THEN  OK. Accommodate E in N.  ELSE  IF level is not root and is the first time THEN . REINSERT.  ELSE (Split):  ChooseSplitAxix (minimum margin).  ChooseSplitIndex (minimum overlap/area). 55. 54.

(15)

Referências

Documentos relacionados

Em 1419, João Gonçalves Zarco e Tristão Vaz Teixeira desem- barcaram na ilha do Porto Santo depois de uma tempestade ter afastado as suas embarcações da rota desejada. O arquipélago

É claro, então, que, tal como indicado por aqueles autores (Herbart, Zöller), a leitura, realizada pelo jovem Schopenhauer , desta obra de Fichte forneceu-lhe um ímpeto e

AFM – microscopia de força atômica CN – nanocristais de celulose CNPL – nanocristais de celulose de folha de abacaxi CNPL5 – nanocristais de celulose de folha de abacaxi obtidos

Para determinar o nível de degradação do polímero, as análises de variação de massa molar são as mais utilizadas e indicadas, como, por exemplo, as de medida de viscosidade

tomar decisões para dar resposta a questões como: que pretendemos com nossa actuação em mercados internacionais? Como nosso o produto, serviço ou ideia é

Estas normalmente associam-se constituindo uma rede em que se conectam violências do sistema social com as praticadas no nível interpessoal (Assis, 1994). Face

No filme de Scorsese, a nova tecnologia revela-se não como um perigo mas como um desafio e uma oportunidade para explorar novas potencialidades na produção de filmes, como Peter

O uso da “narrativa de si” nas Ciências Sociais resulta de múltiplas perspectivas, que não são necessariamente marcadas por “uma verdadeira divergência de