Algoritmos de bulk-loading para o método de acesso métrico Onion-tree

Documentos relacionados
Métodos de Acesso Métrico

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão

Algoritmos de bulk-loading para o método de acesso métrico Onion-tree. Arthur Emanuel de Oliveira Carosia

Consultas por Similaridade em Domínios de Dados Complexos

Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Árvores Genéricas de Busca

Busca em Regiões Ortogonais

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa

Árvores B (Parte III)

Dados Espaciais e Indexação

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

QuickSort. Estrutura de Dados II Jairo Francisco de Souza

ALGORITMOS DE ORDENAÇÃO

Quick Sort. Considerações Sobre Algoritmos de Ordenação. Estagiário PAE: Jesimar da S. Arantes Professor: Claudio Quick F. M.

Hashing convencional...

Hashing. Hashing. Hashing versus Indexação. Hashing. Hashing convencional... Exemplo de espalhamento. Revisão...

B-tree. B-Trees. Estrutura do nodo da B-tree. Balanceamento. Disposição dos elementos ordenados na B-tree. Exemplo de uma B-tree de ordem 3

Indexação de dados espaciais R-Tree. CCO229 Bancos de dados Espaciais e Biológicos Prof. Ricardo Rodrigues Ciferri Debora Marrach

Construção de árvores-b. Árvores-B (Parte II) Características Gerais. Características Gerais. Leandro C. Cintra M.C.F. de Oliveira

6 Estudo de Casos: Valor da Opção de Investimento em Informação por Aproximação com Números Fuzzy 6.1. Introdução

Combinando semi-supervisão e hubness para aprimorar o agrupamento de dados em alta dimensão

Árvores B Partes I e II

4 Testes e experimentos realizados 4.1. Implementação e banco de dados

Quick Sort. Considerações Sobre Algoritmos de Ordenação. Estagiário PAE: Jesimar da S. Arantes Professor: ClaudioQuick F. M.

Paradigmas de Projetos de Algoritmos

Ordenação: QuickSort. Prof. Túlio Toffolo BCC202 Aula 15 Algoritmos e Estruturas de Dados I

5 VNS com Filtro e Reconexão por Caminhos

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas

Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista ( )

LEAPFROG EDGE Página 1

Algoritmos e Estruturas de Dados II. Trabalho Prático 3

Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri

Clustering: k-means e Agglomerative

Aprendizado de Máquina (Machine Learning)

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Introdução. Leandro C. Cintra Maria Cristina F. de Oliveira. Solução?

Etapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório

Métodos de Ordenação

CLARA. Resumo. Introdução. Artigo de Referência [1] Introdução PAM. Modelagem como grafo CLARANS. Comparação de eficiência Conclusão

Clustering (k-means, SOM e hierárquicos)

Sumário. Definição do Plano de Execução

Classificação por Particionamento

3 Plano de Execução de Consultas

Seleção de Atributos 1

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil.

Quicksort. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Hashing: conceitos. Hashing

Análise de Algoritmos Algoritmos de Ordenação

Mineração de Dados. Arthur Emanuel de O. Carosia Cristina Dutra de Aguiar Ciferri

Técnicas de Projeto de Algoritmos

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade

Classificação e Pesquisa Aula 6 Métodos de Ordenação: ShellSort e QuickSort. Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional

Mais Informações sobre Itens do Relatório

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação

Árvore Binária de Busca Ótima

Métodos de Ordenação Parte 3

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Árvores Binárias de Busca. Árvores Binárias de Busca. Introdução

Organização. 1. Introdução 2. Medidas de Similaridade. hierárquicos, de partição) 4. Critérios numéricos para definir o número de clusters

Avaliação de Desempenho

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

VISÃO COMPUTACIONAL PARA RECONHECIMENTO DE FACES APLICADO NA IDENTIFICAÇÃO E AUTENTICAÇÃO DE USUÁRIOS NA WEB. Márcio Koch

3 Metodologia para Avaliação Probabilística de Reservas

Matemática Discreta 12

Árvores B. Árvores B Parte II. Características. Características. Construção Bottom-Up. Leandro C. Cintra Maria Cristina F. de Oliveira.

