Tyranni terdiri dari sekitar 1.250 spesies yang dianggap sederhana dan dikelompokkan sebagai suboscines. Sedangkan burung pada subordo Passeri
dikelompokkan sebagai oscines atau burung penyanyi, Passeri terdiri dari sekitar 4.500 spesies Passeriform, 2015.
2.3. Jenis-jenis Passeriformes
Dengan melihat kembali trend yang pernah terjadi pada beberapa tahun ini perlombaan-perlombaan yang pernah digelar, ada beberapa jenis burung
passerine yang umum dipelihara oleh kicau mania. Maka dari itu, jenis burung passerine yang akan di analisa pada tugas akhir ini adalah: Cucak Hijau Chloropsis
sonnerati, Cucak Rawa Pycnonotus zeylanicus, dan Kenari Serinus canaria. Informasi rinci ketiga jenis burung tersebut adalah sebagai berikut :
1. Cucak Hijau
Gambar 2.1 Burung Cucak Hijau Sandi, 2012
Ordo : Passeriformes Famili : Chloropseidae
Genus : Chloropsis Nama Ilmiah : Chloropsis sonnerati
2. Cucak Rawa
Gambar 2.2 Burung Cucak Rawa Bellerby, 2014
Ordo : Passeriformes Famili : Pycnonotidae
Genus : Pycnonotus Nama Ilmiah : Pycnonotus zeylanicus
3. Kenari
Gambar 2.3 Burung Kenari Emilio, 2013
Ordo : Passeriformes Famili : Fringillidae
Genus : Serinus Nama Ilmiah : Serinus canaria
2.4. Ekstraksi Ciri
Proses ini
merupakan tahapan
yang paling
penting dalam
mengklasifikasikan suara kicau burung passerine. Dalam ekstraksi ciri ini akan menghasilkan informasi penting yang dapat membedakan suara kicau ketiga jenis
burung tersebut, seperti frekuensi, amplitudo, intensitas, dan sebagainya.
2.4.1. Mel Frequency Cepstral Coefficients
MFCC didasarkan atas variasi bandwith kritis terhadap frekuensi pada telinga manusia yang merupakan filter yang bekerja secara linier pada frekuensi
rendah dan bekerja secara logaritmik pada frekuensi tinggi. Filter ini digunakan untuk menangkap karakteristik fonetis penting dari sinyal ucapan. Untuk meniru
kondisi telinga, karakteristik ini digambarkan dalam skala mel-frekuensi, yang merupakan frekuensi linier di bawah 1000 Hz dan frekuensi logaritmik di atas 1000
Hz Setiawan, dkk 2011. 1.
Pre-emphasis Menurut Jang 2005, sinyal suara
dikirim ke filter high-pass : =
− ∗ − ,
2.1
dimana adalah sinyal output dan nilai
� biasanya antara 0.9 dan 1.0. Z- transform dari filter adalah
� = − ∗
−
. 2.2
Tujuan dari pre-emphasis adalah untuk mengkompensasi bagian frekuensi tinggi yang ditekan pada saat produksi suara manusia. Selain itu juga dapat memperkuat
forman penting dari frekuensi tinggi. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2. Frame Blocking
Dalam langkah ini sinyal wicara kontinyu diblok menjadi frame-frame N sampel, dengan frame-frame berdekatan dengan spasi M M N. Frame pertama
terdiri dari N sampel pertama. Frame kedua dengan M sampel setelah frame pertama, dan overlap dengan N
–M sampel. Dengan cara yang sama, frame ketiga dimulai 2M sampel setelah frame pertama atau M sampel setelah frame kedua dan
overlap dengan N –2M sampel. Proses ini berlanjut hingga semua wicara dihitung
dalam satu atau banyak frame. Nilai tipikal untuk N dan M adalah N = 256 dan M =100 Mustofa, 2007.
3. Hamming Windowing
Langkah berikutnya adalah pemrosesan dengan window pada masing- masing frame individual untuk meminimalisasi sinyal tak kontinyu pada awal dan
akhir masing-masing frame. Window dinyatakan sebagai wn , 0 ≤ n ≤ N−1, dengan
N adalah jumlah sampel dalam masing-masing frame, adalah sinyal input
dan hasil windowing adalah .
= , ≤ ≤ −
2.3
Jenis window yang digunakan adalah window Hamming. = .
− . � � [
� −
] , ≤ ≤ − 2.4
Dengan N adalah jumlah sampel.
4. Fast Fourier Transform
Langkah pemrosesan berikutnya adalah transformasi fourier cepat fast fourier transform FFT, FFT ini mengubah masing-masing frame N sampel dari
domain waktu menjadi domain frekuensi. FFT adalah algoritma cepat untuk mengimplementasikan discrete fourier transform DFT dengan didefinisikan pada
kumpulan set N sampel, { }, seperti berikut ini
= ∑
− � ⁄
− =
, = , , , … , −
2.5
dengan, = deretan aperiodik dengan nilai �
� = jumlah sampel
5. Triangular Bandpass Filters
Studi psikofisikal menunjukkan bahwa persepsi manusia dari kandungan frekuensi suara pada sinyal wicara tidak mengikuti skala linier. Untuk
masingmasing nada dengan frekuensi aktual, f dalam Hz, pitch diukur dengan skala ‘mel’. Skala mel-frequency adalah frekuensi linier berada dibawah 1000 Hz dan
bentuk logaritmik berada diatas 1000 Hz. Sebagai titik referensi adalah pitch dengan tone 1 kHz, 40 dB diatas nilai batas ambang pendengaran, ini dinyatakan
1000 mel. Pendekatan persamaan untuk menghitung mel dalam frekuensi f Hz adalah
= � � �
+ ⁄
2.6
Salah satu pendekatan simulasi spektrum yaitu menggunakan filter bank, satu filter untuk masing-masing komponen mel-frequency yang diinginkan. Filter
bank mempunyai respon frekuensi bandpass segitiga dan jarak bandwidth ditentukan oleh konstanta interval mel-frequency.
6. Dicrete Cosine Transform
Langkah selanjutnya yaitu mengubah spektrum log mel menjadi domain waktu. Hasil ini disebut mel frequency cepstrum coefficient MFCC. Reprentasi
cepstral dari spectrum wicara memberikan reprentasi baik dari sifat-sifat spektral lokal sinyal untuk analisis frame yang diketahui. Karena koefisien mel spectrum
adalah bilangan nyata. Dengan mengubahnya menjadi domain waktu menggunakan discrete cosine transform DCT. Jika koefisien spektrum daya mel hasilnya adalah
�̃ , = , , … , �, sehingga MFCC dapat dihitung, �̃ adalah PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
̃ = ∑ � � ̃ � � [
−
�
]
=
, = , , … ,
2.7
Dimana �̃ adalah koefisien cepstrum mel-frequency dan �̃ adalah
koefisien daya mel.
7. Log Energy
Merupakan salah satu cara untuk menambah nilai koefisien yang dihitung dari linear prediction atau mel-cepstrum, nilai tersebut merupakan log energy
signal. Ini berarti pada setiap frame terdapat nilai energi yang ditambahkan, berikut rumus untuk menghitung nilai energi :
� = � � ∑ _
;
�− �=
2.8
x_windowed = sinyal hasil windowing, k = jumlah frame, dan m = panjang frame Sidiq, dkk 2015.
8. Delta Cepstrum
Secara umum metode yang digunakan untuk mandapatkan informasi dari ciri yang dinamis biasa disebut dengan delta-features. Turunan waktu dari ciri dapat
dihitung dengan beberapa metode, hasil dari perhitungan delta akan ditambahkan ke vektor ciri, sehingga menghasilkan vektor ciri yang lebih besar. Nilai dari delta
akan diturunkan sekali lagi terhadap waktu menjadi nilai delta-delta pada beberapa kasus delta-delta disebut dengan koefisien percepatan, karena nilai tersebut turunan
dari kuadrat waktu dari koefisien. Persamaan untuk menghitung feature ini adalah
∆� = [ = −
� +
][ = − ],
2.9
Nilai M biasanya bernilai 2. Jika menambahkan kecepatan, feature berdimensi 26. Jika menambahkan baik kecepatan dan akselerasi, dimensi feature menjadi 39.
Pada umumnya sistem pengenalan suara menggunakan 39 feature ini untuk mengenali Jang, 2005.
2.5. Jaringan Syaraf Tiruan
Jaringan syaraf tiruan JST adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologis Siang, 2005.
Jaringan syaraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologis, dengan asumsi bahwa :
1. Pemrosesan informasi terjadi pada banyak elemen sederhana neuron.
2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-
penghubung. 3.
Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal.
4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi
biasanya bukan fungsi linier yang dikenakan pada jumlahan input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu
batas ambang. Jaringan Syaraf Tiruan ditentukan oleh 3 hal :
1. Pola hubungan antar neuron disebut arsitektur jaringan.
2. Metode untuk menentukan bobot penghubung disebut metode
traininglearningalgoritma. 3.
Fungsi aktivasi.
2.5.1. Arsitektur Jaringan
Beberapa arsitektur jaringan yang sering dipakai dalam jaringan syaraf tiruan antara lain :
1. Jaringan Lapis Tunggal
Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung dengan sekumpulan output-nya. Dalam beberapa model misal perceptron, hanya
ada sebuah unit neuron output.
Gambar 2.4 Ilustrasi Arsitektur Jaringan Lapis Tunggal Siang, 2005
Pada gambar 2.4 terdapat n unit input , , … ,
dan m buah unit output , , … , kemudian
, , … ,
yang menyatakan bobot hubungan antara unit ke-i dalam input dengan unit ke-j dalam output. Bobot-bobot ini saling
independen. Selama proses pelatihan, bobot-bobot tersebut akan dimodifikasi untuk meningkatkan keakuratan hasil.
2. Jaringan Lapis Majemuk
Jaringan lapis majemuk merupakan perluasan dari jaringan lapis tunggal. Dalam jaringan ini, selain unit input dan output, ada unit-unit lain diantara unit input
dan output sering disebut lapis tersembunyi. Dalam jaringan ini dimungkinkan ada beberapa lapis tersembunyi. Unit dalam satu lapis tidak saling berhubungan.
Gambar 2.5 Ilustrasi Arsitektur Jaringan Lapis Majemuk Siang, 2005
Pada gambar 2.5 terdapat n buah unit input , , … ,
dan m buah unit output
, , … , , sebuah lapis tersembunyi yang terdiri dari p buah unit , … ,
�
. Jaringan ini dapat menyelesaikan masalah yang lebih kompleks.
2.5.2. Back Propagation
Jaringan Syaraf Tiruan Back Propagation membandingkan perhitungan keluaran dengan target keluaran dan menghitung nilai error untuk setiap unit
jaringan. 1.
Arsitektur Back Propagation
Gambar 2.6 Ilustrasi Arsitektur JST Back Propagation Siang, 2005
Gambar 2.6 merupakan arsitektur jaringan syaraf tiruan back propagation dengan n buah input ditambah sebuah bias, sebuah lapis tersembunyi yang terdiri
dari p unit ditambah sebuah bias, dan sebuah lapis unit keluaran. 2.
Fungsi Aktivasi Dalam jaringan syaraf tiruan back propagation, fungsi aktivasi yang dipakai
harus memenuhi beberapa syarat, yaitu : kontinu, terdeferensial dengan mudah dan merupakan fungsi yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat
tersebut sehingga sering dipakai adalah fungsi sigmoid biner yang memiliki range 0,1.
=
+
−
dengan turunan
′
= −
2.10
Fungsi lain yang sering dipakai adalah sigmoid bipolar dengan range -1,1. =
+
−
− dengan turunan
′
=
+ −
2.11
Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang targetnya 1, pola masukkan dan keluaran harus terlebih dahulu ditransformasi
sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternatif lain adalah menggunakan fungsi aktivasi sigmoid hanya pada
lapis yang bukan lapis keluaran. Pada lapis keluaran, fungsi aktivasi yang dipakai adalah fungsi identitas :
� = .
3. Proses Pelatihan Back Propagation
Proses Pelatihan Jaringan Syaraf Tiruan Back Propagation terdiri dari 3 proses, yaitu propagasi maju, propagasi mundur, dan perubahan bobot. Ketiga
proses tersebut dilakukan secara berulang sampai kondisi penghentian terpenuhi. Umumnya penghentian yang dipakai adalah iterasi dan error.
1. Propagasi Maju
Selama propagasi maju, sinyal masukkan =
dipropagasikan ke lapis tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran
dari setiap unit lapis tersembunyi = tersebut selanjutnya
dipropagasikan maju lagi ke lapis tersembunyi di atasnya. Demikian seterusnya hingga mendapatkan luaran jaringan
= .
Berikutnya, luaran jaringan =
dibandingkan dengan target yang harus dicapai
= . Selisih
− adalah error yang terjadi. Jika nilai error lebih kecil dari yang telah ditentukan, maka iterasi dihentikan,
jika tidak, maka bobot setiap garis dimodifikasi untuk mengurangi error yang terjadi.
2. Propagasi Mundur
Berdasarkan error −
, dihitung faktor = , , … ,
yang dipakai untuk mendistribusikan error di unit
ke semua unit tersembunyi yang terhubung langsung dengan
. juga dipakai untuk mengubah bobot
garis yang berhubungan langsung dengan unit luaran. Dengan cara yang sama, dihitung faktor
di setiap unit lapis tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit
tersembunyi di bawahnya. Demikian seterusnya hingga semua faktor di unit tersembunyi yang berhubungan langsung dengan unit masukkan dihitung.
3. Perbaikan Bobot
Setelah semua faktor dihitung, bobot semua garis dimodifikasi
bersamaan. Perubahan bobot suatu garis didasarkan atas faktor neuron di lapis atasnya.
Secara umum, algoritma pelatihan untuk jaringan back propagation adalah sebagai berikut :
1. Inisialisasi semua bobot dengan bilangan acak kecil.
2. Jika kondisi penghentian belum terpenuhi, lakukan langkah 3-10.
3. Untuk setiap pasang data pelatihan, lakukan langkah 4-9.
4. Tiap unit masukkan menerima sinyal dan meneruskannya ke unit
tersembunyi di atasnya. 5.
Hitung semua luaran di unit tersembunyi = , , … , �
_ =
+ ∑
=
2.12
= _ =
+
− _
2.13
6. Hitung semua luaran jaringan di unit
= , , … , _
= + ∑
=
2.14
= _
=
+
− _
2.15
7. Hitung faktor unit luaran berdasarkan error di setiap unit luaran
= , , … , =
−
′
= −
−
2.16
Hitung suku perubahan bobot dengan laju percepatan
α ∆
= ;
= , , … , ; = , , … , 2.17
8. Hitung faktor unit tersembunyi berdasarkan error di setiap unit
tersembunyi = , , … , �
_ = ∑
=
2.18
Faktor unit tersembunyi : = _
′ _ = _
− 2.19
Hitung suku perubahan bobot ∆
= ;
= , , … , ; = , , … , 2.20
9. Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit luaran : =
+ ∆
= , , … , ; = , , … ,
2.21
Perubahan bobot garis yang menuju ke unit tersembunyi : =
+ ∆ = , , … , ; = , , … , 2.22
10. Bandingkan kondisi penghentian.
2.6. Mempercepat Pelatihan Backpropagation
Metode standar backpropagation seringkali terlalu lambat untuk keperluan praktis. Beberapa modifikasi dilakukan terhadap standar backpropagation dengan
cara mengganti fungsi pelatihannya Siang, 2005. Secara umum, modifikasi dapat dikelompokkan dalam 2 kategori. Kategori
pertama adalah metode yang menggunakan teknik heuristik yang dikembangkan dari metode penurunan tercepat yang dipakai dalam standar backpropagation.
Kategori kedua adalah menggunakan metode optimisasi numerik selain penurunan tercepat. Beberapa metode yang dipakai sebagai modifikasi adalah metode gradien
conjugate, quasi Newton, dll. Dalam subbab berikut ini dibicarakan dahulu tentang beberapa modifikasi yang masuk dalam kategori pertama backpropagation dengan
momentum, variabel laju pemahaman, dan backpropagation resilient. Berikutnya barulah dibahas tentang beberapa metode yang masuk dalam kategori kedua.
Beberapa metode
yang dipakai
untuk mempercepat
pelatihan backpropagation adalah sebagai berikut :
1. Metode Penurunan Gradien dengan Momentum traingdm
Meskipun metodenya paling sederhana, tapi metode penurunan gradien sangat lambat dalam kecepatan proses iterasinya. Ini terjadi karena kadang-kadang
arah penurunan tercepat bukanlah arah yang tepat untuk mencapai titik minimum globalnya.
Modifikasi metode penurunan tercepat dilakukan dengan menambahkan momentum. Dengan momentum, perubahan bobot tidak hanya didasarkan atas
error yang terjadi pada epoch pada waktu itu. Perubahan bobot saat ini dilakukan PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
dengan memperhitungkan juga perubahan bobot pada epoch sebelumnya. Dengan demikian kemungkinan terperangkap ke titik minimum lokal dapat dihindari.
Menurut Hagan dan Demuth 1996, sebelum mengaplikasikan momentum ke dalam sebuah aplikasi jaringan syaraf, akan dibuktikan dalam sebuah ilustrasi
efek penghalusan dengan mempertimbangkan urutan pertama filter berikut : =
− +
− ,
2.23
dimana adalah input ke filter,
adalah output dari filter, dan adalah koefisien momentum yang harus memenuhi
≤ . 2.24
Efek dari filter ini ditunjukkan pada gambar 2.7. Pada contoh ini, input ke filter diambil dari gelombang sinus:
= + ��
�
, 2.25
dan koefisien momentum yang ditetapkan pada = . grafik kiri dan = .
grafik kanan. Dari gambar tersebut dapat dilihat bahwa osilasi dari filter output kurang dari osilasi filter input. Selain itu, dengan meningkatnya , osilasi pada filter
output berkurang. Perhatikan juga bahwa rata-rata filter output sama dengan rata- rata filter input, meskipun dengan meningkatnya , filter output merespon dengan
lebih lambat.
Gambar 2.7 Efek Penghalusan Momentum Hagan Demuth, 1996
Untuk memperingkas, filter cenderung mengurangi jumlah osilasi, sementara masih melacak nilai rata-rata. Untuk melihat bagaimana hal ini bekerja pada permasalahan
jaringan syaraf, pertama-tama parameter pada persamaan berikut diperbarui : ∆
= −
−
, 2.26
∆ = −
. 2.27
Ketika filter momentum ditambahkan untuk menggantikan parameter, maka didapatkan persamaan untuk modifikasi momentum backpropagation :
∆ = ∆
− −
−
−
, 2.28
∆ = �∆
− −
− .
2.29
Ketika mengaplikasikan persamaan modifikasi ini, maka akan memperoleh hasil seperti pada gambar 2.8.
Gambar 2.8 Lintasan dengan momentum Hagan Demuth, 1996
Dari gambar di atas filter cenderung membuat lintasan berjalan terus ke arah yang sama, semakin besar nilai maka semakin banyak momentum yang terdapat pada
lintasan. 2.
Variable Learning Rate traingda, traingdx PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Dalam standar backpropagation, laju pemahaman berupa suatu konstanta yang nilainya tetap selama iterasi. Akibatnya, unjuk kerja algoritma sangat
dipengaruhi oleh besarnya laju pemahaman yang dipakai. Secara praktis, sulit untuk menentukan besarnya laju pemahaman yang paling optimal sebelum pelatihan
dilakukan. Laju pemahaman yang terlalu besar maupun terlalu kecil akan menyebabkan pelatihan menjadi lambat.
Pelatihan akan lebih cepat apabila laju pemahaman dapat diubah ubah besarnya selama proses pelatihan. Jika error sekarang lebih besar dibandingkan
error sebelumnya, maka laju pemahaman diturunkan. Jika sebaliknya, maka laju pemahaman diperbesar. Dengan demikian laju pemahaman dapat dibuat sebesar
besarnya dengan tetap mempertahankan kestabilan proses. Menurut Hagan dan Demuth 1996, ada banyak pendekatan untuk
mengubah learning rate laju pemahaman. Salah satunya dengan cara yang paling mudah, dimana learning rate berubah berdasarkan performa sebuah algoritma.
Aturan untuk variable learning rate backpropagation adalah sebagai berikut : a.
Jika error kuadrat pada semua training set meningkat lebih dari persentase yang ditentukan
umumnya satu hingga lima persen setelah perubahan bobot, maka perubahan bobot diabaikan, learning
rate dikalikan dengan faktor � , dan koefisien momentum
jika digunakan diberi nilai nol. b.
Jika error kuadrat berkurang setelah perubahan bobot, maka perubahan bobot diterima dan learning rate dikalikan dengan faktor
. Jika sebelumnya diberi nilai nol, maka akan diubah menjadi nilai aslinya.
c. Jika error kuadrat meningkat namun kurang dari , maka perubahan
bobot diterima tetapi learning rate dan koefisien momentum tidak berubah.
Dengan menggunakan parameter awal yang telah digunakan pada gambar 2.8 dan menambahkan parameter baru :
= . , � = . , dan = , maka akan didapatkan hasil seperti pada gambar 2.9.
Gambar 2.9 Lintasan Variable Learning Rate Hagan Demuth, 1996
3. Resilient Backpropagation trainrp
Jaringan backpropagation umumnya menggunakan fungsi aktivasi sigmoid. Fungsi sigmoid akan menerima masukan dari range tak berhingga menjadi keluaran
pada range [ , ]. Semakin jauh titik dari = , semakin kecil gradiennya. Pada
titik yang cukup jauh dari = , gradiennya mendekati 0. Hal ini menimbulkan
masalah pada waktu menggunakan metode penurunan tercepat yang iterasinya didasarkan atas gradien. Gradien yang kecil menyebabkan perubahan bobot juga
kecil, meskipun masih jauh dari titik optimal. Masalah ini diatasi dalam resilient backpropagation dengan cara membagi
arah dan perubahan bobot menjadi dua bagian yang berbeda. Ketika menggunakan penurunan tercepat, yang diambil hanya arahnya saja. Besarnya perubahan bobot
dilakukan dengan cara lain Siang, 2009. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4. Gradien Conjugate traincgf, traincgp, traincgb
Dalam standar backpropagation, bobot dimodifikasi pada arah penurunan tercepat. Meskipun penurunan fungsi berjalan cepat, tapi tidak menjamin akan
konvergen dengan cepat. Dalam algoritma gradien conjugate, pencarian dilakukan sepanjang arah conjugate. Dalam banyak kasus, pencarian ini lebih cepat. Ada
berbagai metode pencarian yang dilakukan berdasarkan prinsip gradien conjugate, antara lain Fletcher-Reeves
‘traincgf’, Polak-Ribiere ‘traincgp’, Powel Beale ‘traincgb’.
Menurut Hagan Demuth 1996, langkah-langkah dalam gradien conjugate adalah sebagai berikut :
a. Memilih arah pencarian pertama � menjadi gradien negatif
= − , 2.30
b. Kemudian memilih learning rate untuk meminimalisasi fungsi
bersamaan dengan arah pencarian :
+
= +
, 2.31
c. Lalu memilih arah pencarian selanjutnya berdasarkan persamaan
= − +
−
, 2.32
dengan persamaan berikut ini untuk menghitung nilai =
∆
−
∆
− −
atau
=
− −
atau
=
∆
− −
−
2.33
d. Jika algoritma belum konvergen maka lanjut pada langkah ke-2.
2.7. K-Fold Cross Validation