Title: Studio degli indici per query di similarit
1Studio 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
2Indice
- 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.
3Introduzione
- 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.
4Indici 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
5Indici 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
6Indici 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.
7Indici 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.
8AESA (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.
9AESA (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.
10LAESA (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
11LAESA (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
12LAESA (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
13LAESA (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).
14Spaghettis
- 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).
15Spaghettis
- 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.
16Fixed 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)
17Fixed 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.
18Verifica 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.
19Verifica 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.
20Verifica 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à.