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.

Slides:



Advertisements
Presentazioni simili
Sistemi di Classificazione usando NCD
Advertisements

MATLAB Cristina Campi
Differenze nei vari linguaggi di Elisa Trifirò e Barbara Tacchino
MATLAB.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Lez. 51 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Complessita'
Alberi binari di ricerca
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Algoritmi e Strutture Dati
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
1 Introduzione Sistema di calcolo (1) Valutazione delle prestazioni (2) Metriche oggettive (3)
1 Introduzione Ottimizzazione di un sistema (per es. di calcolo) (1) Analisi dellimpatto delle varie soluzioni possibili (2) Legge di Amdhal (3) Scelta.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione SISTEMA DI CALCOLO Valutazione delle prestazioni Metriche oggettive di analisiRisultati oggettivi.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
1 Introduzione Il concetto di prestazione si presta facilmente a valutazioni soggettive, spesso fuorvianti Metriche di analisi oggettive sono utili per.
Teoria e Tecniche del Riconoscimento
RICHIAMI ELEMENTARI DI ALGEBRA MATRICIALE
Algoritmi e strutture Dati - Lezione 7
Il problema del dizionario
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
1 Querying - Parte II Modelli per la ricerca. 2 Rappresentazione e Vector Space (VS) Ogni doc. j è un vettore di valori tf idf Si può normalizzare a lunghezza.
Algoritmi e Strutture Dati III. Algoritmi di Ordinamento
Dinamica di corpi deformabili basata sulle posizioni
07/04/2003Algoritmi Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure.
Analisi delle corrispondenze
Clustering Mercoledì, 24 novembre 2004 Giuseppe Manco Readings: Chapter 8, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman Density-Based Clustering.
Intelligenza Artificiale Algoritmi Genetici
Fondamenti di Informatica
Daniel Stoilov Tesi di Laurea
Tecniche per lesecuzione efficiente di interrogazioni sul contenuto in collezioni MPEG-7 Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria.
Algoritmi Genetici Alessandro Bollini
Statistica economica (6 CFU)
“Piano” Lab 1 – Fattorizzazione LU + pivoting
Calcolo Parallelo e Distribuito
Algoritmi e Strutture Dati
Efficient Region- Based Image Retrieval di Roger Weber e Michael Mlivoncic Swiss Federal Institute of Technology (ETH) Presentazione di Laura Galli, Mauro.
Continuos Query Processing in Data Streams Using Duality of Data and Queries Hyo-Sang Lim, Jae-Gil Lee, Min-Jae Lee,Kyu-Young Whang, Il-Yeol Song GRUPPO.
Teoria degli algoritmi e della computabilità Terza giornata: Ricerca e ordinamento ottimi. P vs NP, algoritmi di approssimazione, e il potere della randomizzazione.
Sottospazi vettoriali
Sistemi e Tecnologie Informatiche Ricorsione Umberto Ferraro Petrillo.
Algoritmi e Strutture Dati Luciano Gualà
Ordinamento1 Algoritmi di ordinamento  Selection Sort  Quick Sort  Lower bound alla complessità degli algoritmi di ordinamento.
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Esigenze di memoria per un sistema di calcolo –Dati –Istruzioni Obiettivi –Raggiungere i migliori compromessi.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
“Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Exact Indexing of Dynamic Time Warping Eamonn Keogh Computer Science.
1 Ordinamento (Sorting) INPUT: Sequenza di n numeri OUTPUT: Permutazione π = tale che a 1 ’  a 2 ’  … …  a n ’ Continuiamo a discutere il problema dell’ordinamento:
Algoritmi e strutture Dati - Lezione 7 1 Algoritmi di ordinamento ottimali L’algoritmo Merge-Sort ha complessità O(n log(n))  Algoritmo di ordinamento.
Claudio Arbib Università dell’Aquila Ricerca Operativa Metodo del simplesso per problemi di distribuzione single-commodity.
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases1 GRUPPO 13: Relatore: Mengoli Dario Mengoli Dario Rovatti Fabrizio Tassoni Davide.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Efficient construction of regression trees with Range and Region Splitting Yasuhiko Morimoto, Hiromu Ishii, Shinichi Morishita (1997) Gruppo 11: Paola.
CURE: AN EFFICIENT CLUSTERING ALGORITHM FOR LARGE DATABASES GRUPPO 12 Filippo Bindi Massimiliano Ceccarini Andrea Giuliodori PRESENTAZIONE Sistemi Informativi.
Complessità Computazionale
Come migliorare le prestazioni di un codice di dinamica molecolare.
Psicometria modulo 1 Scienze tecniche e psicologiche Prof. Carlo Fantoni Dipartimento di Scienze della Vita Università di Trieste Campionamento.
Lezione n° 8 - Matrice di base. - Soluzioni di base ammissibili. - Relazione tra vertici di un poliedro e soluzioni basiche. - Teorema fondamentale della.
Logica Lezione 11, Annuncio Non si terrà la lezione di Lunedì 16 Marzo.
Transcript della presentazione:

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

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.

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.

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

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

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.

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.

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.

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.

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

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

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:

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).

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).

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.

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 ) 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)

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.

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.

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.

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à.