Algoritme Pelatihan Backpropagation Jaringan Saraf Tiruan Neural Network

2.3.3 Algoritme Pelatihan Backpropagation

Pelatihan backpropagation meliputi 3 fase. Fase pertama adalah fase maju. Pola masukan dihitung maju mulai dari lapisan masukan hingga lapisan keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur. Selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung dengan unit-unit di lapisan keluaran. Fase ketiga adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi. Contoh struktur jaringan saraf tiruan yang akan digunakan pada algoritme ini dapat dilihat pada Lampiran 1. Algoritme pelatihan backpropagation adalah sebagai berikut: Langkah 0. Inisialisasi bobot biasanya digunakan nilai acak yang kecil Langkah 1. Selama syarat henti salah, lakukan langkah 2-9 Langkah 2. Untuk setiap pasangan pelatihan masukan dan target, lakukan 3-8 Fase 1 : Propagasi maju. Langkah 3. Setiap unit masukan X i ,i=1,...,n menerima sinyal masukan x i dan meneruskannya ke seluruh unit pada lapisan di atasnya hidden units. Langkah 4. Setiap unit tersembunyi Z j ,j=1,...,p menghitung total sinyal masukan terboboti     n i ij i j j v x v in z 1 _ 6 lalu menghitung sinyal keluarannya dengan fungsi aktivasi _ j j in z f z  7 dan mengirimkan sinyal ini ke seluruh unit pada lapisan di atasnya lapisan output Langkah 5. Setiap unit output Y k ,k=1,...,m menghitung total sinyal masukan terboboti     p i jk j k k w x w in y 1 _ 8 Lalu menghitung sinyal keluaran dengan fungsi aktivasi _ k k in y f y  9 Fase 2: Propagasi mundur Langkah 6. Setiap unit output Y k ,k=1,...,m menerima sebuah pola target yang sesuai dengan pola masukan pelatihannya. Unit tersebut menghitung informasi kesalahan _ k k k in y f y t    Kemudian menghitung koreksi bobot digunakan untuk mengubah w jk nanti, j k jk z w    dan menghitung koreksi bias k k w    serta mengirimkan nilai k  ke unit lapisan di bawahnya Langkah 7. Setiap unit tersembunyi Z j ,j=1,...,p menghitung selisih input dari unit-unit pada layer diatasnya    m k jk k j w in 1 _   10 lalu mengalikannya dengan turunan fungsi aktivasi untuk menghitung informasi error. __ _ j j j in z f in    11 selanjutnya menghitung koreksi bobot untuk mengubah v ij sebesar i j ij x v    12 dan menghitung koreksi biasnya j j v    Fase 3: Perubahan bobot. Langkah 8. Setiap unit output Y k ,k=1,...,m diubah bias dan bobot-bobotnya j=0,...,p : jk jk jk w old w new w    13 setiap unit tersembunyi Z j ,j=1,...,p diubah bias dan bobot- bobotnya i=1,...,n : ij ij ij v old v new v    14 Langkah 9. Uji syarat henti : Jika besar total squared-error    n k k k y t 1 2 lebih kecil dari toleransi yang telah ditentukan atau jumlah epoh pelatihan sudah mencapai epoh maksimum, maka selesai; jika tidak maka kembali ke langkah 1. Nilai toleransi  yang digunakan adalah 1   

2.3.4 Algoritme Pelatihan Lavenberg-Marquardt