Studio degli indici per query di similarit - PowerPoint PPT Presentation

About This Presentation
Title:

Studio degli indici per query di similarit

Description:

AESA (Approximating and Eliminating Search Algorithm) Definisce una matrice triangolare [n x n] nella fase di preprocessing: O(n2) n(n-1) /2 Idea ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 21
Provided by: Mario328
Category:

less

Transcript and Presenter's Notes

Title: Studio degli indici per query di similarit


1
Studio degli indici per query di similarità
basati su matrici di distanze
  • Esame di Sistemi Informativi per le Decisioni L-S
  • Presentato da
  • Ing. Marco Patella
    Mario Masciulli

2
Indice
  • Introduzione al problema
  • Indici per query di similarità basati su alberi
  • Indici per query di similarità basati su pivot
  • Esempi
  • AESA (Approximating and Eliminating Search
    Algorithm)
  • LAESA (Linear AESA)
  • Spaghettis
  • Fixed Array Queries
  • Verifica prestazioni e conclusioni.

3
Introduzione
  • Evoluzione della tecnologia dei DB
  • Maggiori difficoltà di reperimento informazioni
  • Indicizzazione dello spazio (vettoriale o
    metrico)
  • Settore di studio molto vitale
  • Due metodologie principali
  • Indici basati su alberi
  • Indici basati su pivot.

4
Indici basati su alberi
  • R-tree
  • Indice multidimensionale, deriva da B-tree
  • Organizza gli oggetti in regioni (MBR)
  • Indice dinamico, bilanciato, paginato
  • Informazioni memorizzate nelle entries
  • E(key,ptr)
  • Ricerca oggetti top-down
  • Problema lavora solo su spazi vettoriali

5
Indici basati su alberi
  • M-tree
  • Evoluzione di R-tree basata su distanze metriche
  • Black box per il calcolo delle distanze
  • Condizioni di lavoro in uno spazio metrico
  • positività d(x,y)0, d(x,y)0 ? x y
  • simmetria d(x,y) d(y,x)
  • disuguaglianza triangolare d(x,y) d(x,z)
    d(z,y).
  • Uso di entries per memorizzare informazioni
  • E(RoutObjFeat, CovRadius, distP, ptr)
  • Vantaggio circa il 40 di calcoli in meno

6
Indici basati su pivot
  • Pivot based techniques (I)
  • Caratteristiche generali
  • Mapping da spazio metrico a vettoriale in k
    dimensioni
  • D(x,y)d(x,y)
  • Fase di preprocessing calcolo di kn distanze
  • Def. complessità interna k numero di distanze
    da calcolare per ogni esecuzione query
  • Def. complessità esterna numero di punti per cui
    non vale la condizione di pruning.

7
Indici basati su pivot
  • Pivot based techniques (II)
  • Caratteristiche generali
  • Obj trade off tra complessità interna (numero di
    pivot) ed esterna gt scelta del numero ottimale
    di pivot
  • Sulla complessità esterna si interviene con
    politiche di pruning più efficaci.
  • Definizioni preliminari
  • spazio metrico E(U,d)
  • P E insieme dei prototipi
  • y E test sample.

8
AESA (Approximating and Eliminating Search
Algorithm)
  • Definisce una matrice triangolare n x n nella
    fase di preprocessing
  • O(n2) n(n-1)/2
  • Idea di base funzionamento del tutto simile agli
    altri algoritmi k-NN

Definizione di prototipi attivi (a), selezionati
(s) ed eliminati.
Fasi di approximating ed eliminating definizione
di un lower bound sul quale eseguire il pruning.
9
AESA (Approximating and Eliminating Search
Algorithm)
  • Vantaggi
  • La forza del pruning cresce man mano che si
    costruisce la soluzione
  • La distanza è calcolata solo per i prototipi
    selezionati
  • Soluzione trovata molto accurata (k n).
  • Svantaggi
  • Complessità spaziale e temporale O(n2)
  • Overhead dipendente linearmente dalla dimensione
    di P.

10
LAESA (Linear AESA)
  • Evoluzione di AESA con preprocessing lineare
  • Scelta di m prototipi base B (pivot) con B P
  • Creazione matrice m x n delle distanze
  • O(mn)
  • Scelta prototipi base

