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