Exact Indexng of Dynamc Tme Warpng Eamonn Keogh Computer Scence & Engneerng Department Unversty of Calforna - Rversde Rversde,CA 92521 eamonn@cs.ucr.edu
Argoment trattat A cosa serve l confronto delle Sere Temporal? Dynamc Tme Warpng Confronto tra Dstanze Lower Bound del Dynamc Tme Warpng Indczzazone del Dynamc Tme Warpng Valutazon Spermental Concluson Applcazon
A cosa serve l confronto delle Sere Temporal? Clusterng Classfcazone Regole Assocatve 10 s = 0.5 c = 0.3 Query MATCH
Confronto Msura: Eucldea VS Dynamc Tme Warpng Le Le Sequenze sono sono allneate uno-a-uno Asse Temporale Fsso Lmt Lmt della della dstanza Eucldea: Non Non permette allneament per per sere sere fuor fuor fase fase Il Il tasso tasso medo medo d d errore errore per per clusterng e classfcazone èpù pùelevato (un (un ordne ordne d d grandezza nelle nelle valutazon emprche present nell artcolo) DynamcTme Warpng Sono Sono possbl allneament non-lnear (uno-molt e molt-uno). Asse Temporale Warped
Calcolo della DTW (1) wp(,j) = d(q d(q,c,c j j ) + mn{wp(-1,j-1),, wp(-1,j ),, wp(,j-1) } S S costrusce una una matrce per per Allneare le le due due sere cercando l l percorso ottmale che che soddsf vncol d: d: Q C Inzo-Fne Contnutà Monotonctà,j-1-1,j-1,j -1,j Percorso d Warpng w
Calcolo della DTW (2) E E possble determnare un un numero esponenzale d d warpng paths che che soddsfno vncol suddett. E E nteressante solo solo l l pathche mnmzza warpng cost: { K k = DTW ( Q, C) = mn 1 wk Percorso d Warp w
Alcune applcazon Fogle Profl 4 3 Moton Capture 0 10 20 30 40 50 60 70 80 90 2 1 0-1 -2-3 -4 0 10 20 30 40 50 60 70 80 Lnguaggo de Segn 4 3 2 Traccat Controllo 1 0-1 -2-3 0 50 100 150 200 250 300 2-Pattern Rlevamento Parole
100% 35 30 75% 25 20 15 10 50% 25% 5 0 0% Errore Normalzzato Tasso d Errore Eucldea Eucldea DTW DTW Parole Segn MC Traccat Fogle Profl Controllo 2- Parole Segn MC Traccat Fogle Profl Controllo 2-Pattern Le Prestazon Valutazon con query 1NN 1. Abbamo una lsta d N oggett, con una etchetta d classe. 2. Estraamo l prmo, e fngamo d non conoscere la sua etchetta d classe 3. Rcerchamo l suo NN, nella lsta degl N-1 oggett restant. 4. Se l NN è nella stessa classe, lo abbamo selezonato correttamente, se non lo è la rcerca da esto errato 5. Rpetamo la rcerca per ogn tem nella lsta d N oggett, l numero medo d NN selezonat correttamente è la nostra precsone "leavng one out." La DTW è mglore della dstanza Eucldea ma ha complesstà: O(nm) O(n 2 ) :( È qund necessaro mglorare le prestazon del calcolo della DTW msec [log 1000000 100000 10000 1000 100 10 1 Tempo d esecusone Eucldea DTW Parole Segn MC Traccat Fogle Profl Controllo 2-Pattern
Mglorare le prestazon (0): Indc Gl Gl ndc per per gestre oggett n n uno uno spazo metrco devono rspettare seguent assom: d(x,y) d(x,y) 0, 0, d(x,y) d(x,y) = 0 x=y x=y (postvtà) (postvtà) d(x,y) d(x,y) = d(y,x) d(y,x) (smmetra) (smmetra) d(x,y) d(x,y) d(x,z) + d(z,y) d(z,y) (dsuguaglanza (dsuguaglanza trangolare) trangolare) La DTW non rspetta la la dsuguaglanza trangolare Impossble usare ndc metrc!!
Mglorare le prestazon (1): Vncol Global I I vncol vncol global global lmtano gl gl ndc ndc del del percorso d d warpng w k k = (,j) (,j) k k tale tale che che j-r j-r j+r C C Q Parzale rduzone del del Qtempo d d calcolo Prevengono warpng patologc r=cost r=f() Fasca d Sakoe-Chba r = Parallelogramma d Itakura
Mglorare le prestazon (2): Lower Boundng Scan_Sequenzale_Lower_Boundng(Q) 1. mglore_temporaneo= nfnto; 2. for tutte le sequenze nel database 3. dst_lb = msura_lower_bound(c,q); 4. f (dst_lb < mglore_temporaneo) 5. vera_dst = DTW(C,Q); 6. f (vera_dst < mglore_temporaneo) 7. mglore_temporaneo = vera_dst; 8. ndce_confronto_mglore = ; 9. endf 10. endf 11. endfor Scandsce tutte sequenze e calcola una msura d LB Se dst_lb è una buon LB, calcola la DTW della sequenza Se la DTW è la mglore, ndvdua l mglor match
Msure d Lower Bound: Km et al. A C Q C D B Estrae una una tuplad d 4 valor {A,B,C,D} calcolat ne ne punt notevol Il Il lower bound èll massmo delle dfferenzetra trall prmo, l ultmo, l l massmo e l l mnmo valore delledue due sere LB_Km=max {A,B,C,D}
Msure d Lower Bound: Y et al. max(q) max(q) C mn(q) mn(q) Q La La somma delle lnee vertcal rappresenta l l contrbuto mnmo per per punt corrspondent al al calcolo della DTW Tutt Tutt punt d d C>max(Q) e C<mn(Q) contrbuscono al al LB_Y
Un nuovo Lower Bound: LB_Keogh
Defnzon prelmnar : U,L Q C U Sakoe-Chba Band U = max(q -r : q +r ) L = mn(q -r : q +r ) Q L C Q U Itakura Parallelogram Q L
Defnzone del LB_Keogh Il Il LB_Keogh(Q,C) LB_Keogh(Q,C) èottenuto n n due due mod mod a seconda seconda che che s s utlzz utlzz la la banda bandacon con rr costante costante o l l parallelogramma parallelogramma con con r r funzone funzone d d U C j LB_Keogh(Q,C j ) = n = 1 (c (c S S può può dmostrare che: che: LB_Keogh(Q,C) DTW(Q,C) 0 U L ) ) 2 2 sec sec > U < L altrment Q U L Cj LB_Keogh èdefnto solamente per per Q = C Q = C Q L
Approssmazone d U ed L Approssmamo Ued ed Lcon una una versone alternatva della Pecewse Aggregate Approxmaton (PAA), per per rdurne la la dmensone, e l l ndchamo con con Uˆ e Lˆ Q U L ( U U ) n U ˆ = max,..., N n ( 1 ) +1 () N Uˆ ( L L ) n L ˆ = mn,..., N n ( 1 ) +1 () N passo = n N Lˆ
Calcolo del LB approssmato per canddat A questo punto punto è possble ndczzare pcewse d d una una sere sere canddata con con un un generco ndce ndce metrco C = N n j = N n N n c j ( 1) + 1 LB_PAA(Q, C j ) = N = 1 n N (c (c Uˆ Lˆ S S può può dmostrare che: LB_PAA(Q,C ) LB_Keogh(Q,C) 0 ) ) > Uˆ < Lˆ c8 2 2 se c se c altrment C C 0 20 40 60 80 100 120 140 c1 c2 c3 c4 c5 c6 c7
Indczzazone (1) Applchamo la la PAA PAA ad ad ogn sere da da ndczzare h 1 h2 h Indchamo Indchamo con con U l l generco generco nodo nodo fogla fogla del del nostro nostro albero. albero. Sa Sa R l l pù pùpccolo pccolo rettangolo rettangoloche che contene contene spazalmente spazalmenteogn ogn punto punto d d C. C. l 1 l 2 l Ad Ad ogn ogn nodo nodo fogla fogla U èassocato l l mnmun mnmunboundng boundngrectangle R = (L, (L, H). H). R èl l MBR MBR n n cu cu L = {l {l 1 1,, ll 2 2,,,, ll N N }e }e H = {h {h 1 1,, h 2 2,,,, h N N } sono sono gl gl estrem estrem nferore nferore e superore superore della della dagonale dagonale d d R. R.
Indczzazone (2) L ultmo passo passo per per l ndczzazone èla la defnzone d d una una dstanza che che resttusca un un lower lowerbound bounddella della msura tra tra la la query query Q ed ed R Defnamo la la funzone MINDIST che che resttusce la la dstanza tra tra la laquery Q ed ed R (MBR (MBR defnto precedentemente). In In questo modo modo possamo navgare l abero calcolando le le MINDIST de de nod, nod, fno fno ad ad attvare alle alle fogle fogle n n cu cu rsedono le le sere sere approssmate C MINDIST ( Q, R)= N = 1 n N ( l Uˆ ( h Lˆ 0 ) ) 2 2 sel > Uˆ se h < Lˆ altrment
Cosa abbamo vsto Come s determna un lower bound per la DTW Come s ndczzano le sere temporal
Query che utlzzano le strutture proposte RangeSearch(Q, ε, T) K-NNSearch (Q,K) Algorthm KNNSearch(Q,K) Varable queue: MnPrortyQueue; Varable lst: temp; 1. 2. 3. Algorthm RangeSearch(Q, ε, T) f T s a non-leaf node for each chld U of T f MINDIST(Q,R) ε RangeSearch(Q, ε, U); // R s MBR of U 4. else // T s a leaf node 5. 6. 7. 8. for each PAA pont C n T f LB_PAA(Q, C) ε Retreve full sequence C from database; f DTW(Q,C) ε Add C to result; L ndce così così defnto può può essere utlzzato n n una una classca struttura R-Tree 1. queue.push(root_node_of_ndex, 0); 2. whle not queue.isempty() do 3. top = queue.top(); 4. for each tme seres C n temp such that DTW(Q,C) top.dst 5. Remove C from temp; 6. Add C to result; 7. f result = K return result ; 8. queue.pop(); 9. f top s an PAA pont C 10. Retreve full sequence C from database; 11. temp.nsert(c, DTW(Q,C)); 12. else f top s a leaf node 13. for each data tem C n top 14. queue.push(c, LB_PAA(Q, C)); 15. else // top s a non-leaf node 16. for each chld node U n top 17. queue.push(u, MINDIST(Q,R)) // R s MBR assocated wth U.
Valutazon Emprche
Prestazon d prunng (1) P = Numero d oggett che non rchedono l calcolo della Numero d oggett nel database DTW 0 P 1 Calcolo d d P per per ogn ogn dataset (d (d 32): 32): 1. 1. Estrazone d d 50 50 sere sere d d lunghezza 256 256 2. 2. Selezone d d una una query querytra tra le le 50 50 sere sere 3. 3. Rcerca del del best best match match tra tra le le 49 49 restant restant usando usando l algortmo d d scan scan sequenzale (n (n realtà realtà non non esegue esegue lo lo scan scan sequenzale sequenzale delle delle sere sere ma ma ne ne fa fa prma prma un un sortng) sortng)
Prestazon d prunng (2) Prestazon d d Prunng P Dmensonedel del Database Prestazon d d Prunng P Lunghezza della Query LB_Keogh LB_Y LB_Km
Prestazon temporal d scan (1) Sstema: processore processore AMD AMD Athlon Athlon 1.4 1.4 GHZ, GHZ, con con 512 512 MB MB d d memora memora fsca fsca e e 57.2 57.2 GB GB d d memora memora secondara. secondara. L ndce usato rsede n n un un R-Tree Algortm: Sono Sono stat stat comparate le le tecnche d d scan scan lnear lnear proposte. LB_Y LB_Ynon ha ha un un metodo d d ndczzazone. LB_Kmnon supera ma ma lo lo scan scan lneare Costo d CPU Normalzzato = Tempo medo Tempo medo d d esecuzone della query usando esecuzone della query con scan l' ndce sequenzal e Datasets: Datasets: Mxed MxedBag: Tutt Tutt 32 32 datasets datasetsraccolt nseme. nseme. 763,270 763,270 oggett oggett Random RandomWalk: Il Il pù pùcomune dataset datasetd d test test n n letteratura. letteratura. 1,048,576 1,048,576 oggett oggett
Prestazon temporal d scan (2) Costo d d CPU CPU Normalzzato 1 0.8 0.6 0.4 0.2 0 Random Walk LScan LB_Keogh 2 10 2 12 2 14 2 16 2 18 2 20 Mxed Bag LScan LB_Keogh 2 10 2 12 2 14 2 16 2 18 2 20 Numero d d Oggett nel nel Database
Concluson Il DTW è una msura d dstanza mglore della dstanza Eucldea. Abbamo llustrato un Lower Bound effcente ed effcace per l DTW. Abbamo mostrato come ndczzare la tecnca d LB. La completa valutazone emprca ha dmostrato la valdtà dell approcco.
Implementazon d Successo
CASO I La La tecnncad d lower boundng è stata usata per supportare l ndczzazone d d enorm archv d d test manoscrtt. Sorprendentemente l l DTW ha ha prestazon mglor d d modell pù pù compless. R. Manmatha, T. M. Rath: Indexng of Handwrtten Hstorcal Documents - Recent Progress. In: Proc. of the 2003 Symposum on Document Image Understandng Technology (SDIUT), Greenbelt, MD, Aprl 9-11, 2003, pp. 77-85. T. M. Rath and R. Manmatha (2002): Lower-Boundng of Dynamc Tme Warpng Dstances for Multvarate Tme Seres. Techncal Report MM-40, Center for Intellgent Informaton Retreval, Unversty of Massachusetts Amherst.
CASO II La La tecnca d d lower boundng è stata utlzzata dalla ChevronTexaco per confrontare dat ssmc. Graze Graze a Steve Steve Zoraster per per l mmagne
Grease s s the word CASO III La La tecnca d d lower boundng è stata usata per supportare le le queryby hummng, da da numeros grupp d d rcerca. I I mglor 3 rscontr Bee Bee Gees: Grease Robbe Wllams: Grease Sarah Black: Heatwave Nng Hu, Roger B. Dannenberg (2003). Polyphonc Audo Matchng and Algnment for Musc Retreval Yunyue Zhu, Denns Shasha (2003). Query by Hummng: a Tme Seres Database Approach, SIGMOD
CASO IV La La tecnca d d lower boundng è stata utlzzata per ndczzare clp ottenut dal moton capture. Graze Graze a Marc Marc Cardle Cardleper questo esempo Marc Cardle : Automate Moton Edtng (2004) Unversty of Cambrdge, Computer Laboratory, Techncal Report
Un rngrazamento specale a Eamonn Keogh per l l supporto ed l l materale che c ha fornto.