Algoritma Propagasi Balik Jaringan Saraf Tiruan Propagasi Balik Tiga Faktor Dalam Pengenalan Sidik Jari

2.5 Algoritma Propagasi Balik

2.5.1 Proses Komputasi Propagasi Balik

Proses komputasi pada jaringan saraf propagasi balik dapat dibagi menjadi dua tahap yaitu komputasi maju forward dan komputasi mundur backward Fausset,1994. Pada jaringan diberikan sekumpulan contoh pelatihan yang disebut set pelatihan. Set pelatihan terdiri dari vektor input dan vektor output target. Keluaran dari jaringan berupa sebuah vektor output aktual. Selisih antara vektor output target dan vektor output aktual merupakan kesalahan error yang terjadi. Kesalahan error ini yang dijadikan sebagai dasar dalam melakukan perubahan bobot yang ada dengan mempropagasikannya kembali Puspitaningrum, 2006. 1. Komputasi maju forward Pola masukan dihitung maju mulai dari lapisan masukan hingga lapisan keluaran menggunakan fungsi aktivasi yang ditentukan. 2. Komputasi mundur backward Selisih antara target yang diinginkan dengan keluaran jaringan merupakan kesalahan yang terjadi. Kesalahan yang terjadi itu dipropagasi mundur. Dimulai dari garis yang berhubungan langsung dengan neuron-neuron di lapisan keluaran.

2.5.1.1 Komputasi maju forward

Komputasi maju pada jaringan saraf tiruan propagasi balik dimulai dari lapisan masukan, namun neuron yang mengalami komputasi adalah neuron pada lapisan tersembunyi. Hal ini disebabkan karena neuron pada lapisan masukan hanya berfungsi meneruskan nilai masukan untuk neuron pada lapisan tersembunyi. Pencarian nilai masukan pada lapisan tersembunyi dilakukan dengan perkalian antara masukan Universitas Sumatera Utara dengan nilai bobot yang menghubungkan lapisan masukan dengan lapisan tersembunyi. Nilai masukan untuk lapisan tersembunyi adalah: = + =0 2.12 Keterangan: = nilai masukan pada lapisan tersembunyi = bobot yang menghubungkan input layer dan lapisan tersembunyi = nilai keluaran dari neuron masukan ke neuron pada lapisan tersembunyi = bobot dari neuron bias ke neuron pada lapisan tersembunyi. Dengan menggunakan nilai masukan pada lapisan tersembunyi ini, maka setiap neuron pada lapisan tersembunyi akan diaktifkan oleh fungsi aktivasi sehingga akan menghasilkan suatu nilai, nilai keluaran tersebut adalah: = 2.13 Keterangan: = nilai keluaran neuron ke- j pada lapisan tersembunyi = fungsi aktivasi neuron ke-j pada lapisan tersembunyi. Demikian juga halnya untuk mencari nilai pada lapisan keluaran. Pada lapisan keluaran proes komputasi sama seperti pada lapisan tersembunyi yaitu dengan menghitung nilai masukan dari setiap neuron k pada pada lapisan keluaran yang dirumuskan sebagai berikut: = + =0 2.14 Keterangan: = nilai masukan pada lapisan keluaran = bobot yang menghubungkan input layer dan lapisan tersembunyi = nilai keluaran dari neuron masukan ke neuron pada lapisan tersembunyi = bobot dari neuron bias ke neuron pada lapisan keluaran. Universitas Sumatera Utara Dengan menggunakan nilai masukan pada lapisan keluaran ini, maka setiap neuron pada lapisan keluaran akan diaktifkan oleh fungsi aktivasi sehingga akan menghasilkan nilai keluaran, nilai keluaran tersebut adalah: = 2.15 Keterangan: = nilai keluaran neuron ke-k pada lapisan keluaran = fungsi aktivasi neuron ke-k pada lapisan keluaran. Setelah diperoleh nilai keluaran aktual pada komputasi maju maka proses komputasi selanjutnya adalah proses komputasi mundur.

2.5.1.2 Komputasi mundur backward

