BAB II LANDASAN TEORI
2.9 Algoritma Mel Frequency Cepstral Coeficient dan Ekstrasi Ciri
2.9.2 Frame Blocking dan Windowing
Selanjutnya adalah membagi sinyal suara ke dalam frame-frame suara dan dilakukan windowing untuk setiap framenya (Mikael Nilson dan Marcus Ejnarsson, 2002: 23).
Gambar 2.4 Langkah-langkah pada Frame Blocking dan Windowing Sumber: Mikael Nilson dan Marcus Ejnarsson, 2002
Setiap frame memiliki panjang K sampel, menggunakan frame yang berdekatan dipisahkan oleh P sampel (Mikael Nilson dan Marcus Ejnarsson, 2002:
23).
Gambar 2.5 Frame blocking pada π₯1(π) Sumber: Mikael Nilson dan Marcus Ejnarsson, 2002
UIN Syarif Hidayatullah Jakarta
Sinyal suara dibagi menjadi beberapa frame dan saling overlapping.
Panjang daerah overlapping yang diujikan sebesar 25%, 50%, dan 75% sehingga didapatkan sejumlah frame tertentu. Untuk menghitung jumlah frame yang digunakan adalah dengan rumus sebagai berikut:
Jumlah Frame = ((I - N) / M) + 1 (2.2)
Dengan, I = Sample rate
N = Frame size (Sample rate * waktu framing (s)) M = N/2
Contoh perhitungan framing jika diketahui:
frame size (N) = 512 overlap (M) = 100
Sehingga Jumlah Frame = ((I - N) / M) + 1
= ((44100 - 512) / 100) + 1 = 436
Selanjutnya yang harus dilakukan adalah windowing setiap frame dengan tujuan agar mengurangi diskontinuitas sinyal di kedua ujung blok. Windowing yang biasa digunakan adalah Hamming Window yang dihitung sebagai berikut (Mikael Nilson dan Marcus Ejnarsson, 2002: 24).
π€(π) = 0.54 β 0.46cos (2ππ
πΎβ1) (2.3)
Keterangan:
π€(π) = fungsi window π = panjang frame
Jika diketahui nilai frame pada framesize ke 435 adalah 2.68554687500000π β 05 maka:
π€(435) = 0.54 β 0.46cos (2 β 3.14 β 2.68554687500000πβ05
512β1 )
= 0.0878018359210797
Hasil dari windowing-nya adalah:
π¦(π) = π€(π). π (π) (2.4)
UIN Syarif Hidayatullah Jakarta
Dengan π¦(π) adalah sinyal suara sebelum windowing. Proses windowing ditentukan oleh tiga parameter, yaitu lebar jendela, offset antar jendela dan bentuk jendela. Hasil windowing disebut sebagai frame, menggunakan panjang (frame size) dan besar pergeseran (frame shift) tertentu dalam satuan milidetik (Mikael Nilson dan Marcus Ejnarsson, 2002).
Untuk data hasil frame blocking pada frame ke-1 adalah 0.0878018359210797. Maka hasil dari widowing adalah:
π¦ (1) = π€ (1) * π (1)
= 0.0878018359210797 β 2.68554687500000e-05 = 0.0241148635288356
2.9.3 Feature Extraction
2.9.3.1 Fast Fourier Transform (FFT)
Analisa berdasarkan fourier transform sama artinya dengan analisa spektrum, karena fourier transform mengubah signal digital dari domain waktu ke domain frekuensi. Fast fourier transform dilakukan dengan membagi N buah titik pada transformasi diskrit menjadi 2, masing masing (N/2) titik transformasi. Proses memecah menjadi (N/4) dan seterusnya hingga diperoleh titik minimun. fast fourier transform adalah teknik perhitungan cepat dari discrete fourier transform. Fast fourier transform adalah discrete fourier transform menggunakan teknik perhitungan yang cepat yang memanfaatkan sifat periodikal dari transformasi fourier. Sebagaimana rumus berikut:
N = jumlah sampel input
πΉπ= urutan ke-k komponen output fast fourier transform (x (0), x (1), β¦., x (n-1))
UIN Syarif Hidayatullah Jakarta
π = indeks output fast fourier transform dalam domain frekuensi (0,1, β¦.., N-1) π = indeks sampel input dalam domain waktu (0,1, β¦.., N/2-1)
π = konstanta bilangan imajiner (ββ1) π = derajat (180o)
π = basis logaritma natural (β2.718281828459β¦)
Diketahui sinyal hasil windowing: (0.0241, 0.0043, 0.0245, 0.0216, -0.0002, 0.0359) sebagai contoh, menggunakan 6 data dari hasil windowing, maka untuk F0, maka diperoleh perhitungan fast fourier transform sebagai berikut:
(π0)=16 [0,0241(cos(2πβ0β0 6 ))]β[π sin2πβ0β0 6 ]+ [0,0043(cos(2πβ0β1 6 ))] β [π sin2πβ0β1 6 ]+[0,0245 (cos(2πβ0β2 6 ))]β[π sin2πβ0β2 6 ]+
[0,0216 (cos(2πβ0β3 6 ))]β[π sin2πβ0β3 6 ]+ [β0,0002 (cos(2πβ0β4 6 ))]β [π sin2πβ0β4
6 ]+ [0,0359(cos(2πβ0β5
6 ))]β[π sin2πβ0β5
6 ] = 0,01836667 + 0 π Untuk melihat nilai hasil fast fourier transform digunakan rumus perhitungan magnitude sinyal dari bilangan complex fast fourier transform:
(2.6)
Jadi, dari hasil fast fourier transform di atas, dihitung magnitude sinyal dari bilangan complex fast fourier transform sebagaimana contoh perhitungan ini:
|π(0)|=|[π 2+ πΌ2]|= β(0,01836667)2+ (0)2= 0,01836667
Sehingga F0 = 0,01836667 dengan cara yang sama dilakukan kepada kelima data sinyal lainnya yang nantinya akan diperoleh data sinyal hasil fast fourier transform anatara lain:
(0.01836667, 0.00490833, 1.74000031, 0.01223333, 0.00275833, 0.00674167)
UIN Syarif Hidayatullah Jakarta
2.9.3.2 Mel Frequency Wrapping (Filterbank)
Bagian ini adalah satu bagian yang paling penting yaitu untuk mendapatkan informasi yang relevan dari blok ucapan. Banyak metode yang digunakan pada tahap ini (Mikael Nilson dan Marcus Ejnarsson, 2002). Tahap ini disebut juga dengan filter triangular yaitu dengan rumus sebagai berikut:
π»π = 2595 log(1+700π)
ππ= Sinyal hasil fast fourier transform
Diketahui sinyal hasil fast fourier transform sebelumya adalah 0,01836667 maka:
Dengan mengulang cara yang sama, didapatkan hasil dari filterbank adalah:
(1999.97107, 1999.97107, 1999.97108, 1999.97107, 1999.97107, 1999.97107)
2.9.3.3 Discrete cosine transform (DCT)
Tahapan berikutnya adalah discrete cosine transform. Pada tahap ini akan dikonversi spektrum mel ke dalam domain waktu. Discrete cosine transform ini sama dengan fast fourier transform atau invers dari fast fourier transform (Mikael Nilson dan Marcus Ejnarsson, 2002: 32).
ππ = βπΎπ=1(log ππ)cos[(π β12)ππΎ] (2.8) ππ= hasil dari fiterbank pada indeks k
πΎ= jumlah koefisien yang diharapkan
UIN Syarif Hidayatullah Jakarta
Contoh perhitungan discrete cosine transform jika koefisien (k) = 6 dan n
= 0, maka:
Untuk meningkatkan kualitas pengenalan, maka cepstrum hasil dari discrete cosine transform harus melewati proses cepstral liftering terlebih dahulu.
Lawrence R. Rabiner dan Ronald W. Schafer (2007) menyimpulkan bahwa istilah
βcepstrumβ berasal dari:
ο· Pengamatan penting yang mengarah ke terminologi cepstrum adalah spektrum log dapat diperlakukan sebagai bentuk gelombang dan menjadi sasaran analisis Fourier lebih lanjut.
ο· Variabel independen dari cepstrum adalah waktu nominal sejak itu IDFT dari spektrum-log, tetapi diartikan sebagai frekuensi sejak kita memperlakukan spektrum log sebagai bentuk gelombang.
ο· Untuk menekankan pertukaran domain ini, Bogert, Healy dan Tukey (1960) menciptakan istilah cepstrum dengan menukar urutan huruf dalam spektrum kata.
ο· Demikian juga, nama variabel independen dari cepstrum adalah dikenal sebagai quefrency, dan operasi penyaringan linear dalam slide sebelumnya dikenal sebagai liftering menggunakan rumus cepstral liftering sebagai berikut:
π€[π] = {π πΏ
2sin ππ
πΏβ1} (2.9)
UIN Syarif Hidayatullah Jakarta
L = Jumlah cepstral coefficients N = Index dari cepstral coefficients
Jika diketahui nilai discrete cosine transform sebelumnya adalah 19,8 π€[0] = {19.8 β 6
2β sin π
5} = 34.914
Hasil dari feature extraction di atas adalah 34.914 2.10 Algoritma Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan menggunakan pengolahan otak sebagai dasar untuk mengembangkan algoritma yang dapat digunakan untuk memodelkan pola dan prediksi masalah (Mahanta, 2010). Di dalam otak, terdapat miliaran sel yang disebut neuron, yang memproses informasi berupa sinyal listrik. Berikut merupakan gambar pengolahan informasi pada neuron.
Step 1: External
Gambar 2.6 Proses pengolahan informasi dalam neuron Sumber: medium.com, 2010
UIN Syarif Hidayatullah Jakarta
Gambar di bawah ini merupakan bagaimana Jaringan Syaraf Tiruan (JST) bekerja.
Gambar 2.7: Model matematis Jaringan Syaraf Tiruan Sumber: Medium.com, 2010
Sutojo et al (2011) menjelaskan bahwa βjaringan syaraf tiruan mempunyai kemampuan yang luar biasa untuk mendapatkan informasi dari data yang rumit atau tidak tepat, mampu menyelesaikan permasalahan yang tidak terstruktur dan sulit didefinisikan, dapat belajar dari pengalaman, mampu mengakuisi pengetahuan walaupun tidak ada kepastian, mampu melakukan generalisasi dan ekstrasi dari suatu pola data tertentu, dapat menciptakan suatu pola pengetahuan melalui pengaturan diri atau kemampuan belajar (self organizing), mampu memilih suatu input data ke dalam kategori tertentu yang sudah ditetapkan (klasifikasi), mampu menggambarkan suatu objek secara keseluruhan walaupun hanya diberikan sebagian data dari objek data tersebut (asosiasi), mempunyai kemampuan mengolah data-data input tanpa harus mempunyai target, dan mampu menemukan jawaban terbaik sehingga mampu meminimalisasi fungsi biayaβ.
Menurut Sutojo et al (2011), kelebihan-kelebihan yang diberikan jaringan syaraf tiruan antara lain:
1. Belajar adaptive: Kemampuan untuk mempelajari bagaimana melakukan pekerjaan berdasarkan data yang diberikan untuk pelatihan atau pengalaman awal.
UIN Syarif Hidayatullah Jakarta
2. Self-Organization: Sebuah jaringan syaraf tiruan dapat membuat organisasi sendiri atau representasi dari informasi yang diterimanya selama waktu belajar.
3. Real Time Operation: Perhitungan jaringan syaraf tiruan dapat dilakukan secara parallel sehingga perangkat keras yang dirancang dan diproduksi secara khusus dapat mengambil keuntungan dari kemampuan ini.
Selain mempunyai kelebihan-kelebihan tersebut, jaringan syaraf tiruan juga mempunyai kelemahan-kelemahan berikut.
1. Tidak efektif jika digunakan untuk melakukan operasi-operasi numerik dengan presisi tinggi.
2. Tidak efisien jika digunakan untuk melakukan operasi algoritma aritmatik operasi logika, dan simbolis.
3. Untuk beroperasi jaringan syaraf tiruan butuh pelatihan sehingga bila jumlah datanya besar, waktu yang digunakan untuk proses pelatihan sangat lama.
Jaringan syaraf tiruan juga dikenal sebagai black box technology karena tidak dapat menerangkan bagaimana suatu hasil didapatkan. Hal ini yang membuat jaringan syaraf tiruan mampu digunakan untuk menyelesaikan persoalan yang tidak terstruktur dan sulit didefinisikan (Hermawan, 2006). Jong Jek Siang (2004) dalam bukunya βJaringan Saraf Tiruan & Pemrogamannya Menggunakan Matlabβ
menyebut jaringan syaraf tiruan ditentukan oleh tiga hal, antara lain:
1. Pola hubungan neuron (arsitektur jaringan).
2. Metode untuk menentukan bobot penghubung (metode training atau learning).
3. Fungsi Aktivasi.
2.10.1 Arsitektur Jaringan
Salah satu penentu baik tidaknya suatu model jaringan syaraf tiruan adalah hubungan antarneuron atau disebut sebagai arsitektur jaringan. Neuron-neuron tersebut terkumpul dalam beberapa lapisan yang disebut neuron layer. Lapisan-lapisan penyusun jaringan syaraf tiruan dibagi menjadi tiga, yaitu (Sutojo et al, 2011):
UIN Syarif Hidayatullah Jakarta
1. Lapisan Input (Input Layer)
Unit-unit dalam lapisan input disebut unit-unit input yang bertugas menerima pola inputan dari luar yang menggambarkan suau permasalahan.
2. Lapisan Tersembunyi (Hidden Layer)
Unit-unit dalam lapisan tersembunyi disebut unit-unit tersembunyi, yang mana nilai output-nya tidak dapat diamati secara langsung.
3. Lapisan Output (Output Layer)
Unit-unit dalam lapisan output disebut unit-unit output, yang merupakan solusi Jaringan Syaraf Tiruan dalam suatu permasalahan.
Gambar 2.8 Arsitektur Jaringan Syaraf Tiruan Sumber: medium.com, 2008
Sebuah simpul merupakan representasi dari neuron biologis, dan dalam beberapa publikasi, istilah neuron dan simpul digunakan secara bergantian. Pada beberapa jaringan, node dapat menjadi nilai biner dengan satu-satunya nilai yang diijinkan adalah 0 atau 1. Dalam beberapa sistem biner, nilai yang diijinkan adalah - 1 dan 1, bukan 0 dan 1. Representasi ini biasanya disebut bipolar. Sebuah aktivasi tingkat juga dapat berlanjut pada interval satuan [0, 1] atau dapat diasumsikan tidak dibatasi nilai kontinu (Donna L. Hudson dan Maurice E. Cohen, 2000: 30).
UIN Syarif Hidayatullah Jakarta
2.10.2 Fungsi Aktifasi
Pada gambar di bawah ini, menunjukkan struktur komputasi untuk sebuah simpul dalam sebuah jaringan. Secara umum, nilai input dijumlahkan pada simpul.
Hasilnya mungkin bisa disesuaikan dengan beberapa offset ΞΈ yang bervariasi tergantung dari desain jaringan.
Gambar 2.9 Struktur Komputasi sebuah simpul Sumber: Donna L. Hudson dan Maurice E. Cohen, 2000
Outputnya kemudian ditentukan menggunakan penjumlahan yang disesuaikan sebagai argumen dalam fungsi π. Menggunakan persamaan umum sebagai berikut (Donna L. Hudson dan Maurice E. Cohen, 2000: 30):
π¦ = π (β π€π
π
π=1
π₯πβ π)
Dimana node memiliki π input, π€π adalah bobot yang terkait dengan π-ke input, ΞΈ adalah offset atau nilai ambang internal, dan π didefinisikan oleh algoritma. Beberapa definisi umum untuk π diilustrasikan pada gambar di bawah.
Contoh aplikasi yang spesifik Dari fungsi ini terlihat pada pendekatan yang digambarkan pada bagian berikut. Fungsi ini disebut fungsi aktivasi atau fungsi transfer (Donna L. Hudson dan Maurice E. Cohen, 2000: 31).
UIN Syarif Hidayatullah Jakarta Gambar 2.10 Contoh Fungsi Nonlinear
Sumber: Donna L. Hudson dan Maurice E. Cohen, 2000
Fungsi aktivasi akan menghitung input yang diterima oleh suatu neuron, kemudian neuron tersebut meneruskan hasil dari fungsi aktivasi ke neuron berikutnya, sehingga fungsi aktivasi berfungsi sebagai penentu kuat lemahnya sinyal yang dikeluarkan oleh suatu neuron. Salah satu fungsi aktivasi yang digunakan dalam jaringan syaraf tiruan backpropagation adalah fungsi sigmoid biner, yaitu fungsi biner yang memiliki rentang nol sampai dengan satu menggunakan persamaan sebagai berikut (Taufani, 2011: 5):
π(π₯) = 1
1 + exp (βπ₯)
UIN Syarif Hidayatullah Jakarta Gambar 2.11 Sigmoid biner pada rentang [0,1]
Sumber: Donna L. Hudson dan Maurice E. Cohen, 2000
2.10.3 Metode Training atau Learning
Perilaku dari jaringan syaraf tiruan ditentukan oleh bobot dan input-output fungsi aktivasi yang diterapkan. Beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan adalah Fungsi Undak Biner Hard Limit, Fungsi Undak Biner Treshold, Fungsi Bipolar Symetric Hard Limit, Fungsi Bipolar menggunakan Treshold, Fungsi Linear, Fungsi Saturating Linear, Fungsi Symetric Saturating Linear, Fungsi Sigmoid Biner, dan Fungsi Sigmoid Bipolar (Mulyanto, et al, 2010:
397).
Bila dilihat dari cara memodifikasi bobotnya, pelatihan jaringan syaraf tiruan dibagi menjadi dua, yaitu pelatihan menggunakan supervisi (pembimbing) dan pelatihan tanpa supervisi. Dalam pelatihan menggunakan supervisi, terdapat sejumlah pasangan data (masukan dan target) yang berfungsi sebagai pembimbing untuk melatih jaringan hingga diperoleh bobot yang terbaik. Algoritma yang termasuk daam pembelajaran tanpa supervise adalah Hebb Rule, Perceptron, Data-Rule, Bakpropagation. Heteroassociative Memory, Bidirectonal Associative Memory, dan Learning Vector Quantization. Sebaliknya, dalam pelatihan tanpa supervisi tidak ada pembimbing yang digunakan untuk memandu proses pelatihan sehingga modifikasi bobot pada jaringan dilakukan menuru parameter tertentu.
Contohnya adalah jaringan Kohonen (Mulyanto, et al, 2010: 398).
UIN Syarif Hidayatullah Jakarta
2.11 Backpropagation
Metode penurunan gradient untuk meminimalkan kuadarat error keluaran.
Ada tiga tahap yang harus dilakukan dalam pelatihan jaringan, yaitu tahap perambatan maju (forward propagation), tahap perambatan-balik, dan tahap bobot dan bias. Arsitektur jaringan ini terdiri dari Input layer, dan output layer (Sutojo et al, 2011).
Gambar 2.12 Jaringan Saraf Backpropagation Menggunakan Satu Lapisan Tersembunyi Sumber: Sutojo et al, 2011
Gambar 2.13 Jaringan Syaraf Tiruan Backpropagation Sumber: Sutojo et al, 2011
UIN Syarif Hidayatullah Jakarta
Jaringan syaraf tiruan backpropagation memiliki beberapa layer dimana masing-masing layer terhubung secara keseluruhan terhadap beberapa layer di bawah dan diatasnya. Saat jaringan akan memberikan masukan, maka saat itu juga akan diaktifkan nilai forward yang berasal dari input layer pada unit-unit yang terproses. Kemudian masing-masing layer internal, diberikan kepada layer keluaran yang terproses oleh unitunit keluaran. Unit -unit dari keluaran akan memberikan respon terhadap jaringan. Bilamana jaringan terdapat koreksi-koreksi pada parameter di dalamnya, mekanisme perbaikan akan memulai dari output unit dan back error propagation kemudian akan kembali ke masing-masing unit internal untuk dipakai pada input layer (Anggraeni et al, 2014).
Backpropagation adalah jenis prosedur penurunan gradien nonlinier. Ini bisa digunakan untuk klasifikasi multi kategori. Tujuannya adalah untuk meminimalkan kriteria kesalahan (Cohen dan Hudson, 1999: 69).
Jaringan syaraf tiruan backpropagation merupakan jaringan syaraf tiruan supervised learning, yaitu dalam proses pelatihannya memerlukan target. Disebut backpropagation karena dalam proses pelatihannya, error yang dihasilkan dipropagasikan kembali ke unit-unit dibawahnya. Berikut langkah-langkah pembelajaran (Sri Kumaladewi, 2005):
a. Inisialisasi bobot menggunakan bilangan acak b. Tentukan epoch dan error yang diinginkan c. Jika kondisi berhenti belum tercapai,
Maka dilakukan langkah d-h
d. Untuk tiap pola data training, lakukan langkah e β g e. Fase propagasi maju:
ο· Jumlahkan semua sinyal yang masuk ke hidden unit
UIN Syarif Hidayatullah Jakarta
Keterangan:
z_netj = total sinyal masukan pada hidden unit j xi = nilai masukan pada unit i
vji = bobot antara input unit i dan hidden unit j
ο· Hitung keluaran semua hidden unit j pada hidden layer
Keterangan:
zj = keluaran pada hidden unit j
Z_netj = total sinyal masukan pada hidden unit j
ο· Jumlahkan semua sinyal yang masuk ke output unit k
Keterangan:
y_netk = total sinyal masukan pada output unit k zj = nilai masukan pada hidden unit j
wkj = bobot antara hidden unit j dan output unit k
ο· Hitung keluaran pada semua unit pada output layer
f. Propagasi mundur
ο· Hitung faktor kesalahan pada output layer
UIN Syarif Hidayatullah Jakarta
Keterangan:
Ξ΄k = faktor kesalahan pada output unit k Yk = keluaran pada output unit k
ο· Hitung perubahan bobotnya
ο· Hitung penjumlahan kesalahannya
ο· Hitung faktor kesalahan pada hidden layer
ο· Hitung perubahan bobotnya
g. Perubahan bobots
ο· Ubah bobot yang menuju output layer
ο· Ubah bobot yang menuju hidden layer
h. Hitung MSE pada tiap epoch
UIN Syarif Hidayatullah Jakarta
Keterangan:
tk = Target pada output unit k yk = Keluaran pada output unit k n = Jumlah pola