La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


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

1 “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 & Engineering Department University of California - Riverside Riverside,CA 92521 eamonn@cs.ucr.edu

2 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Argomenti trattati A cosa serve il confronto delle Serie Temporali? Dynamic Time Warping Confronto tra Distanze Lower Bound del Dynamic Time Warping Indicizzazione del Dynamic Time Warping Valutazioni Sperimentali Conclusioni Applicazioni

3 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 A cosa serve il confronto delle Serie Temporali? Clustering Classificazione Regole Associative 10  s = 0.5 c = 0.3 Query MATCH

4 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Confronto  Misura: Euclidea VS Dynamic Time Warping Asse Temporale Fisso Asse Temporale “Warped” Le Sequenze sono allineate “uno-a-uno” Sono possibili allineamenti non-lineari (uno-molti e molti-uno). Sono possibili allineamenti non-lineari (uno-molti e molti-uno). Limiti della distanza Euclidea: Non permette allineamenti per serie fuori fase Il tasso medio di errore per clustering e classificazione è più elevato (un ordine di grandezza nelle valutazioni empiriche presenti nell’articolo) Limiti della distanza Euclidea: Non permette allineamenti per serie fuori fase Il tasso medio di errore per clustering e classificazione è più elevato (un ordine di grandezza nelle valutazioni empiriche presenti nell’articolo) Dynamic Time Warping

5 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Calcolo della DTW (1) wp(i,j) = d(q i,c j ) + min{ wp (i-1,j-1), wp (i-1,j ), wp (i,j-1) } C Q Percorso di Warping w Si costruisce una matrice per Allineare le due serie cercando il percorso ottimale che soddisfi i vincoli di: Inizio-Fine Continuità Monotonicità Si costruisce una matrice per Allineare le due serie cercando il percorso ottimale che soddisfi i vincoli di: Inizio-Fine Continuità Monotonicità i,j i,j-1 i-1,j-1 i-1,j

6 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Calcolo della DTW (2) Percorso di Warp w E’ possibile determinare un numero esponenziale di warping paths che soddisfino i vincoli suddetti. E’ interessante solo il path che minimizza i warping cost: E’ possibile determinare un numero esponenziale di warping paths che soddisfino i vincoli suddetti. E’ interessante solo il path che minimizza i warping cost:

7 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Alcune applicazioni 0102030405060708090 01020304050607080 -4 -3 -2 0 1 2 3 4 Linguaggio dei Segni Tracciati Rilevamento Parole Motion Capture Profili Foglie Controllo 2-Pattern