Ricerca iterativa dellelemento di P-B, con
distanza cumulata massima dallultimo elemento
selezionato in B
11
LAESA (Linear AESA)
  • Algoritmo di ricerca (esempio 1-NN query)

Aggiornamento array di pruning solo per s B
Distinguo tra p B e p P-B
Doppia condizione per il pruning di p B
Due candidati ad essere selezionati b e q
12
LAESA (Linear AESA)
  • Le funzioni CHOICE e CONDITION definiscono le
    strategie di uso ed eliminazione dei prototipi
    base
  • In particolare

Scelgo sempre b, se esiste
Due esempi di politiche di eliminazione dei
prototipi base
13
LAESA (Linear AESA)
  • Vantaggi
  • Elevata riduzione della complessità spaziale e
    temporale del preprocessing O(mn).
  • Svantaggi
  • Minor accuratezza della soluzione trovata (k lt
    n)
  • Leggera crescita del numero di distanze calcolate
    (LAESA 1.5 AESA).

14
Spaghettis
  • Idea di base PBT lavorano su spazi vettoriali
    k-dimensionali gt una query può essere vista come
    un ipercubo k-dimensionale
  • Perché un punto x faccia parte della soluzione
  • d(x,pi)-d(q,pi)r pi
  • Scomponendo, lungo ogni coordinata i
  • xi ai ,bi
  • dove ai d(q,pi) r, bi d(q,pi) r
  • Nel preprocessing Spaghettis crea k arrays, uno
    per ogni dimensione (pivot).

15
Spaghettis
  • La struttura conseguente visita sequenzialmente i
    k array

Complessità temporale del preprocessing O(km)
  • Vantaggi
  • ricerca binaria negli array gt riduzione tempo
    di ricerca elemento O(log n) gt riduzione
    overhead di CPU
  • ricerca senza successo gt abbandono presto
  • Svantaggi maggior complessità dovuta alla
    creazione dellindice.

16
Fixed Queries Arrays
  • Novità crescita sublineare delloverhead con
    creazione di un indice meno pesante
  • Crea un array di kn elementi ordinati
    lessicograficamente in base alla loro distanza
    dai pivot (hp distanze discrete)

d(q,p1)
d(q,p2) d(q,p3)
1 1 3 4 5 5 2 3 3 4 5 6 1 3 3 4 4 6
k1
k2 k3
  • Ricerca binaria nellarray gt confronto tra
    interi gt extra-CPU time costo ricerca O(log
    n)
  • Crescita complessità preprocessing per
    lordinamento dellarray
  • O(kn log n)

17
Fixed Queries Arrays
  • Algoritmo per una range query.
  • Ad ogni colonna corrisponde un pivot
  • in ogni riga abbiamo le distanze di un prototipo
    dai k pivot.
  • Nellesempio k4, d(q,p1),,d(q,p4)3,4,5,4
    e r2
  • prendo il pivot p1 per ogni valore intero i
    contenuto in d(q, p1)-r, d(q, p1)r cerco
    nellarray i punti x t.c. d(x,p1) i
  • questi punti costituiscono la lista dei candidati
    provvisoria
  • Itero la ricerca per p2, p3, , pk.

18
Verifica prestazioni e conclusioni
Paragone tra k-AESA e metodi esaustivi
  • n numero distanze calcolate col metodo
    esaustivo
  • TES tempo di calcolo esaustivo
  • H misura relativa dellapprossimazione
    introdotta usando la disuguaglianza triangolare.
  • Il tasso di errore cresce con H
  • T/TES e NC/n decrescono con H, perché ad una
    misura più larga corrispondono minor accuratezza
    e significatività, ma maggior velocità
    desecuzione.

19
Verifica prestazioni e conclusioni
Confronto k-AESA k-LAESA
  • Il numero di distanze calcolate è indipendente
    dal numero dei prototipi
  • la dimensionalità come fattore molto influente
  • si nota il leggero peggioramento delle
    prestazioni di LAESA.

20
Verifica prestazioni e conclusioni
  • Determinazione numero ottimale di prototipi base
    in k-AESA
  • Il numero di dimensioni è un fattore ancora
    determinante
  • non bisogna dimenticare lerrore introdotto con
    luso di Np pivot
  • in generale Np troppo grande non porta ad una
    corrispondente crescita di significatività.
Write a Comment
User Comments (0)
About PowerShow.com