Komputasi mundur pada jaringan saraf tiruan propagasi balik bertujuan untuk mendistribusikan kesalahan di unit y k δ k ke semua unit pada lapisan tersembunyi yang terhubung langsung dengan y k. Hal ini juga dilakukan untuk menghitung kesalahan di unit z j δ j di setiap unit di lapisan tersembunyi. Demikian seterusnya sampai semua kesalahan di lapisan tersembunyi yang berhubungan langsung dengan unit keluaran.

2.5.1.3 Perbaharuan bobot

Setelah mendapatkan error, selanjutnya jaringan akan memperbaharui bobot menjadi bobot yang sesuai dari input yang dimasukkan menjadi output yang diinginkan. Untuk mencari bobot baru pada lapisan tersembunyi ke lapisan keluaran adalah: = + ∆ 2.16 Sementara untuk mencari bobot baru pada lapisan masukan ke lapisan tersembunyi adalah: = + ∆ 2.17 Universitas Sumatera Utara

2.5.2 Perhitungan Error

Pada tahap pembelajaran dalam algoritma propagasi balik, diperlukan suatu kondisi untuk menghentikan proses pembelajaran dan sebagai pengukuran keakurasian jaringan dalam mengenali pola yang diberikan. Ada beberapa perhitungan error yang digunakan yaitu Mean Squared Error MSE, Mean Absolute Error MAE dan Mean Absolute Percentage Error MAPE. 1. Mean Squared Error MSE adalah error rata-rata kuadrat dari selisih antara output jaringan dengan output target. Tujuannya adalah memperoleh nilai error sekecil mungkin secara iteratif dengan mengganti nilai bobot yang terhubung pada semua neuron pada jaringan. Rumus perhitungan MSE adalah sebagai berikut: � = 1 2 − 2 =1 2.18 Keterangan: = nilai output target = nilai output sistem 2. Mean Absolute Error MAE merupakan perhitungan error hasil absolute dari selisih antara nilai hasil sistem dengan nilai aktual. Rumus perhitungan MAE adalah sebagai berikut: �� = 1 | − | =1 2.19 3. Mean Absolute Percentage Error MAPE yang hampir sama dengan MAE, namun hasilnya dinyatakan dalam bentuk persentase. Rumus perhitungan MAPE adalah sebagai berikut: ��� = 1 − × 100 =1 2.20 Universitas Sumatera Utara

2.5.3 Optimalitas Arsitektur Jaringan Saraf Tiruan Propagasi Balik

Masalah utama yang terdapat dalam propagasi balik ialah lamanya proses iterasi yang dilakukan. Propagasi balik tidak dapat memastikan berapa epoch yang harus dilalui sampai pola yang diinginkan terpenuhi. Oleh karena itu terdapat beberapa cara yang digunakan untuk mengoptimalkan proses iterasi Siang, 2009, yaitu:

2.5.3.1 Pemilihan bobot dan bias awal

Bobot awal merupakan unsur yang terpenting dalam pembentukan jaringan yang baik, karena bobot awal mempengaruhi kecepatan iterasi jaringan dalam mengenali pola. Bobot yang menghasilkan nilai fungsi aktivasi kecil sedapat mungkin dihindari karena akan menyebabkan perubahan bobotnya menjadi sangat kecil sehingga penurunan error menjadi kecil. Bobot awal standar yang biasa dipakai dalam melakukan proses komputasi dinilai memberikan waktu yang lama. Inisialisasi Nguyen Widrow merupakan modifikasi sederhana bobot-bobot dan bias ke unit tersembunyi yang mampu meningkatkan kecepatan jaringan dalam proses pelatihan jaringan. Inisialisasi Nguyen Widrow didefinisikan dengan persamaan: = 0.7 Keterangan: n = jumlah neuron pada lapisan input p = jumlah neuron pada lapisan tersembunyi = faktor skala 2.21 Prosedur inisialisasi Nguyen Widrow ialah: a. Inisialisasi bobot-bobot v ji lama dengan bilangan acak dalam interval [-0.5, 0.5] b. Hitung ∥ ∥= 1 2 + 2 2 + + 2 2.22 c. Bobot baru yang dipakai sebagai inisialisasi Universitas Sumatera Utara = ∥ ∥ 2.23 d. Bias baru yang dipakai sebagai inisialisasi v j0 = bilangan acak dalam interval – , 2.24

