• Tidak ada hasil yang ditemukan

BAB II : LANDASAN TEORI

2.4. Dynamic Time Warping

Dynamic time warping (DTW) merupakan metode yang dipergunakan untuk menghitung jarak atau kemiripan dua sequence yang memiliki panjang berbeda dalam waktu atau kecepatan. Dynamic Time Warping memperbolehkan komputer untuk menemukan pencocokan yang optimal antara 2 buah sequence (deret waktu) dengan berbagai pembatasan. Biaya total kemiripan dapat ditemukan oleh algoritma ini yang menunjukkan indikasi bagus dari contoh data masukan dan standar yang cocok, sehingga dynamic time warping dapat dipilih menjadi pencocokan template yang baik.

Algoritma Dynamic Time Warping telah banyak digunakan dalam berbagai hal yaitu pengenalan suara (Sakoe.dan Chiba, 1978), mengklasifikasikan 15 siulan dolpin menjadi 5 kelompok (Buck dan Tyack, 1993). pencocokkan tulisan dan tanda tangan online (Tappert, Suen, dan Wakahara, 1990), mencocokkan kata (Rath, Toni, dan Manmatha, 2002). pengenalan bahasa isyarat (Kuzmanic dan Zanchi, 2007), pengenalan gerak (Corradini, 2001), penambangan data dan pengelompokkan time series (Niennattrakul dan Ratanamahatana, 2007), computer vision dan animasi komputer (Muller, 2007), pengawasan (Zhang,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Huang, dan Tan, 2006), sequence alignment protein dan teknik kimia (Vial, et. al., 2008), pengenalan musik dan sinyal (Muller, Mattes, dan Kurth, 2006),

Di bawah ini akan dijelaskan bagaimana algoritma Dynamic Time Warping bekerja (Jang, 2005) :

Jarak antara dua titik x = [x 1, x 2, ..., x n] dan y = [y 1, y 2, ..., y n] yang memiliki n-dimensi dapat dihitung melalui Euclidean distance :

dist( x , y ) = | x - y | = [ (x 1 - y 1 ) 2 + (x 2 - y 2 ) 2 + ... + (x n - yn) 2] 1 / 2 (2-1)

Namun, jika panjang x berbeda dari y, maka kita tidak dapat menggunakan rumus di atas untuk menghitung jarak. Sebaliknya, untuk menghitung jarak perlu metode yang lebih fleksibel yang dapat menemukan pemetaan terbaik dari elemen-elemen pada x ke y.

Tujuan dari dynamic time warping adalah untuk mencari pemetaan yang terbaik dengan jarak minimum dengan menggunakan dynamic programming (DP). Metode ini disebut "time warping" karena baik x dan y adalah vektor dari deret waktu dan perlu penciutan atau peregangan waktu untuk mencari pemetaan terbaik (Jang, 2005).

Misalkan t dan r adalah 2 vektor dengan panjang m dan n. Tujuan DTW adalah untuk menemukan pemetaan {(p1, q1), (p2, q2), ..., (pk, qk)} sedemikian sehingga jarak pada pemetaan Si = 1 k | t (p i) - r (q i) | minimal, DTW memiliki batasan berikut:

15

1) Kondisi batas: (p1, q1) = (1, 1), (pk, qk) = (m, n).

2) Batasan lokal : Untuk setiap node (i, j), kemungkinan terhubungnya node dibatasi oleh (i-1, j), (i, j-1), (i-1, j-1) . Batasan lokal ini menjamin bahwa jalan pemetaan tidak berkurang secara tetap dalam argumen pertama dan kedua. Selain itu, untuk setiap elemen dalam t, harus mampu ditemukan setidaknya satu unsur terkait di r, dan sebaliknya

Gambar 2.4 Node dalam batasan lokal (Jang, 2005)

Bagaimana dapat menemukan jalan pemetaan optimal di DTW? Pilihan yang jelas adalah menggunakan forward DP, yang dapat diringkas dalam tiga langkah berikut:

1) Fungsi nilai optimal : Tentukan D (i, j) sebagai jarak DTW antara t (1: i) dan r (1: j), dengan jalan pemetaan dari (1, 1) ke (i, j).

