34
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani Exact Indexing of Dynamic Time Warping Eamonn Keogh Computer Science & Engineering Department University of California - Riverside Riverside,CA 92521 [email protected]

“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

Embed Size (px)

Citation preview

Page 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

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

Exact Indexing of Dynamic Time Warping

Exact Indexing of Dynamic Time Warping

Eamonn KeoghComputer Science & Engineering Department

University of California - RiversideRiverside,CA 92521

[email protected]

Page 2: “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

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

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

Page 3: “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

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

A cosa serve il confronto delle Serie Temporali?

ClusteringClustering ClassificazioneClassificazione

Regole AssociativeRegole Associative

10

s = 0.5c = 0.3

Query

MATCH

Page 4: “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

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

Confronto Misura:Euclidea VS Dynamic Time Warping

Asse Temporale Fisso

Asse Temporale “Warped”

Le Sequenze sono allineate “uno-a-uno”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 eclassificazione è più elevato(un ordine di grandezza nelle valutazioniempiriche presenti nell’articolo)

Limiti della distanza Euclidea:Non permette allineamenti per serie fuori fase Il tasso medio di errore per clustering eclassificazione è più elevato(un ordine di grandezza nelle valutazioniempiriche presenti nell’articolo)

Dynamic Time WarpingDynamic Time Warping

Page 5: “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

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

Calcolo della DTW (1)wp(i,j) = d(qi,cj) + min{wp(i-1,j-1) , wp(i-1,j ) , wp(i,j-1) }wp(i,j) = d(qi,cj) + min{wp(i-1,j-1) , wp(i-1,j ) , wp(i,j-1) }

C

Q

Percorso di Warping w

Si costruisce una matrice perAllineare le due serie cercandoil percorso ottimale che soddisfii vincoli di:

•Inizio-Fine•Continuità •Monotonicità

Si costruisce una matrice perAllineare le due serie cercandoil percorso ottimale che soddisfii vincoli di:

•Inizio-Fine•Continuità •Monotonicità

i,ji,j-1

i-1,j-1i-1,j

Page 6: “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

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

Calcolo della DTW (2)

Percorsodi 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:

K

