La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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.

Presentazioni simili


Presentazione sul tema: "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."— Transcript della presentazione:

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); AESA (Approximating and Eliminating Search Algorithm); LAESA (Linear AESA); LAESA (Linear AESA); Spaghettis; Spaghettis; Fixed Array Queries; 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 alberi; Indici basati su pivot. 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; positività: d(x,y)≥0, d(x,y)=0  x = y; simmetria: d(x,y) = d(y,x); simmetria: d(x,y) = d(y,x); disuguaglianza triangolare: d(x,y) ≤ d(x,z) + d(z,y). 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 k*n 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 => 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(n 2 ) n(n-1)/2 Idea di base: funzionamento del tutto simile agli altri algoritmi k-NN: Fasi di approximating ed eliminating: definizione di un lower bound sul quale eseguire il pruning. Definizione di prototipi attivi (a), selezionati (s) ed eliminati.

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(n 2 ); 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 dell’elemento di P-B, con distanza cumulata massima dall’ultimo elemento selezionato in B

11 LAESA (Linear AESA) Algoritmo di ricerca (esempio 1-NN query): Aggiornamento array di pruning solo per s B Doppia condizione per il pruning di p B Distinguo tra: p B e p 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 < n); Leggera crescita del numero di distanze calcolate (LAESA ≈ 1.5 AESA).

14 Spaghettis Idea di base: PBT lavorano su spazi vettoriali k- dimensionali => una query può essere vista come un ipercubo k-dimensionale; Perché un punto x faccia parte della soluzione: |d(x,p i )-d(q,p i )|≤r p i Scomponendo, lungo ogni coordinata i: x i [a i,b i ] dove: a i = d(q,p i ) – r, b i = d(q,p i ) + 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 => riduzione tempo di ricerca elemento: O(log n) => riduzione overhead di CPU; ricerca binaria negli array => riduzione tempo di ricerca elemento: O(log n) => riduzione overhead di CPU; ricerca senza successo => abbandono presto; ricerca senza successo => abbandono presto; Svantaggi: maggior complessità dovuta alla creazione dell’indice.

16 Fixed Queries Arrays Novità: crescita sublineare dell’overhead 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,p 1 ) d(q,p 2 ) d(q,p 3 ) 113455233456133446 k=1 k=2 k=3 Ricerca binaria nell’array => confronto tra interi => extra- CPU time = costo ricerca = O(log n); Ricerca binaria nell’array => confronto tra interi => extra- CPU time = costo ricerca = O(log n); Crescita complessità preprocessing per l’ordinamento dell’array: Crescita complessità preprocessing per l’ordinamento dell’array: 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. Nell’esempio: k=4, {d(q,p 1 ),…,d(q,p 4 )}={3,4,5,4} e r=2: prendo il pivot p 1 : per ogni valore intero i contenuto in [d(q, p 1 )-r, d(q, p 1 )+r] cerco nell’array i punti x t.c. d(x,p 1 ) = i; prendo il pivot p 1 : per ogni valore intero i contenuto in [d(q, p 1 )-r, d(q, p 1 )+r] cerco nell’array i punti x t.c. d(x,p 1 ) = i; questi punti costituiscono la lista dei candidati provvisoria; questi punti costituiscono la lista dei candidati provvisoria; Itero la ricerca per p 2, p 3, …, p k. Itero la ricerca per p 2, p 3, …, p k.

18 Verifica prestazioni e conclusioni Paragone tra k-AESA e metodi “esaustivi”: n = numero distanze calcolate col metodo esaustivo; n = numero distanze calcolate col metodo esaustivo; T ES = tempo di calcolo “esaustivo”; T ES = tempo di calcolo “esaustivo”; H = misura relativa dell’approssimazione introdotta usando la disuguaglianza triangolare. H = misura relativa dell’approssimazione introdotta usando la disuguaglianza triangolare. Il tasso di errore cresce con H; Il tasso di errore cresce con H; T/T ES e NC/n decrescono con H, perché ad una misura più larga corrispondono minor accuratezza e significatività, ma maggior velocità d’esecuzione. T/T ES e NC/n decrescono con H, perché ad una misura più larga corrispondono minor accuratezza e significatività, ma maggior velocità d’esecuzione.

19 Verifica prestazioni e conclusioni Confronto k-AESA – k-LAESA: Il numero di distanze calcolate è indipendente dal numero dei prototipi; Il numero di distanze calcolate è indipendente dal numero dei prototipi; la dimensionalità come fattore molto influente; la dimensionalità come fattore molto influente; si nota il leggero peggioramento delle prestazioni di LAESA. 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; Il numero di dimensioni è un fattore ancora determinante; non bisogna dimenticare l’errore introdotto con l’uso di N p pivot; non bisogna dimenticare l’errore introdotto con l’uso di N p pivot; in generale N p troppo grande non porta ad una corrispondente crescita di significatività. in generale N p troppo grande non porta ad una corrispondente crescita di significatività.


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

Presentazioni simili


Annunci Google