Ekstraksi Ciri Perbandingan metode voting feature intervals dengan jaringan saraf tiruan dalam mengklasifikasi genre musik

Bagaimana vektor ciri y dibentuk adalah penting bagi akurasi klasifikasi. Vektor ciri yang dibentuk secara efektif memudahkan pengklasifikasian dan juga memudahkan perancangan pengklasifikasi. Oleh karena itu, ciri apa yang akan diekstrak tergantung dari konteks. Adapun tujuan dari ekstraksi ciri feature extraction adalah untuk mengurangi jumlah data yang sebenarnya dengan melakukan pengukuran terhadap properti atau ciri tertentu yang membedakan pola masukan input yang satu dengan yang lainnya Duda et al. 2001. Dalam sistem klasifikasi musik, ciri diekstrak oleh algoritma pemproses sinyal untuk mendapatkan informasi diskriminatif sebanyak mungkin dari tahap pengamatan. Ciri yang sering dipakai dalam penelitian sitem klasifikasi musik seperti pada penelitian Costa et al. 2004, Tzanetakis et al. 2002, dan Norowi et al. 2005 adalah Mel-Frequency Cepstral Coefficents MFCC. Ciri MFCC menghitung koefisien cepstral dengan mempertimbangkan persepsi sistem pendengaran manusia terhadap frekuensi suara. Gambar 4. Ilustrasi dari perhitungan MFCC Diagram alir yang terlihat pada Gambar 4 mengilustrasikan langkah- langkah dalam menghitung MFCC dari sinyal audio mentah menjadi ciri MFCC. Sinyal audio dibaca frame demi frame, dan dilakukan windowing untuk setiap frame untuk berikutnya dilakukan transformasi Fourier. Dari nilai hasil transformasi Foruier ini selanjutnya dihitung spektrum mel menggunakan sejumlah filter yang dibentuk sedemikian sehingga jarak antar pusat filter adalah konstan pada ruang frekuensi mel. Dari literatur yang ada, skala mel ini dibentuk untuk mengikuti persepsi sistem Hamming Window Dicsrete Fourier Transform Mel- Frequency Wrapping Dicsrete Cosine Transform Sinyal Ciri MFCC pendengaran manusia yang bersifat linear untuk frekuensi rendah dan logaritmik untuk frekuensi tinggi, dengan batas pada nilai frekuensi akustik sebesar 1000 Hz. Proses ini dikenal dengan nama Mel-Frequency Wrapping. Koefisien MFCC merupakan hasil transformasi kosinus dari spektrum mel tersebut, dan dipilih K koefisien. Transformasi kosinus berfungsi untuk mengembalikan domain, dari frekuensi ke domain waktu Buono 2009. Setelah menerapkan window Hamming pada frame, maka langkah berikutnya untuk menghitung MFCC adalah sebagai berikut : a. Discrete Fourier Transform DFT DFT merupakan analisis sinyal suara yang berkaitan dengan sinyal periodik-diskret, yaitu sinyal diskret yang dapat diperlebar tanpa batas ke kiri dan ke kanan, dengan pola yang berulang. Pada analisis sinyal digital, dilakukan sampling sinyal sebanyak N. Anggap bahwa sampel ini sebagai satu periode dan dapat diduplikasi terus- menerus ke kiri dan ke kanan, sehingga dapat dianalisis dengan menggunakan DFT. DFT mentransformasikan N titik sinyal sebagai input menjadi N2+1 titik sinyal output, seperti yang diilustrasikan pada Gambar 5. Gambar 5. Ilustrasi transformasi DFT Buono 2009 Time Domain Frequency Domain N-1 N sampel Dari x[0] s.d. x[N-1] Decomposition Analysis Forward DFT DFT Re X[ ] 0 N2 N2+1 sampel Cosine Wave amplitudes Dari Re X[0] s.d. Re X[N2] x[ ] Im X[ ] 0 N2 N2+1 sampel Sine Wave amplitudes Dari Im X[0] s.d. Im X[N2] Secara bersama dinotasikan X[ ] Synthesis Inverse DFT Notasi untuk domain frekuensi adalah Re X[k] dan Im X[k] untuk k [0,N2] atau Re X[f] dan Im X[f] untuk f=kN atau f [0, 0,5]. Hal ini dikarenakan sinyal diskret hanya mengandung frekuensi antara 0 dan 0,5 dari sampling rate. Atau bisa juga Re X[ ] dan Im X[] untuk  =2πkN [0, π]. Oleh karena itu, gelombang kosinus pada domain frekuensi tersebut bisa dituliskan sebagai berikut : c[n] = cos2πknN = cos2πfn = cosn 9 Fungsi basis basis function dalam DFT adalah gelombang sinus dan kosinus dengan amplitudo satu. Fungsi basis ini dituliskan dengan rumus sebagai berikut : c k [i] = cos2πkiN dan s k [i] = s in2πkiN 10 untuk i = 0, 1, 2, ..., N-1, dan k = 0, 1, 2, ..., N2 dalam hal ini k adalah banyaknya gelombnag pada N sampel. Sebagai contoh untuk 32 titik sampel, DFT direpresentasikan dengan basis gelombang sinus dan kosinus masing-masing sebanyak 17 buah, yaitu untuk k = 0, 1, 2, ..., 16. Dalam hal ini sinyal dalam domain waktu dapat dirumuskan sebagai penjumlahan terboboti dari fungsi basis dengan formula : [ ] ∑ ̅ [ ] ⁄ ⁄ ∑ ̅ [ ] ⁄ ⁄ 11 dengan i = 0, 1, 2, ..., N-1 yang disebut persamaan sintesa. Sinyal sampel sebanyak N titik dibentuk oleh N2+1 gelombang kosinus dan N2+1 gelombang sinus dengan amplitudo untuk kosinus dan sinus masing-masing adalah array ̅[ ] dan ̅[ ], yang dalam hal ini : ̅[ ] [ ] ⁄ dan ̅ [ ] [ ] ⁄ 12 Sedangkan untuk k = 0 dan k = N2, bagian real adalah : ̅[ ] [ ] dan ̅[ ⁄ ] [ ⁄ ] 13 Nilai-nilai DFT untuk k = 0, 1, 2, ..., N2 dihitung dari sinyal input dengan rumus sebagai berikut : [ ] ∑ [ ] ⁄ 14 [ ] ∑ [ ] ⁄ 15 Yang disebut sebagai persamaan analisis. Ada kalanya array dalam domain frekuensi direpresentasikan dengan koordinat polar. Dalam koordinat polar, pasangan [ ] dan [ ] digantikan oleh pasangan magnitudo, Mag [ ], dan fase X[k]. Gambar 6. Ilustrasi fase X[k] Berdasarkan ilustrasi pada Gambar 6, maka domain frekuensi dapat dirumuskan sebagai berikut : Mag X[k] = Re X[k] 2 + Im X[k] 2 12 dalam amplitudo Fase X[k] = arctan [ ] [ ] dalam radian Juga sebaliknya : Re X[k] = Mag X[k] cosFase X[k] Im X[k] = Mag X[k] sinFase X[k] Oleh karena itu, sinyal input dalam domain waktu dapat ditransformasikan menjadi domain frekuensi melalui analisis DFT, baik dalam bentuk komponen real dan imajiner, maupun dalam bentuk koordinat polar magnitudo dan fase tanpa mengubah informasi yang terkandung dalam sinyal. Secara umum ada tiga cara untuk menghitung DFT, yaitu mealui persamaan simultan, korelasi dan algoritma FFT. Dengan algoritma FFT, kompleksitas menjadi rendah dari n 2 menjadi nlog 2 n. b. Mel-Frequency Wrapping dan Transformasi Kosinus Untuk proses wrapping, diperlukan beberapa filter yang saling overlap dalam domain frekuensi. Filter yang digunakan adalah berbentuk segitiga dengan tinggi satu dan rentang filter segitiga tersebut ditentukan berdasarkan hasil studi psikologi mengenai persepsi manusia dalam menerima frekuensi bunyi. B A M θ A cos x + B sin x = M cox x+ θ M = A 2 +B 2 12 Θ = arctan BA A = M cos θ dan B = M sin θ Dari studi psikologi, telinga manusia mempunyai persepsi terhadap frekuensi suara secara tidak linear pada frekuensi di atas 1000 Hz. Ukuran persepsi ini dinyatakan dalam skala mel melody. Hubungan skala mel dengan frekuensi yang dirumuskan oleh Nilsson dan Ejnarsson 2002 adalah sebagai berikut : { 16 Dan diilustrasikan seperti pada Gambar 7. Dari formula di atas, maka nilai frekuensi F Hz sebagai fungsi dari skala mel adalah : 17 Gambar 7. Grafik hubungan frekuensi dengan skala mel Terlihat bahwa untuk frekuensi rendah, filter yang digunakan menggunakan skala linear, sehingga lebarnya konstan. Sedangkan untuk frekuensi tinggi 1000 Hz, filter dibentuk dengan skala logaritma. Sesuai dengan perkembangannya, teknik MFCC mengalami beberapa variasi terutama dalam bentuk filter dan jumlahnya. Bentuk filter mengalami perubahan dalam hal tinggi, sedangkan bentuk yang digunakan 500 1000 1500 2000 2500 1000 2000 3000 4000 5000 S k al a M e l Frekuensi Akustik Hz linear ⬚ tetap segitiga dengan jumlah 20, 24 atau 40. Gambar 8 menyajikan contoh filter yang diperkenalkan oleh Davis dan Mermelstein pada tahun 1980. Berikut akan diuraikan tahapan pembentukan filter yang pertama kali diperkenalkan oleh Davis dan Mermelstein. Pada penjelasan ini dimisalkan frekuensi suara yang akan dicakup adalah pada rentang 0 hingga 5000 Hz. Secara umum ada tiga tahapan yaitu : 1 Gambarkan fungsi F mel mulai frekuensi terendah hingga F Hz = 5000 Hz dengan menggunakan persamaan 16, dan tentukan nilai mel untuk frekuensi akustik 5000 Hz misal M2 dan nilai mel untuk frekuensi akustik 1000 Hz misal M1. 2 Sumbu mel dari 0 hingga M1 dan M1 ke M2 disekat masing-masing menjadi M2 sekatan yang sama lebarnya. 3 Dari setiap batas sekatan ditarik garis ke kurva fungsi dan diproyeksikan ke sumbu F Hz sehingga diperoleh titik tengah filter pada sumbu F Hz . Gambar 8. Filter yang diperkenalkan oleh Davis dan Mermelstein Algoritma detail untuk membentuk M filter pada teknik MFCC yang disarankan oleh Davis dan Mermelstein adalah sebagai berikut : a Pilih jumlah filter yang akan dibuat M b Pilih frekuensi terbesar f high . Dari nilai ini, maka nilai tertinggi dari adalah : A mp li tu d o Frekuensi c Pusat filter ke i adalah f i : c.1. untuk i = 1, 2, 3, ..., M2 c.2. untuk i = M2, M2+1, ..., M, maka f i dihitung dengan prosedur berikut : 1. skala mel disekat dengan lebar yang sama, yaitu sebesar , dengan : Dari point b, maka nilai dapat ditulis sebagai : 2. nilai mel untuk pusat filter ke i adalah : 3. pusat dari filter ke i adalah : ⁄ Dari M filter yang sudah dibentuk, maka dilakukan wrapping terhadap sinyal dalam domain frekuensi dan menghasilkan satu komponen untuk setiap filter dengan formula sebagai berikut : ∑ | | 18 Dalam hal ini i = 1, 2, 3, ..., M M adalah jumlah filter segitiga dan adalah nilai filter segitga ke i untuk frekuensi akustik sebesar k. Nilai koefisien MFCC ke j akhirnya diperoleh menggunakan transformasi kosinus dengan formula sebagai berikut : ∑ 19 dengan j = 1, 2, 3, ..., K, K adalah jumlah koefisien MFCC yang diinginkan dan M adalah jumlah filter. Gambar 9 memberikan ilustrasi ekstraksi ciri menggunakan teknik MFCC dari suatu sinyal audio. dibangun pada setiap dimensi feature pada tahap pembelajaran dan interval- interval berkoresponden pada setiap feature memberikan suara vote untuk setiap kelas pada tahap klasifikasi algoritma VFI Demiroz 1997. Algoritma VFI telah dikembangkan menjadi lima versi, yaitu VFI1, VFI2, VFI3, VFI4, dan VFI5. Pada penelitian ini akan digunakan algoritma yang terakhir yaitu VFI5. Algoritma VFI5 adalah versi terakhir dari algoritma VFI yang menggeneralisasi pembentukan point intervals pada seluruh end points. Algoritma VFI5 membentuk point interval dari setiap end point yang berbeda dan range interval antara sepasang end point yang berbeda mengecualikan end points. Algoritma pembelajaran dari VFI5 dapat dilihat pada Gambar 10. Gambar 10. Tahap pembelajaran pada algoritma VFI5 Demiroz 1997 Interval-interval beserta kelas yang diperoleh dari contoh dataset pembelajaran pada Gambar 11 dapat dilihat pada Gambar 12. Batas bawah dari semua interval adalah point intervals dan terdapat range intervals antara batas bawah tersebut meniadakan batas bawah. trainTrainingSet: begin for each feature f for each class c EndPoints[f] = EndPoints[f]  find_end_pointsTrainingSet,f,c; sortEndPoints[f]; if f is linear for each end point p in EndPoints[f] form a point interval from end point p form a range interval between p and the next endpoint ≠ p else f is nominal each distinct point in EndPoints[f] forms a point interval for each interval i on feature dimension f for each class c interval_class_count[f,i,c] = 0 count_instancesf, TrainingSet; for each interval i on feature dimension f for each class c interval_class_vote[f,i,c] = _� _� [ �] � _� [�] normalize interval_class_vote[f, i, c]; such that ∑ c interval_class_vote[f, i, c] = 1 interval i 26 dengan batas bawah 6 dan dimensi feature f 2 . Hal ini dapat dilihat pada Gambar 13. Karena terdapat point intervals dimana t 1 = 5 dan t 2 = 6 keduanya terletak, vote feature individu diambil dari point intervals yang berkoresponden. Gambar 13. Contoh pengklsifikasian pada algoritma VFI5 dengan contoh pengujian t=5,6 Vote point interval i 16 dari feature f 1 dimana t 1 = 5 terletak sama dengan interval_class_vote[f 1 , i 16 , A] = 0 dan interval_class_vote[f 1 , i 16 , B] = 1 untuk kelas A dan juga kelas B. Sehingga, vektor vote individu f 1 adalah v 1 = 0;1. Jika f 1 diberikan kesempatan untuk memprediksi sendirian, maka ia akan memprediksi kelas B dengan pasti karena B menerima seluruh vote feature f 1 dan kelas A tidak mendapatkan vote. Pada dimensi feature f 2 , point interval i 26 dimana t 2 = 6 terletak memiliki vote yang sama dengan interval_class_vote[f 1 , i 26 , A] = 0,57 untuk kelas A dan vote yang sama dengan interval_class_vote[f 1 , i 26 , B] = 0,43 untuk kelas B. Sehingga vektor vote individu f 2 adalah v 2 = 0,57;0,43. Jika f 2 diberikan kesempatan untuk memprediksi, maka ia akan memprediksi kelas A. Pada tahap akhir, vote individu dari kedia feature dijumlahkan dan jumlah vektor vote v = 0,57;1,43. Algoritma VFI5 memberikan vote 0,57 untuk kelas A dan 1,43 untuk kelas B, sehingga kelas B dengan nilai vote tertinggi diprediksikan sebagai kelas dari contoh pengujian.

2.8 Jaringan Saraf Tiruan JST

Dalam sistem pengenalan musik music recognition, pembentukan model referensi musik dan pencocokan pola adalah dua tahapan yang sangat berkaitan. Pembentukan model referensi musik akan membentuk suatu model referensi yang akan digunakan untuk pencocokan pola pattern recognition. Salah satu teknik yang dapat digunakan dalam pencocokan pola adalah JST. JST atau Neural Network adalah metode soft computing yang merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan artificial digunakan karena jaringan saraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. JST akan melakukan pembelajaran untuk membentuk suatu model referensi, kemudian JST yang telah melakukan pembelajaran tersebut dapat digunakan untuk pencocokan atau pengenalan pola. Kusumadewi 2004. JST merupakan kumpulan-kumpulan neuron yang telah dimodelkan yang bereaksi terhadap input dan menghasilkan output. Biasanya terdiri dari sebuah kumpulan neuron-neuron lapisan layer input yang menerima vektor parameter yang datang, satu atau lebih lapisan tersembunyi hidden layer yang melakukan pemprosesan, dan sebuah lapisan layer output yang menghasilkan klasifikasi Gerhard 2000. Karakteristik dari JST menurut Fausett 1994 adalah : 1 Pemprosesan informasi terjadi pada banyak elemen sederhana yang disebut neuron, 2 Sinyal dilewatkan antar neuron melalui jalur koneksi, 3 Setiap koneksi mempunyai bobot, dan 4 Setiap neuron mempunyai fungsi aktivasi dan biasanya non-linier. Pernyataan matematis dari neuron adalah sebagai berikut :           n i i i x w f y 1  20 dimana x i = sinyal input, i = 1,2,..,n n = banyaknya simpul input w i = bobot hubungan atau synapsis θ = threshold atau bias  = fungsi aktivasi y = sinyal output dari neuron Model neuron sederhana dapat dilihat pada Gambar 14.  ……….. ……….. f  y 1 x 2 x n x 1 w 2 w n w Gambar 14. Sistem komputasi pemodelan neuron Keunggulan dari JST adalah kemampuan pengklasifikasi terhadap data yang belum diberikan pada saat pembelajaran sebelumnya Han dan Kamber 2001. Untuk menyelesaikan permasalahan, JST memerlukan algoritma untuk belajar, yaitu bagaimana konfigurasi JST dapat dilatih untuk mempelajari data histories yang ada. Dengan pelatihan ini, pengetahuan yang terdapat pada data bisa diketahui dan direpresentasikan dalam bobot sambungannya. Jenis algoritma pembelajaran yang ada di antaranya adalah Supervised Learning pembelajaran terawasi. Algoritma ini diberikan target yang akan dicapai. Contohnya adalah back propagation algorithm algoritma propagasi balik dan Radial basis function Jang et al. 1997.

2.9 Multi Layer Perceptron MLP

Dalam klasifikasi atau pengenalan pola, JST merupakan salah satu teknik yang paling handal. Multi-layer Perceptron propagasi balik dengan pembelajaran terawasi supervised merupakan salah satu jenis JST yang mampu memberikan unjuk kerja yang bagus. Menurut Kantardzic 2003 MLP mempunyai tiga karakteristik, yaitu : 1 Model dari setiap neuron biasanya mengandung fungsi aktivasi non- linier, misalnya sigmoid atau hiperbolik, 2 Jaringan mengandung satu atau lebih lapisan tersembunyi hidden layer yang bukan merupakan bagian dari lapisan input ataupun lapisan output, dan 3 Jaringan mempunyai koneksi dari satu lapisan ke lapisan lainnya.

2.10 Propagasi Balik

Propagasi balik merupakan algoritma pembelajaran terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya Duda et al. 2000. Walaupun JST propagasi balik membutuhkan waktu yang lama untuk pembelajaran tetapi bila pembelajaran telah selesai dilakukan, JST akan dapat mengenali suatu pola dengan cepat. Algoritma propagasi balik menggunakan output error untuk mengubah nilai bobot-bobotnya dalam perambatan mundur backward. Untuk mendapatkan error ini, tahap perambatan maju forward harus dikerjakan terlebih dahulu. Karakteristik dari JST propagasi balik adalah sebagai berikut : a. Multi-layer-network JST propagasi balik Gambar 15 mempunyai lapisan input, lapisan tersembunyi dan lapisan output dan setiap neuron pada satu lapisan menerima input dari semua neuron pada lapisan sebelumnya. b. Fungsi aktivasi Fungsi aktivasi activation-function akan menghitung input yang diterima oleh suatu neuron, kemudian neuron tersebut meneruskan hasil dari fungsi pengaktifan ke neuron berikutnya. Sehingga fungsi aktivasi berfungsi sebagai penentu kuat lemahnya sinyal yang dikeluarkan oleh suatu neuron. Gambar 15. Arsitektur jaringan propagasi balik Kusumadewi 2004 Beberapa fungsi pengaktifan yang sering digunakan dalam JST propagasi balik adalah sebagai berikut : 1 Fungsi sigmoid biner Gambar 16, yaitu fungsi biner yang memiliki rentang 0 sd 1 dengan fungsi sebagai berikut : exp 1 1 x x f    21 fx x 1 Gambar 16. Sigmoid biner pada selang [ 0,1] 2 Fungsi sigmoid bipolar Gambar 17, yaitu fungsi yang memiliki rentang -1 sd 1 dengan fungsi sebagai berikut : 1 exp 1 2     x x f 22