Geração de cenários de energia renovável correlacionados com hidrologia: uma abordagem bayesiana multivariada.

Operações de carga-rápida (bulk-loading) em métodos de acesso métricos

TABELAS DE DISPERSÃO/HASH

étodos uméricos AJUSTE DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

AED2 - Aula 11 Problema da separação e quicksort

AULA 2. Prof.: Jadiel Mestre. Introdução à Informática. Introdução à Informática Componentes de um Sistema de Informação

Introdução à Ciência da Computação II

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri

Figura 5.1: Resultados do método desenvolvido por Kolmogorov (09).

Tabelas de Hash MBB. Novembro de Algoritmos e Complexidade LEI-LCC

Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri

B-Árvores. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC Estruturas de Dados

Dicionários. Prof. César Melo

SCC-503 Algoritmos e Estruturas de Dados II. Modificado por Moacir Ponti Jr, do original de:

Solução de Recorrências

Seleção de Atributos FSS. Relevância de Atributos. Relevância de Atributos. Seleção de Atributos - FSS. FSS como Busca no Espaço de Estados

DEMEC/UFRGS ENG03343 PROCESSOS DE FABRICAÇÃO POR USINAGEM FRESAMENTO 3ª PARTE

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Técnicas de análise de algoritmos

Algoritmos de retrocesso

Os efeitos do paralelismo e relações de thesaurus em uma ferramenta de busca em bases textuais

2284-ELE/5, 3316-IE/3

Inteligência Artificial

Programação Dinâmica. Prof. Anderson Almeida Ferreira. Adaptado do material elaborado por Andrea Iabrudi Tavares

Inteligência Artificial

5 Experimentos Conjunto de Dados

Aprendizado de Máquina

DCBD. Avaliação de modelos. Métricas para avaliação de desempenho. Avaliação de modelos. Métricas para avaliação de desempenho...

Busca por Similaridade no CassandraDB. Antonio Mourão, Rafael Pasquini, Rodolfo Villaça, Lasaro Camargos

Hardware Conceitos Básicos. Introdução*à*Informática 14

Árvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura

Transcrição:

Algoritmos de bulk-loading para o método de acesso métrico Onion-tree http://www.icmc.usp.br/img/novafaixa.png Arthur Emanuel de O. Carosia Profa. Dra. Cristina Dutra de Aguiar Ciferri

Visão Geral Onion-tree Índice para dados complexos. Memória primária. Inserção dos dados um-a-um. Bulk-loading Construção da estrutura considerando todos os elementos do conjunto de dados de uma única vez. Analisar os dados antecipadamente. Proposta Elaborar algoritmos de bulk-loading para a Onion-tree. 2

Proposta de Bulk-Loading Onion-tree Oferece suporte apenas à inserção de dados um-a-um. Índice dependente da ordem na qual os dados são inseridos. Bulk-loading Criação do índice a partir de grande conjunto de dados. Reconstrução do índice. Analisar os dados antecipadamente para garantir melhor particionamento do espaço métrico. 3

Proposta de Bulk-Loading Algoritmos desenvolvidos: GreedyBL F-Onion-tree SampleBL HeightBL F-Onion-tree e V-Onion-tree 4

Proposta de Bulk-Loading Algoritmos desenvolvidos: GreedyBL SampleBL HeightBL 5

Algoritmo GreedyBL - Características Top-Down. Abordagem gulosa. Obtém um índice balanceado. Base para outros algoritmos. 6

Algoritmo GreedyBL Seleção de pivôs Avaliação f(x) Criação de um nó... 7

Algoritmo GreedyBL Problema 1 Alta complexidade e demora no tempo de execução para grandes conjuntos de dados Muitos pares de pivôs analisados 8

Algoritmo GreedyBL Problema 2 Pares de pivôs muito próximos Grande parte dos elementos na região externa da Onion-tree. IV II I III s1 s2 Pivôs: s1, s2 Distribuição I 2 II- 0 III- 0 IV- 20 9

Algoritmo GreedyBL Problema 3 Pares de pivôs muito distantes Grande parte dos elementos na região I da Onion-tree. II I II I III III IV IV Pivôs: s2, s12 Distribuição I 16 II- 2 III- 4 IV- 0 10