2) Rekursi: D (i, j) = | t (i) - r (j) | + min (D (i-1, j), D (i-1, j-1), D (i, j-1 )), dengan kondisi awal D (1, 1) = | t (1) - r (1) |.

3) Nilai akhir : D (m, n)

Dalam prakteknya, perlu dibangun sebuah matriks D dengan dimensi m × n pertama dan isi nilai dari D (1, 1) dengan menggunakan kondisi awal. Kemudian dengan menggunakan rumus rekursif, isi seluruh matriks satu elemen pada suatu waktu, dengan mengikuti kolom demi kolom atau baris demi baris. Jawaban akhir akan tersedia sebagai D (m, n), dengan kompleksitas komputasi O (mn).

Selain dapat digunakan dalam forward DP dapat juga digunakan untuk backward DP, dapat diringkas dalam tiga langkah berikut :

1) Fungsi nilai optimal : Tentukan D (i, j) sebagai DTW jarak antara t (i: m) dan r (j: n), dengan jalan pemetaan dari (i, j) untuk (m, n).

2) Rekursi : D (i, j) = | t (i) - r (j) | + min (D (i +1, j), D (i +1, j +1), D (i, j + 1 )), dengan kondisi awal D (m, n) = | t (m) - r (n) |

3) Nilai akhir : D (1, 1)

Dibawah ini akan dijelaskan contoh perhitungan DTW dengan menggunakan forward DP yang sudah dimodifikasi oleh penelitian-penelitian sebelumnya:

Misalkan terdapat 2 buah vektor yaitu dengan vektor r dan vektor t, maka nilai optimal dapat diperoleh dengan cara seperti di bawah ini :

17

r=[2,4,7];

Gambar 2.5 Grafik vektor r t=[5,10,1,8];

Gambar 2.6 Grafik vektor t

1. Fungsi nilai optimal : Tentukan D (3, 4) sebagai jarak DTW antara t (1: 3) dan r (1: 4), dengan jalan pemetaan dari (1, 1) ke (3, 4).

•Membuat 2 buah matrik dengan menggunakan fungsi repmat agar kedua vektor dapat digunakan dalam perhitungan euclidean distance.