2.5.3.2 Laju Pembelajaran learning rate

Penggunaan parameter learning rate memiliki pengaruh penting terhadap waktu yang dibutuhkan untuk tercapainya target error yang diinginkan. Jika nilai learning rate yang digunakan terlalu kecil maka terlalu banyak epoch yang dibutuhkan untuk mencapai nilai target yang diinginkan. Semakin besar nilai learning rate yang digunakan maka proses pelatihan jaringan akan semakin cepat, namun jika terlalu besar justru akan mengakibatkan algoritma menjadi tidak stabil dan menyebabkan nilai error berbolak balik pada nilai tertentu, sehingga mencegah tercapai target error yang diinginkan. Oleh karena itu pemilihan nilai learning rate harus seoptimal mungkin agar didapat proses pelatihan yang cepat Siang, 2009.

2.5.3.3 Momentum

Penambahan parameter momentum dalam tahap pengoreksian nilai bobot dapat mempercepat proses pelatihan yaitu dengan memodifikasi nilai bobot pada iterasi t+1 yang nilainya ditentukan oleh nilai bobot pada iterasi ke-t dan t-1. adalah konstanta yang menyatakan parameter momentum yang nilainya 0 ≤ ≤1 keluaran Siang, 2009: Perubahan bobot dengan menggunakan momentum pada lapisan keluaran: w kj + 1 = w kj + + w kj t − w kj t − 1 2.25 Perubahan bobot dengan menggunakan momentum pada lapisan tersembunyi: v ji + 1 = v ji + + v ji t − v ji t − 1 2.26 Universitas Sumatera Utara

2.5.3.4 Faktor Proporsional

Jaringan saraf tiruan propagasi balik yang selama ini digunakan untuk berbagai macam aplikasi adalah jaringan saraf propagasi balik yang standar yang hanya menggunakan kedua faktor di atas learning rate dan momentum. Pada penelitian ini digunakan faktor ketiga yang disebut sebagai faktor proporsional  . Faktor proporsional ini pertama sekali diperkenalkan dan digunakan pada permasalahan XOR Zweiri et al, 2003. Modifikasi terhadap jaringan saraf propagasi balik dengan menambahkan faktor ketiga yang disebut faktor proporsional akan menyebabkan bertambahnya satu konstanta baru yang menyertainya, konstanta tersebut adalah ewt. Untuk mendapatkan nilai ewt maka dapat digunakan rumus berikut ini Zweiri et al, 2003: k e w t e  2.27 dimana = − =1 2.28 adalah selisih antara nilai target dengan output Faktor ketiga tersebut menyebabkan perubahan bobot pada lapisan keluaran akan menjadi w kj + 1 = + t − 1 + ek 2.29 Sedangkan perubahan bobot pada lapisan tersembunyi akan menjadi v ji + 1 = + t − 1 + e k 2.30 Dengan adanya faktor ketiga yang disebut faktor proporsional, maka saat ini pada jaringan saraf propagasi balik telah ada 3 faktor yang dapat diteliti untuk mendapatkan kinerja yang diinginkan. Universitas Sumatera Utara

2.5.4 Fungsi Aktivasi

Fungsi aktivasi merupakan bagian penting dalam tahap perhitungan JST karena dipakai untuk menentukan keluaran dari suatu neuron. Peran fungsi aktivasi pada jaringan saraf tiruan adalah untuk mengaktifkan keluaran dari jaringan dan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain atau tidak. Beberapa fungsi aktivasi yang dipakai dalam JST adalah:

2.5.4.1 Fungsi

sigmoid biner logsig Fungsi sigmoid biner memiliki range nilai [0,1]. Oleh karena itu, fungsi ini sering digunakan untuk Jaringan Saraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Fungsi sigmoid biner dirumuskan sebagai: = 1 1 + − 2.31 dengan ′ = 1 − 2.32

2.5.4.2 Fungsi

sigmoid bipolar tansig Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja fungsi ini memiliki range antara 1 sampai -1. Fungsi sigmoid bipolar dirumuskan sebagai: = 1 − − 1 + − 2.33 dengan ′ = 1 2 1 + 1 − 2.34

2.6 K-Fold Cross Validation