TINJAUAN PUSTAKA
2.4. Algoritma Backpropagation
Pelatihan algoritma backpropagation meliputi 2 fase yaitu
a. Fasepropagsi maju (feedforward) pola pelatihan masukan. b. Fase propasi mundur (backpropagation) dari error yang terkait. c. Fase modifikasi bobot
PenempatanBackpropagation metode gradient descent berusaha memperkecil error pada jaringan dengan memindahkan kebawah kurva error gradient. Algoritma jenis ini banyak digunakan serta dikombinasikan dengan yang lain dan diterapkan pada banyak aplikasi yang berbeda (alsmadiet al, 2009)
Selama fase maju algoritma ini memetakan nilai masukan untuk mendapatkan keluaran yang diharapkan.Untuk menghasilkan keluaran pola maka didapatkan dari rekapitulasi bobot masukan dan dipetakan untuk fungsi aktivasi jaringan. Keluaran dapat dihitung sebagai berikut
= !" (2.5)
# $%&. = ' ( )*+ + - (2.6)
dengan :
oj : input dari j unit
wij : bobot yang dihubungkan dari unit I ke unit j anet,j : jaringan keluaran untuk j unit
j : bias untuk j unit
Di dalam fase mundur, pola keluaran (aktual output) kemudian dibandingkan dengan keluaran yang dikehendaki dan sinyal error dihitung untuk masing – masing output. Sinyal-sinyal kemudian merambat mundur dari lapisan output ke masing-masing unit dalam lapisan lapisan transisi memberikan kontribusi langsung ke output, dan bobot disesuaikan iterasi selama proses pembelajaran, kemudian error diperkecil selama descent direction. Fungsi error pada outputneuron digambarkan sebagai berikut :
. =/'0
12 &1− 1 / (2.7)
dengan,
n : angka pada modul keluaran didalam lapisan output tk : keluaran yang dikendaki dari keluaran unit k
ok : keluaran jaringan dari keluaran unit k
2.4.1. Fase Propagasi Maju
Selama propagasi maju, sinyal masukan (x1) dipropagasikan ke layer tersembunyi menggunakan fungsi aktivasi yang ditentukan.Keluaran dari unit tersembuyi (Z1) tersebut selanjutnya dipropagasi maju lagi ke layer tersembunyi berikutnya dengan fungsi aktivasi yang telah ditentukan. Dan seterusnya hingga menghasilkan keluaran jaringan (yk).
Berikutnya, keluaran jaringan (yk) dibandingkan dengan target yang harus dicapai (tk)..Jika erro lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Jika error masih lebih besar dari batas toleransi, maka bobot setiap garis dari jaringan akan dimodifikasi untuk mengurangi error.
2.4.2. Fase Propagasi Mundur
Berdasarkan kesalahan tk- ykdihitung faktor k(k= 1, ..., m) yang dipakai untuk mendistribusikan kesalahan di unit Yke semua unit tersembunyi yang terhubung langsung dengan yk. kjuga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran.
Dengan cara yang sama, dihitung faktor jdi setiap layer tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layer di bawahnya. Dan seterusnya hingga semua faktor di unit tersembunyi yang terhubung langsung dengan unit masukan.
2.4.3. Fase Modifikasi Bobot
Setelah semua faktor dihitung, bobot semua garis dimodifikasi bersamaan.Perubahan bobot suatu garis didasarkan atas faktor neuron di layer atasnya.Sebagai contoh, perubahan bobot garis yang menuju ke layer keluaran didasarkan atas yang ada di unit keluaran
Ketiga fase tersebut diulang-ulang hingga kondisi penghentian dipenuhi.Umumnya kondisi penghentian yang sering dipakai adalah jumlah interasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika error yang terjadi sudah lebih kecil dari batas toleransi yang ditetapkan.
2.4.4. Prosedur Pelatihan
Menurut Fausset (1994) langkah prosedur pelatihan sebagai berikut :
Langkah 0 : Inisialisasi bobot keterhubungan antara neuron dengan menggunakan
bilangan acak kecil (-0.5 sampai +0.5).
Langkah 1 : Kerjakan langkah 2 sampai langkah 9 selama kondisi berhenti yang
ditentukan tidak dipenuhi.
Langkah 2 : Kerjakan langkah 3 sampai langkah 8 untuk setiappasangan pelatihan.
Propagasi maju
Langkah 3 : Setiap unit masukan (xi,i = 1,…., n) menerima sinyal masukan xi,dan
menyebarkannya ke seluruh unit pada lapisan tersembunyi
Langkah 4 : Setiap unit tersembunyi (xi, I = 1,…….,p) jumlahkan bobot sinyal
masukannya :
3_ $5 = 6 5+ '0*2 * 6*5 (2.8)
voj = bias pada unit tersembunyi j aplikasikan fungsi aktivasinya untuk menghilangkan sinyal keluarannya, zj = f (z_inj), dan kirimkan sinyal ini keseluruh unit pada lapisan diatasnya (unit keluaran)
Langkah 5 : tiap unit keluaran (yk, k = 1,…….m) jumlahkanbobot sinyal
masukannya :
(2.9) wok = bias pada unit keluaran k dan aplikasikan fungsi aktivasinya untuk menghitung sinyal keluarannya, yk = f(y_ink)
` Propagasi balik p j jk j k k wo z w in y 1 _
Langkah 6 : Tiap unit keluaran (yk, k = 1,…..,m) menerima pola target yang saling berhubungan pada masukan pola pelatihan, hitung kesalahan informasinya,
71 = &1 − 1 ′ *09 (2.10) hitung koreksi bobotnya (digunakan untuk mempengaruhi wjknantinya),
∆(51 = ; 7135 (2.11)
hitung koreksi biasnya (digunakan untuk mempengaruhi woknantinya)
∆( 12 ; 71 (2.12) Dankirimkan k ke unit-unit pada lapisan dibawahnya,
Langkah 7 : Setiap unit lapisan tersembunyi (zj, j = 1,…..p) jumlah hasil perubahanmasukannya (dari unit-unit lapisan diatasnya),
7_ $5 = '<12 71(51 (2.13) kalikan dengan turunan fungsi aktivasinya untuk menghitung informasi kesalahannya,
75 = 7_ $5 ′ 3_ $5)
hitung koreksi bobotnya (digunakan untuk memperbaharui vojnanti) (2.15) hitung koreksi bias
(2.16) Langkah 8 : Update bobot dan bias pada hubungan antar lapisan
(2.17)
(2.18) Langkah 9 : Tes kondisi terhenti
Jika stop condition telah terpenuhi, maka pelatihan dapat dihentikan. Ada dua cara yang dapat dilakukan untuk menentukan stopping condition (test kondisi berhenti), yaitu :
Cara 1 : membatasi jumlah iterasi yang ingin dilakukan (satu iterasi merupakan perulangan langkah 3 sampai dengan langkah 8 untuk semua training data yang ada)
Cara 2 : membatasi error, metode yang digunakan adalah Mean
Square Error, untuk menghitung rata – rata antara output
i j ij x v j j vo jk jk jk baru w lama w w ( ) ( ) ij ij ij baru v lama v v ( ) ( )
yang dikendaki pada training data dengan output yang dihasilkan oleh jaringan.
2.4.5. Prosedur Pengujian
Setelah pelatihan, jaringan syaraf backpropagation diaplikasikan dengan hanya menggunakan tahap perambatan maju dari algoritma pelatihan. Prosedur aplikasinya adalah sebagai berikut :
Langkah 0 : Inisialisasi bobot (dari algoritma pelatihan) Langkah 1 : Untuk tiap vektor masukan, lakukan langkah 2-4 Langkah 2 : = = 1, … … . $ : atur aktivasi unit masukan xi Langkah 3 : = = 1, … . . , @:
3*05 = 6B5 'GDHICDEDF (2.18)
352J K_*0F (2.19)
Langkah 4 : _DG9 = (L1+ '052 35 MF9 (2.20)
12J N_DG9 (2.21)
Langkah 5 : Jika 1 ≥ 0,5 O#P# 1 = 1, %QR% 1= 0
Adapun notasi – notasi yang digunakan pada algoritma backpropagation adalah ; X Data training untuk input
x = ( x1,…,xi,…,xn )
t Data training untuk output (target/desired output) t = ( t1,…,tk,…,tm )
Learning rate, yaitu parameter yang mengontrol perubahan bobot selama pelatihan. Jika learning rate besar, jaringan semakin cepat belajar, tetapi hasilnya kurang akurat. Learning rate biasanya dipilih antara 0 dan 1 Xi Unit input ke-i. untuk unit input, sinyal yang masuk dan keluar pada
suatu unit dilambangkan dengan variabel yang sama, yaitu xi Zj Hidden unit ke-j. sinyalinput pada Zjdilambangkan dengan
3
*0output (aktivasi) untuk Zj dilambangkan dengan zj Voj Bias untuk hidden unit ke-j
Vij Bobot antara unit input ke-i dan hidden unit ke-j
Yk Unit output ke-k. sinyalinput ke Yk dilambangkan *0
9
.
Sinyal output (aktivasi) untuk Yk dilambangkan dengan ykWok Bias untuk unit output ke-k
Wjk Bobot antara hidden unit ke-j dan unit output ke-k k Faktor koreksi error untuk bobot Wjk
j Faktor koreksi error untuk bobot Vij