Proposta de Bulk-Loading Algoritmos desenvolvidos: GreedyBL SampleBL HeightBL 11

Algoritmo SampleBL - Características Top-Down. Introduz a etapa de amostragem. Obtém um índice balanceado. 12

Algoritmo SampleBL - Características Top-Down. Introduz a etapa de amostragem. Obtém um índice balanceado. Objetivo Construir uma estrutura balanceada 13

Algoritmo SampleBL - Características Top-Down. Introduz a etapa de amostragem. Obtém um índice balanceado. Objetivo Construir uma estrutura balanceada Escolher pivôs que distribuam os elementos uniformemente entre as regiões da Onion-tree Fórmula a ser minimizada 14

Algoritmo SampleBL - Características Top-Down. Introduz a etapa de amostragem. Obtém um índice balanceado. Objetivo Construir uma estrutura balanceada Amostragem Escolher pivôs que distribuam os elementos uniformemente entre as regiões da Onion-tree Fórmula a ser minimizada 15

Algoritmo SampleBL Amostragem Etapa de amostragem Seleção de pivôs Etapa de particionamento Criação de um nó Avaliação f(x)... 16

Etapa de amostragem Algoritmo SampleBL Amostragem Seleção de pivôs Conjunto de dados inicial 17

Etapa de amostragem Algoritmo SampleBL Amostragem Seleção de pivôs Etapa de Amostragem 1. Determinar o elemento medóide 18

Algoritmo SampleBL Medóide Aproximado Medóide aproximado Técnica para determinar medóide de um conjunto de dados é quadrática. Desenvolvido um método para determinar o medóide aproximadamente, com complexidade n*log(n). 19

Algoritmo SampleBL Medóide Aproximado 1. Rand é escolhido aleatoriamente. 2. F1 é o elemento mais distante de R. 3. F2 é o elemento mais distante de F1. r F1 F1 r Rand F2 F2 20

Algoritmo SampleBL Medóide Aproximado 1. m_f1 é determinada a mediana das distâncias de F1 aos demais elementos 2. m_f2 é determinada a mediana das distâncias de F2 aos demais elementos m_f1 e m_f2 são incrementadas até que elementos candidatos a medóide sejam escolhidos m_f1 r m_f2 F1 F1 r F2 F2 21

Etapa de amostragem Algoritmo SampleBL Amostragem Seleção de pivôs Etapa de Amostragem 2. Calcular a distância mediana entre o medóide e os demais elementos med r = mediana 22

Etapa de amostragem Algoritmo SampleBL Amostragem Seleção de pivôs Etapa de Amostragem 3. Definir um anel ao redor das amostras que serão coletadas m_sup m_inf med Quantidade de amostras: 2 < N < dimensionalidade 23

Algoritmo SampleBL Etapa de Filtragem Filtrando amostras Elementos similares Introduzem aproximadamente a mesma contribuição como pivôs quando testados. Podem ser reduzidos a somente um membro do conjunto. Retornados da Etapa de Amostragem. Possuem entre si distância menor do que = 24

Algoritmo SampleBL Etapa de Filtragem A troca entre elementos similares não causa grande mudança na estrutura resultante. A divisão dos elementos pelas regiões definidas no espaço métrico pouco se altera. 25

Algoritmo SampleBL Etapa de Filtragem Quando testados como pares de pivôs ente si, resultam em má divisão do espaço métrico 26

Algoritmo SampleBL Etapa de Filtragem Etapa de Filtragem Remoção dos n-1 elementos de cada conjunto de elementos similares. Redução do número de amostras que irão ser checadas pelo algoritmo SampleBL. 27

Algoritmo SampleBL Pivôs da Amostra Avaliação f(x) 4. Para cada par de pivôs da amostra, analizar a distribuição dos demais elementos entre as regiões determinadas e avaliar com uma função objetivo IV II I III s1 s2 Pivôs: s1, s2 Distribuição I 4 II- 5 III- 4 IV- 7 Particionamento Avaliação 28

