• Nenhum resultado encontrado

Para ilustrar o funcionamento da VP-Viewer em casos de uso práticos, selecionamos três conjuntos de dados reais para cobrir a maioria dos cenários da ferramenta. A Tabela 1 detalha os conjuntos de dados em termos de cardinalidade, dimensionalidade e função de distância. O conjunto CITIES é um conjunto de dados geográficos padrão, com baixa cardinalidade e dimen- sionalidade. Usamos esse conjunto para representar consultas por similaridade “controladas”, no sentido que os resultados são facilmente verificáveis e intuitivos. Já o conjunto adimensional WORDSé particularmente difícil de ser organizado, pois existe um limitante nos valores discretos que a função de distância Edit pode assumir, uma vez que os elementos de dados são palavras de mesmo tamanho. Finalmente, o conjunto ISOLET apresenta características de espaços de mé- dia/alta dimensionalidade, onde se espera que as distâncias estejam concentradas. No entanto, ao contrário do caso WORDS, os valores de distância são contínuos e espera-se que o espaço de busca possa ser organizado com alguma eficiência.

Tabela 1 – Descrição dos conjuntos de dados utilizados nos casos de uso.

Nome Card. Dim. δ Descrição: Disponível em:

CITIES 5.507 2 L2 Coordenadas de latitude e longitude de 5.507 cidades brasileiras.

ibge.gov.br

WORDS 5.757 – Edit Todos os dados são palavras da língua inglesa contendo exatamente 5 caracteres.

www-cs-faculty. stanford.edu/ ˜knuth

ISOLET 6.238 617 L2 Dados extraídos de gravações de pessoas falando cada letra do alfabeto.

archive.ics.uci. edu/ml/datasets/ isolet

Ao inicializar a VP-Viewer, os usuários podem acessar o painel principal (Figura 21) e indicar (1) a localização em disco do conjunto de dados a ser indexado, (2) a cardinalidade do conjunto de dados, (3) a dimensionalidade do conjunto, (4) a quantidade máxima de elementos em um nó-folha, (5) a função de distância a ser utilizada, (6) o método de seleção de pivôs e, por fim, (7) o parâmetro que permite o excesso de elementos em nós-folha, que pode ser escolhido como TRUE para forçar a obtenção de uma árvore balanceada, ou FALSE, caso contrário. Nesse momento, os usuários podem construir a VP-Tree ao clicar no botão “Generate”, e explorar a estrutura resultante. Apesar da VP-Viewer incluir as funções de distância L1, L2e Edit, outras funções podem ser facilmente incluídas utilizando-se a interface da biblioteca Arboretum. As

1 2 3 4 5 8 9 6 7 10 11

Figura 21 – Interface principal da VP-Viewer.

alternativas para a escolha de pivôs são “Random”, para Escolha Aleatória, “Hull Foci”, para Escolha Fecho-Convexo e “Yianilo’s SelectVP”, para Escolha Variância Máxima.

A Figura 21 ilustra duas VP-Trees diferentes, construídas para o conjunto de dados WORDS com diferentes limitações para o excesso nos nós-folha. Neste cenário, elementos empatados na mediana das distâncias para os pivôs são esperados, pois a função de distância Edit retorna me- didas discretas no intervalo [0, 5]. A Figura 21(8) mostra a VP-Tree resultante do relaxamento da limitação no excesso, o que significa que a VP-Tree pode ser desbalanceada. Nós verdes indicam que os nós-folha contém não mais do que o número máximo de elementos especificado pelo usuário. Alternativamente, uma árvore balanceada exige que os nós-filho dos nós-diretório suportem excesso de elementos, como ilustrado na Figura 21(9). Nós laranjas indicam que (i)nós-folha estão armazenando mais elementos do que o especificado pelo usuário e (ii) pode ser necessária paginação extra de disco se o número máximo de elementos por nó-folha estiver relacionado com o tamanho das páginas em disco.

Antes que o usuário mude a parametrização da VP-Tree para tentar aliviar qualquer pro- blema relacionado com o balanceamento da árvore, ele pode verificar a distribuição de distân- cias baseada em pivô na aba Node Visualization da VP-Viewer– Figura 21(10). Esse recurso permite que o usuário visualize a distribuição das distâncias em cada nó-diretório. A Figura 22 mostra um exemplo detalhado para o caso de uma VP-Tree desbalanceada construída sobre o conjunto de dados WORDS. A barra laranja no histograma representa a faixa contendo a mediana, e expressa a probabilidade de empates em termos das frequência das distâncias até o pivô. A probabilidade é recursivamente propagada para o nó mais à direita da estrutura.

Apesar da escolha de um novo método de seleção de pivôs poder diminuir o número de

Figura 22 – Distribuição de distâncias baseada em pivôs para o conjunto WORDS.

empates na mediana, a concentração de distâncias em volta da mediana também pode ser ca- racterística da função de distância, i.e., inevitável, em certos casos. Por exemplo, a Figura 23 mostra a distribuição de distância para um nó-diretório de uma VP-Tree construída para o con- junto de dados ISOLET, com o método de seleção de pivôs Escolha Variância Máxima, 800 elementos por nó-folha e permissão para que a árvore seja desbalanceada. Neste caso, devido a alta dimensionalidade do conjunto e a função de distância, a maioria das distribuições baseadas nos pivôs lembram uma Distribuição Normal, onde o comportamento das medianas é análogo

Figura 23 – Distribuição de distâncias baseada em pivôs para o conjunto ISOLET.

Figura 24 – Consulta por vizinhança no conjunto ISOLET utilizando a VP-Viewer.

ao das médias. Alterar o método de seleção de pivôs para Escolha Aleatória ou Escolha Fecho- Convexo não mudou esse comportamento da Distribuição Normal de distâncias em nenhum dos experimentos que fizemos para esse conjunto de dados.

O último aspecto para considerarmos sobre a VP-Viewer é que uma validação experimental pode ser necessária para encontrar o melhor particionamento para o índice VP-Tree. A ferra- menta permite que usuários executem consultas por abrangência e por vizinhança na aba Query Parameters – Figure 21(11). A Figura 24 ilustra uma consulta por vizinhança no conjunto de

Figura 25 – Consulta por abrangência no conjunto CITIES utilizando a VP-Viewer.

dados ISOLET, enquanto que a Figura 25 ilustra um exemplo de uma consulta por abrangência no conjunto de dados CITIES. A VP-Viewer executa as consultas com os algoritmos branch- and-bound discutidos na seção anterior e também com a solução “força-bruta”. As diferenças de desempenho entre essas rotinas são apresentadas na forma de um gráfico de barras.

Por último, a VP-Viewer rotula, na interface principal, os nós inspecionados pelo algoritmo de busca no índice como o caminho da consulta. Como resultado final, os usuários podem visualizar e interpretar os parâmetros de consulta na VP-Tree, além de comparar diferentes configurações do índice a partir da análise de seu desempenho na execução de uma (sequência de) consulta por similaridade.

Documentos relacionados