tes1=repmat(r',1,N) tes1 =

2 2 2 2 4 4 4 4 7 7 7 7

tes2 = repmat(t,M,1) tes2=

5 10 1 8 5 10 1 8 5 10 1 8

•Menghitung euclidean distance dengan menggunakan dua buah matrik yang sudah dibuat diatas

tes=tes1-tes2 tes = -3 -8 1 -6 -1 -6 3 -4 2 -3 6 -1 d=(tes).^2 d = 9 64 1 36 1 36 9 16 4 9 36 1

•Membuat matrik kosong untuk menampung nilai dari forward DP D=zeros(size(d));

•Inisialisasi awal yaitu membuat jalan pemetaan D(1, 1) D(1,1)=d(1,1);

•Proses looping untuk mengisi nilai dari D(2,1) sampai D(3,1) for m=2:M

19

D(m,1)=d(m,1)+D(m-1,1); end

D(2,1)=d(2,1)+D(1,1)=1+9=10 D(3,1)=d(3,1)+D(2,1)=4+10=14

•Proses looping untuk mengisi nilai dari D(1,2) sampai D(1,4) for n=2:N D(1,n)=d(1,n)+D(1,n-1); end D(1,2)=d(1,2)+D(1,1)=64+9=73 D(1,3)=d(1,3)+D(1,2)=1+73=74 D(1,4)=d(1,4)+D(1,3)=36+74=110

2. Rekursi: D (i, j) = d(i, j)+min (D (i-1, j), min(D (i-1, j-1), D (i, j-1 ))), dengan kondisi awal D (2, 2)

• Proses rekursi untuk mengisi nilai dari D(2,2) sampai D(3,4) for m=2:M for n=2:N D(m,n)=d(m,n)+min(D(m-1,n),min(D(m-1,n-1),D(m,n-1))); end end D(2,2)=d(2,2)+min(D(1,2),min(D(1,1),D(2,1)))=36+min(73,9,10)=45 D(2,3)= d(2,3)+min(D(1,3),min(D(1,2),D(2,2)))=9+min(74,73,45)=54 D(2,4)= d(2,4)+min(D(1,4),min(D(1,3),D(2,3)))=16+min(110,74,54)=70

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

D(3,2)= d(3,2)+min(D(2,2),min(D(2,1),D(3,1)))=9+min(45,10,14)=19 D(3,3)= d(3,3)+min(D(2,3),min(D(2,2),D(3,2)))=36+min(54,45,19)=55 D(3,4)= d(3,4)+min(D(2,4),min(D(2,3),D(3,3)))=1+min(70,54,55)=55

Dibawah ini adalah tabel hasil perhitungan DTW dengan menggunakan forward DP

9 73 74 110

10 45 54 70

14 19 55 55

Tabel 2.1 Hasil perhitungan DTW menggunakan forward DP

Gambar 2.7 vektor r dan t setelah menggunakan forward DP

21

Dengan menggunakan forward DP diperoleh nilai akhir yang optimum untuk vektor t dan r yaitu 55. Berdasarkan penelitian yang telah ada sebelum nya Dynamic Time Warping mempunyai kelebihan dan kekurangan yaitu :

a. Kelebihan DTW

DTW memiliki kelebihan yaitu pada perhitungan jarak antara input stream dan template sehingga dipilih menjadi metode yang dipakai dalam tugas akhir. Lebih dari membandingkan nilai input pada saat arus t untuk template stream pada waktu t, sebuah algoritma pencarian digunakan bahwa ruang pemetaan dari urutan waktu input stream untuk yang dari template stream, sehingga total jarak diminimalkan. Jarak pada pemetaan yang tidak selalu linier misalnya, ditemukan bahwa waktu t1 di input stream sesuai dengan waktu t1+5 dalam template stream, sedangkan t2 dalam input stream sesuai dengan t2-3 dalam template stream. Ruang pencarian dibatasi dengan batas-batas yang wajar, seperti fungsi pemetaan dari input waktu ke waktu template harus tetap dan tidak berkurang atau dengan kata lain, urutan peristiwa antara masukan dan template yang tidak berkurang.

Gambar 2.8Dynamic Time Warping

(http://www.cse.unsw.edu.au/~waleed/phd/html/node38.html)

Gambar 2.8menunjukkan bahwa sumbu horizontal mewakili waktu input stream, dan sumbu vertikal menunjukkan urutan waktu dari template stream. Jalan menunjukkan bahwa hasil dalam jarak minimal antara input dan template stream. Di daerah yang diarsir merupakan ruang pencarian untuk input waktu ke fungsi pemetaan template waktu .

Setiap jalan yang tetap dan tidak berkurang di dalam ruang adalah sebuah

alternatif untuk dipertimbangkan. Menggunakan teknik dynamic

programming, pencarian jarak minimum jalan dapat dilakukan dalam waktu polinomial : O (N2V) di mana N adalah panjang urutan, dan V adalah jumlah template yang harus dipertimbangkan (Kadous, 2002)

b. Kekurangan DTW

DTW mempunyai masalah ketika 2 sequence berbeda di sumbu Y. Perbedaan secara global mempengaruhi sequence secara keseluruhan,

23

seperti perbedaan rata-rata, perbedaan skala (skala amplitudo) atau cenderung linear dapat secara efisien dihilangkan (Keogh and Pazzani 1998, Agrawal et. al. 1995). Bagaimanapun juga 2 sequence dapat mempunyai perbedaan local pada sumbu Y, misal nya lembah pada sequence pertama lebih dalam daripada lembah sequence kedua. Pada gambar 2.9 terdapat 2 sequence mirip yang akan menghasilkan garis lurus satu ke satu. Jika identitas lokal dalam hal ini lembah dirubah sedikit maka DTW akan menerjemahkan perbedaan dalam time axis dan dan menghasilkan 2 garis berbeda.

Gambar 2.9 Kelemahan DTW (Keogh dan Pazzani, 1998)

2.5. Rumus menghitung nilai kemiripan spektra dan contoh penerapan nya

Dokumen terkait