Algoritmo SampleBL Pivôs da Amostra Avaliação f(x) 4. Para cada par de pivôs da amostra, analisar a distribuição dos demais elementos entre as regiões determinadas e avaliar com uma função objetivo IV II I III s1 s8 Pivôs: s1, s8 Distribuição I 3 II- 4 III- 7 IV- 6 Particionamento Avaliação 29

Algoritmo SampleBL Criação de um nó 5. Escolher o par de pivôs que minimiza a função objetivo IV II I III s1 s8 Pivôs: s1, s8 Distribuição I 3 II- 4 III- 7 IV- 6 Particionamento s1 s8 Avaliação 30

Algoritmo SampleBL Recursão 6. Realizar chamadas recursivas para cada região, usando como dados de entrada os elementos associados a cada uma delas. IV II I III s5 s8 Recursão Enquanto Região possuir mais que dois elementos s1 s8 31

Algoritmo SampleBL V-Onion-tree Particionamento da V-Onion-tree: Número de partições de um nó = (raio do nó pai)/(raio do nó filho) Quantidade de expansões pode ser elevada Considere Nó pai cujo raio seja 1. Nó filho cujo raio tenha valor 0,001. Resulta em 1000 expansões 32

Algoritmo SampleBL V-Onion-tree Dois novos métodos de particionamento: Expansão baseada em quantidade Número de expansões não pode exceder a quantidade n de elementos a ser inserida em um dado nível do índice Expansão baseada em média Numero de Regiões = n/2 ExpMax = (n/2 4)/3 Assume que os n elementos a serem inseridos em um nível irão ser armazenados nos níveis inferiores do índice M1: distância média do pivô s1 aos demais elementos M2: distância média do pivô s2 aos demais elementos Número de expansões deve apresentar maior raio aproximadamente (m1+m2)/2 33

Proposta de Bulk-Loading Algoritmos desenvolvidos: GreedyBL SampleBL HeightBL 34

Algoritmo HeightBL - Características Top-Down. Baseado em estimativa da altura do índice. Obter a Onion-tree tal que não ultrapasse a altura estimada. 35

Algoritmo HeightBL - Características Top-Down. Baseado em estimativa da altura do índice. Obter a Onion-tree tal que não ultrapasse a altura estimada. Objetivo Construir uma estrutura preenchida 36

Algoritmo HeightBL - Características Top-Down. Baseado em estimativa da altura do índice. Obter a Onion-tree tal que não ultrapasse a altura estimada. Objetivo Construir uma estrutura preenchida Escolher pivôs que obtenham uma Onion-tree que possua altura aproximadamente igual à altura estimada Fórmula a ser minimizada 37

Algoritmo HeightBL - Características Top-Down. Baseado em estimativa da altura do índice. Obter a Onion-tree tal que não ultrapasse a altura estimada. Objetivo Construir uma estrutura com altura controlada Amostragem Estimativa Escolher pivôs que obtenham uma Onion-tree que possua altura aproximadamente igual à altura estimada Fórmula a ser minimizada 38

Algoritmo HeightBL n número de elementos h- altura 39

Algoritmo HeightBL Amostragem Etapa de amostragem Seleção de pivôs Etapa de particionamento Criação de um nó Avaliação f(x)... 40

Etapa de amostragem Algoritmo HeightBL Amostragem Seleção de pivôs Conjunto de dados inicial N = 22 Expansões: 0 Altura estimada: 3 41

Etapa de amostragem Algoritmo HeightBL Amostragem Seleção de pivôs Etapa de Amostragem m_sup m_inf med Quantidade de amostras: 2 < N < dimensionalidade 42

Algoritmo HeightBL Pivôs da Amostra Avaliação f(x) IV II I III s5 s12 Pivôs: s5, s12 Distribuição I 13 II- 4 III- 3 IV- 0 Particionamento N = 22 Expansões: 0 Altura estimada: 3 Altura Estimada I: 3 Altura Estimada II: 2 Altura Estimada III: 2 Altura Estimada IV: 0 Avaliação 43