8 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Le Prestazioni La DTW è migliore della distanza Euclidea ma ha complessità: O(nm)≈O(n 2 ) :( È quindi necessario migliorare le prestazioni del calcolo della DTW Valutazioni con query 1NN 1.Abbiamo una lista di N oggetti, con una etichetta di classe. 2.Estraiamo il primo, e fingiamo di non conoscere la sua etichetta di classe 3.Ricerchiamo il suo NN, nella lista degli N-1 oggetti restanti. 4.Se il NN è nella stessa classe, lo abbiamo selezionato correttamente, se non lo è la ricerca da esito errato 5.Ripetiamo la ricerca per ogni item nella lista di N oggetti, il numero medio di NN selezionati correttamente è la nostra precisione "leaving one out."

9 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Migliorare le prestazioni (0): Indici Gli indici per gestire oggetti in uno spazio metrico devono rispettare i seguenti assiomi: d(x,y) ≥ 0, d(x,y) = 0  x=y (positività) d(x,y) = d(y,x) (simmetria) d(x,y) ≤ d(x,z) + d(z,y) (disuguaglianza triangolare) d(x,y) ≥ 0, d(x,y) = 0  x=y (positività) d(x,y) = d(y,x) (simmetria) d(x,y) ≤ d(x,z) + d(z,y) (disuguaglianza triangolare) La DTW non rispetta la disuguaglianza triangolare Impossibile usare indici metrici!! La DTW non rispetta la disuguaglianza triangolare Impossibile usare indici metrici!!

10 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Migliorare le prestazioni (1): Vincoli Globali C Q Fascia di Sakoe-Chiba Parallelogramma di Itakura r =r = Parziale riduzione del tempo di calcolo Prevengono warping “patologici” Parziale riduzione del tempo di calcolo Prevengono warping “patologici” I vincoli globali limitano gli indici del percorso di warping w k = (i,j) k tale che j-r  i  j+r I vincoli globali limitano gli indici del percorso di warping w k = (i,j) k tale che j-r  i  j+r r=cost r=f(i)

11 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Migliorare le prestazioni (2): Lower Bounding Scan_Sequenziale_Lower_Bounding(Q) 1. migliore_temporaneo= infinito; 2. for tutte le sequenze nel database 3. dist_LB = misura_lower_bound(Ci,Q); 4. if (dist_LB < migliore_temporaneo) 5. vera_dist = DTW(Ci,Q); 6.if (vera_dist < migliore_temporaneo) 7. migliore_temporaneo = vera_dist; 8. indice_confronto_migliore = i; 9. endif 10. endif 11. endfor Scandisce tutte sequenze e calcola una misura di LB Se la DTW è la “migliore”, individua il miglior match Se dist_LB è una “buon” LB, calcola la DTW della sequenza

12 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Misure di Lower Bound: Kim et al. A B C D Estrae una tupla di 4 valori {A,B,C,D} calcolati nei punti notevoli Il lower bound è il massimo delle differenze tra il primo, l’ultimo, il massimo e il minimo valore delle due serie LB_Kim=max {A,B,C,D} Estrae una tupla di 4 valori {A,B,C,D} calcolati nei punti notevoli Il lower bound è il massimo delle differenze tra il primo, l’ultimo, il massimo e il minimo valore delle due serie LB_Kim=max {A,B,C,D} Q C

13 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Misure di Lower Bound: Yi et al. max(Q) min(Q) La somma delle linee verticali rappresenta il contributo minimo per punti corrispondenti al calcolo della DTW Tutti i punti di Ci>max(Q) e Ci<min(Q) contribuiscono al LB_Yi La somma delle linee verticali rappresenta il contributo minimo per punti corrispondenti al calcolo della DTW Tutti i punti di Ci>max(Q) e Ci<min(Q) contribuiscono al LB_Yi Q C

14 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Un nuovo Lower Bound: LB_Keogh

15 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Definizioni preliminari : Ui,Li L U Q U L Q C Q C Q Sakoe-Chiba Band Itakura Parallelogram U i = max(q i-r : q i+r ) L i = min(q i-r : q i+r )

16 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Definizione del LB_Keogh CjCj CjCj U L Q Si può dimostrare che: LB_Keogh(Q,C) ≤ DTW(Q,C) LB_Keogh è definito solamente per |Q|=|C| Il LB_Keogh(Q,C) è ottenuto in due modi a seconda che si utilizzi la banda con r costante o il parallelogramma con r funzione di i U L Q

17 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Approssimiamo U ed L con una versione alternativa della Piecewise Aggregate Approximation (PAA), per ridurne la dimensione, e li indichiamo con e Approssimazione di U ed L U L Q

18 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Calcolo del LB approssimato per i candidati Si può dimostrare che: LB_PAA(Q,C ) ≤ LB_Keogh(Q,C) 020406080100120140 C C c1c1 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 A questo punto è possibile indicizzare i “picewise” di una serie candidata con un generico indice metrico

19 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Indicizzazione (1) Indichiamo con U il generico nodo foglia del nostro albero. Sia R il più piccolo rettangolo che contiene spazialmente ogni punto di C. Ad ogni nodo foglia U è associato il minimun bounding rectangle R = (L, H). R è il MBR in cui L = {l 1, l 2, …, l N } e H = {h 1, h 2, …, h N } sono gli estremi inferiore e superiore della diagonale di R. Indichiamo con U il generico nodo foglia del nostro albero. Sia R il più piccolo rettangolo che contiene spazialmente ogni punto di C. Ad ogni nodo foglia U è associato il minimun bounding rectangle R = (L, H). R è il MBR in cui L = {l 1, l 2, …, l N } e H = {h 1, h 2, …, h N } sono gli estremi inferiore e superiore della diagonale di R. Applichiamo la PAA ad ogni serie da indicizzare h1h1 h2h2 hihi l1l1 l2l2 lili

20 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Indicizzazione (2) L’ultimo passo per l’indicizzazione è la definizione di una distanza che restituisca un lower bound della misura tra la query Q ed R Definiamo la funzione MINDIST che restituisce la distanza tra la query Q ed R (MBR definito precedentemente). In questo modo possiamo “navigare” l’abero calcolando le MINDIST dei nodi, fino ad attivare alle foglie in cui risiedono le serie approssimate L’ultimo passo per l’indicizzazione è la definizione di una distanza che restituisca un lower bound della misura tra la query Q ed R Definiamo la funzione MINDIST che restituisce la distanza tra la query Q ed R (MBR definito precedentemente). In questo modo possiamo “navigare” l’abero calcolando le MINDIST dei nodi, fino ad attivare alle foglie in cui risiedono le serie approssimate C

21 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Cosa abbiamo visto Come si determina un lower bound per la DTW Come si indicizzano le serie temporali

22 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 RangeSearch(Q, ε, T) Variable queue: MinPriorityQueue; Variable list: temp; 1. queue.push(root_node_of_index, 0); 2. while not queue.IsEmpty() do 3. top = queue.Top(); 4. for each time series C in temp such that DTW(Q,C)  top.dist 5. Remove C from temp; 6. Add C to result; 7. if |result| = K return result ; 8. queue.Pop(); 9. if top is an PAA point C 10. Retrieve full sequence C from database; 11. temp.insert(C, DTW(Q,C)); 12. else if top is a leaf node 13. for each data item C in top 14. queue.push(C, LB_PAA(Q, )); 15. else // top is a non-leaf node 16. for each child node U in top 17. queue.push(U, MINDIST(Q,R)) // R is MBR associated with U. Algorithm KNNSearch(Q,K) if T is a non-leaf node for each child U of T if MINDIST(Q,R) ε RangeSearch(Q, ε, U); // R is MBR of U else // T is a leaf node for each PAA point C in T if LB_PAA(Q, ) ε Retrieve full sequence C from database; if DTW(Q,C)  ε Add C to result; Algorithm RangeSearch(Q, ε, T) 1. 2. 3. 4. 5. 6. 7. 8. L’indice così definito può essere utilizzato in una classica struttura R-Tree Query che utilizzano le strutture proposte K-NNSearch (Q,K)

23 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Valutazioni Empiriche

24 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Prestazioni di pruning (1) Calcolo di P per ogni dataset (di 32): 1.Estrazione di 50 serie di lunghezza 256 2.Selezione di una query tra le 50 serie 3.Ricerca del “best match” tra le 49 restanti usando l’algoritmo di scan sequenzialel’algoritmo di scan sequenziale (in realtà non esegue lo scan sequenziale delle serie ma ne fa prima un sorting) Calcolo di P per ogni dataset (di 32): 1.Estrazione di 50 serie di lunghezza 256 2.Selezione di una query tra le 50 serie 3.Ricerca del “best match” tra le 49 restanti usando l’algoritmo di scan sequenzialel’algoritmo di scan sequenziale (in realtà non esegue lo scan sequenziale delle serie ma ne fa prima un sorting) 0 ≤ P ≤ 1

25 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Prestazioni di pruning (2) Dimensione del Database Prestazioni di Pruning P LB_Kim LB_Yi LB_Keogh Lunghezza della Query Prestazioni di Pruning P

26 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Datasets: Mixed Bag: Tutti i 32 datasets raccolti insieme. 763,270 oggetti Random Walk: Il più comune dataset di test in letteratura. 1,048,576 oggetti Datasets: Mixed Bag: Tutti i 32 datasets raccolti insieme. 763,270 oggetti Random Walk: Il più comune dataset di test in letteratura. 1,048,576 oggetti Sistema: processore AMD Athlon 1.4 GHZ, con 512 MB di memoria fisica e 57.2 GB di memoria secondaria. L’indice usato risiede in un R-Tree Algoritmi: Sono stati comparate le tecniche di scan lineari proposte. LB_Yi non ha un metodo di indicizzazione. LB_Kim non supera mai lo scan lineare Algoritmi: Sono stati comparate le tecniche di scan lineari proposte. LB_Yi non ha un metodo di indicizzazione. LB_Kim non supera mai lo scan lineare Prestazioni temporali di scan (1) Costo di CPU Normalizzato =

27 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Prestazioni temporali di scan (2) Costo di CPU Normalizzato 2 10 2 12 2 14 2 16 2 18 2 20 Mixed Bag 0 0.2 0.4 0.6 0.8 1 2 10 2 12 2 14 2 16 2 18 2 20 Random Walk LScan LB_Keogh LScan LB_Keogh Numero di Oggetti nel Database

28 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Conclusioni Il DTW è una misura di distanza migliore della distanza Euclidea. Abbiamo illustrato un Lower Bound efficiente ed efficace per il DTW. Abbiamo mostrato come indicizzare la tecnica di LB. La completa valutazione empirica ha dimostrato la validità dell’approccio.

29 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Implementazioni di Successo

30 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 R. Manmatha, T. M. Rath: Indexing of Handwritten Historical Documents - Recent Progress. In: Proc. of the 2003 Symposium on Document Image Understanding Technology (SDIUT), Greenbelt, MD, April 9-11, 2003, pp. 77-85. T. M. Rath and R. Manmatha (2002): Lower-Bounding of Dynamic Time Warping Distances for Multivariate Time Series. Technical Report MM-40, Center for Intelligent Information Retrieval, University of Massachusetts Amherst. CASO I La tecninca di lower bounding è stata usata per supportare l’indicizzazione di enormi archivi di testi manoscritti. Sorprendentemente il DTW ha prestazioni migliori di modelli più complessi. La tecninca di lower bounding è stata usata per supportare l’indicizzazione di enormi archivi di testi manoscritti. Sorprendentemente il DTW ha prestazioni migliori di modelli più complessi.

31 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 La tecnica di lower bounding è stata utilizzata dalla ChevronTexaco per confrontare dati sismici. Grazie a Steve Zoraster per l’immagine La tecnica di lower bounding è stata utilizzata dalla ChevronTexaco per confrontare dati sismici. Grazie a Steve Zoraster per l’immagine CASO II

32 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Ning Hu, Roger B. Dannenberg (2003). Polyphonic Audio Matching and Alignment for Music Retrieval Yunyue Zhu, Dennis Shasha (2003). Query by Humming: a Time Series Database Approach, SIGMOD La tecnica di lower bounding è stata usata per supportare le “query by humming”, da numerosi gruppi di ricerca. I migliori 3 riscontri Bee Gees: Grease Robbie Williams: Grease Sarah Black: Heatwave I migliori 3 riscontri Bee Gees: Grease Robbie Williams: Grease Sarah Black: Heatwave Grease is the word… CASO III

33 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 La tecnica di lower bounding è stata utilizzata per indicizzare i clip ottenuti dal motion capture. Grazie a Marc Cardle per questo esempio La tecnica di lower bounding è stata utilizzata per indicizzare i clip ottenuti dal motion capture. Grazie a Marc Cardle per questo esempio CASO IV Marc Cardle :“Automate Motion Editing” (2004) University of Cambridge, Computer Laboratory, Technical Report

34 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani 17/03/06 Eamonn Keogh Un ringraziamento speciale a Eamonn Keogh per il supporto ed il materiale che ci ha fornito.


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

Presentazioni simili


Annunci Google