k kwCQDTW 1min),( K

k kwCQDTW 1min),(

Page 7: “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

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

Alcune applicazioni

0 10 20 30 40 50 60 70 80 90

0 10 20 30 40 50 60 70 80-4

-3

-2

-1

0

1

2

3

4

Linguaggio dei Segni

0 50 100 150 200 250 300-3

-2

-1

0

1

2

3

4

Tracciati

Rilevamento Parole

Motion Capture

Profili

Foglie

Controllo

2-Pattern

Page 8: “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

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

Tasso di Errore

0

5

10

1520

25

30

35

Parole Segni MC Tracciati Foglie Profili Controllo 2-Pattern

Euclidea DTW

Errore Normalizzato

0%

25%

50%

75%

100%

Parole Segni MC Tracciati Foglie Profili Controllo 2-Pattern

Euclidea DTW

Le Prestazioni

Tempo di esecusione

1

10

100

1000

10000

100000

1000000

Parole Segni MC Tracciati Foglie Profili Controllo 2-Pattern

mse

c [log]

Euclidea DTWLa DTW è migliore della distanza Euclidea ma ha complessità:

O(nm)≈O(n2) :(

È quindi necessario migliorare le prestazioni del calcolo della DTW

Valutazioni con query 1NN1. Abbiamo una lista di N oggetti, con una etichetta di

classe. 2. Estraiamo il primo, e fingiamo di non conoscere la sua

etichetta di classe3. 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 errato5. Ripetiamo la ricerca per ogni item nella lista di N

oggetti, il numero medio di NN selezionati correttamente è la nostra precisione "leaving one out."

Page 9: “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

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

Migliorare le prestazioni (0):Indici

Gli indici per gestire oggetti in uno spazio metrico devono rispettare i seguenti assiomi:

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

Page 10: “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

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

Migliorare le prestazioni (1): Vincoli Globali

C

Q

C

Q

Fascia di Sakoe-Chiba Parallelogramma di Itakurar =

Parziale riduzione del tempo di calcoloPrevengono warping “patologici”

Parziale riduzione del tempo di calcoloPrevengono warping “patologici”

I vincoli globali limitano gli indici del percorso di warpingwk = (i,j)k tale che j-r i j+r

I vincoli globali limitano gli indici del percorso di warpingwk = (i,j)k tale che j-r i j+r

r=cost r=f(i)

Page 11: “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

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

Migliorare le prestazioni (2):Lower Bounding

Scan_Sequenziale_Lower_Bounding(Q)1. migliore_temporaneo= infinito;2. for tutte le sequenze nel database3. 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. endif10. endif11. 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

Page 12: “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

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

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

Page 13: “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

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

Misure di Lower Bound:Yi et al.

max(Q)max(Q)

min(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

Page 14: “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

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

Un nuovo Lower Bound:

LB_Keogh

Un nuovo Lower Bound:

LB_Keogh

Page 15: “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

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

Definizioni preliminari : Ui,Li

L

U

Q

U

LQ

C

Q

C

Q

Sakoe-Chiba Band

Itakura Parallelogram

Ui = max(qi-r : qi+r)Li = min(qi-r : qi+r)

Page 16: “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

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

Definizione del LB_Keogh

Cj

Cj

U

LQ

n

1iii

2

ii

ii

2

ii

j

altrimenti0

Lcse)L(c

Ucse)U(c

),CLB_Keogh(Q

n

1iii

2

ii

ii

2

ii

j

altrimenti0

Lcse)L(c

Ucse)U(c

),CLB_Keogh(Q

Si può dimostrare che:LB_Keogh(Q,C) ≤ DTW(Q,C)

Si può dimostrare che:LB_Keogh(Q,C) ≤ DTW(Q,C)

LB_Keogh è definito solamente per |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 rcostante o il parallelogramma con r funzione di i

Il LB_Keogh(Q,C) è ottenuto in due modi a seconda che si utilizzi la banda con rcostante o il parallelogramma con r funzione di i

U

LQ

Page 17: “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

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

Approssimiamo U ed L con una versione alternativa della Piecewise Aggregate Approximation (PAA), per ridurne la dimensione, e li indichiamo con e

Approssimiamo U ed L con una versione alternativa della Piecewise Aggregate Approximation (PAA), per ridurne la dimensione, e li indichiamo con e U L

Approssimazione di U ed L

iii

Nn

Nn UUU ,...,maxˆ

11

iii

Nn

Nn LLL ,...,minˆ

11

U

L

U

LQ

N

npasso N

npasso

Page 18: “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

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

Calcolo del LB approssimato per i candidati

N

1iii

2

ii

ii

2

ii

j

altrimenti0

Lcse)Lc(

Ucse)Uc(

N

n)CLB_PAA(Q, ˆˆ

ˆˆ

N

1iii

2

ii

ii

2

ii

j

altrimenti0

Lcse)Lc(

Ucse)Uc(

N

n)CLB_PAA(Q, ˆˆ

ˆˆ

Si può dimostrare che:LB_PAA(Q,C ) ≤ LB_Keogh(Q,C)

Si può dimostrare che:LB_PAA(Q,C ) ≤ LB_Keogh(Q,C)

0 20 40 60 80 100 120 140

C

C

c1

c2

c3

c4

c5

c6

c7

c8

i

ijjn

Ni

Nn

Nn

cC1)1(

A questo punto è possibile indicizzare i “picewise” di una serie candidata con un generico indice metrico

A questo punto è possibile indicizzare i “picewise” di una serie candidata con un generico indice metrico

Page 19: “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

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

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 = {l1, l2, …, lN} e H = {h1, h2, …, hN} 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 = {l1, l2, …, lN} e H = {h1, h2, …, hN} sono gli estremi inferiore e superiore della diagonale di R.

Applichiamo la PAA ad ogni serie da indicizzareApplichiamo la PAA ad ogni serie da indicizzare

h1

h2

hi

l1

l2

li

Page 20: “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

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

Indicizzazione (2)

N

iiiii

iiii

altrimenti

LhseLh

UlseUl

N

n1

2

2

0

ˆ)ˆ(

ˆ)ˆ(

N

iiiii

iiii

altrimenti

LhseLh

UlseUl

N

n1

2

2

0

ˆ)ˆ(

ˆ)ˆ(

),( RQMINDIST ),( RQMINDIST

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

Page 21: “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

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

Cosa abbiamo visto

• Come si determina un lower bound per la DTW

• Come si indicizzano le serie temporali

Page 22: “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

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

RangeSearch(Q, ε, T)RangeSearch(Q, ε, T) Variable queue: MinPriorityQueue;Variable list: temp; 1.     queue.push(root_node_of_index, 0);2.     while not queue.IsEmpty() do3.     top = queue.Top();4.     for each time series C in temp such that DTW(Q,C) top.dist5.     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 C10.  Retrieve full sequence C from database;11.  temp.insert(C, DTW(Q,C));12.  else if top is a leaf node13.  for each data item C in top14.  queue.push(C, LB_PAA(Q, ));15.  else // top is a non-leaf node16.  for each child node U in top17.  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 Uelse // 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

L’indice così definito può essere utilizzato in una classica struttura R-Tree

C

C

Query che utilizzano le strutture proposte

K-NNSearch (Q,K)K-NNSearch (Q,K)

Page 23: “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

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

Valutazioni EmpiricheValutazioni Empiriche

Page 24: “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

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

Prestazioni di pruning (1)

database nel oggetti di NumeroDTW della calcolo il richiedononon che oggetti di NumeroP database nel oggetti di NumeroDTW della calcolo il richiedononon che oggetti di NumeroP

Calcolo di P per ogni dataset (di 32):1. Estrazione di 50 serie di lunghezza 2562. Selezione di una query tra le 50 serie3. Ricerca del “best match” tra le 49 restanti usando l’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 2562. Selezione di una query tra le 50 serie3. Ricerca del “best match” tra le 49 restanti usando l’algoritmo di scan sequenziale

(in realtà non esegue lo scan sequenziale delle serie ma ne fa prima un sorting)

0 ≤ P ≤ 10 ≤ P ≤ 1

Page 25: “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

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

Prestazioni di pruning (2)

Dimensione del Database

Dimensione del Database

Pre

stazi

on

i d

i Pru

nin

g P

Pre

stazi

on

i d

i Pru

nin

g P

LB_KimLB_YiLB_Keogh

Lunghezza della QueryLunghezza della QueryPre

stazi

on

i d

i Pru

nin

g P

Pre

stazi

on

i d

i Pru

nin

g P

Page 26: “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

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

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

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)

esequenzialscan con query della esecuzione di medio Tempo

indicel' usandoquery della esecuzione di medio TempoCosto di CPUNormalizzato

=

Page 27: “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

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

Prestazioni temporali di scan (2)

Cost

o d

i C

PU

Norm

aliz

zato

Cost

o d

i C

PU

Norm

aliz

zato

210 212 214 216 218 220

Mixed Bag

0

0.2

0.4

0.6

0.8

1

210 212 214 216 218 220

Random Walk

LScanLB_Keogh

LScanLB_Keogh

Numero di Oggetti nel Database Numero di Oggetti nel Database

Page 28: “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

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

ConclusioniConclusioni

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.

Page 29: “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

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

Implementazioni di SuccessoImplementazioni di Successo

Page 30: “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

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

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.

Page 31: “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

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

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

Page 32: “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

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

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.

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…Grease is

the word…

CASO III

Page 33: “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

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

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

Page 34: “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

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

Un ringraziamento speciale a Eamonn KeoghEamonn Keogh per il

supporto ed il materiale che ci ha fornito.

Un ringraziamento speciale a Eamonn KeoghEamonn Keogh per il

supporto ed il materiale che ci ha fornito.