Algoritmo HeightBL Pivôs da Amostra Avaliação f(x) IV II I III s1 s2 Pivôs: s1, s2 Distribuição I 4 II- 5 III- 4 IV- 7 Particionamento Avaliação N = 22 Expansões: 0 Altura estimada: 3 Altura Estimada I: 2 Altura Estimada II: 2 Altura Estimada III: 2 Altura Estimada IV: 2 44

Algoritmo HeightBL Criação de um nó 5. Escolher o par de pivôs que minimiza a função objetivo IV II I III s1 s2 Pivôs: s1, s2 Distribuição I 4 II- 5 III- 4 IV- 7 Particionamento s1 s2 Avaliação 45

Algoritmo HeightBL Recursão IV II I III s1 s2 Recursão Enquanto Região possuir mais que dois elementos 1 2 46

Roteiro Fundamentação Teórica Trabalhos Correlatos Proposta Validação Conclusão 47

Validação L 2 7 Expansões Dynamic time warping 7 Expansões L 2 11 Expansões Comparação Algoritmo de bulk-loading para F-Onion-tree e V-Onion-tree Inserção um-a-um da F-Onion-tree e da V-Onion-tree 48

Validação Medidas Tempo de construção Número de cálculos de distância para construção Tamanho do índice Tempo de consulta Número de cálculos de distância na consulta 500 Consultas 500 elementos como centro de consultas Resultados destacados: SampleBL HeightBL Range 1% a 10% K 2 a 20 Configuração Intel Core i7 2.67GHz Memória RAM 12 Gb Disco Rígido de 1 TB Resultados Gerais F-Onion-tree V-Onion-tree 49

Validação Construção do índice Resultados Gerais Inserção um-a-um é de 5% a 87% mais rápida Inserção um-a-um realiza 29% a 55% menos cálculos de distância Inserção um-a-um SampleBL HeightBL Inserção um-a-um SampleBL HeightBL Tempo gasto de construção do índice Número de cálculos de distância para construção do índice 50

Validação Tamanho do índice Resultados Gerais Algoritmos de bulk-loading garantem de 9% a 88% de economia de espaço de armazenamento do tamanho do índice Inserção um-a-um SampleBL HeightBL Tamanho do índice 51

Validação Consultas por abrangência Resultados Gerais Algoritmos de bulk-loading gastaram de 9% a 99% menos tempo Algoritmos de bulk-loading requereram de 16% a 99% menos cálculos de distância Inserção um-a-um SampleBL Tempo gasto para executar consultas por abrangência HeightBL Inserção um-a-um SampleBL HeightBL Número de cálculos de distância em consultas por abrangência 52

Validação Consultas aos k-vizinhos mais próximos Resultados Gerais Algoritmos de bulk-loading gastaram de 9% a 63% menos tempo Algoritmos de bulk-loading requereram de 13% a 86% menos cálculos de distância Inserção um-a-um SampleBL HeightBL Inserção um-a-um SampleBL HeightBL Tempo gasto para executar consultas aos k-vizinhos mais próximos Número de cálculos de distância em consultas aos k-vizinhos mais próximos 53

Validação Resultados Específicos SampleBL x HeightBL HeightBL De 2% a 58% menos memória. De 6% a 43% menos cálculos de distância para construção do índice De 3% a 75% menos tempo para construção do índice SampleBL De -8% a 64% menos cálculos de distância em consultas. De -15% a 67% menos tempo em consultas. Bulk-loading para F-Onion-tree x Bulk-loading para V-Onion-tree Ganhos aproximadamente iguais. Método de particionamento dos algoritmos de bulk-loading para a V-Onion-tree foram o diferencial. 54

Roteiro Fundamentação Teórica Trabalhos Correlatos Proposta Validação Conclusão 55

Conclusão GreedyBL Abordagem gulosa. Base para a criação dos demais algoritmos propostos. SampleBL Etapa de amostragem. Novo método de particionamento da V-Onion-tree. HeightBL Estimativa da altura final da Onion-tree. Resultados positivos em relação à inserção um-a-um Tamanho do índice gerado. Tempo de processamento de consultas. Número de cálculos de distâncias. 56

Obrigado Algoritmos de bulk-loading para o método de acesso métrico Onion-tree http://www.icmc.usp.br/img/novafaixa.png 57