Algoritma Pelatihan Backpropagation Metode

16 yang menghubungkan bias di neuron input ke neuron layar tersembunyi Zj. Wkj merupakan bobot dari neuron layar tersembunyi Zj ke neuron keluaran Yk Wk0 merupakan bobot dari bias di layar tersembunyi ke neuron keluaran Yk. Pelatihan Backpropagation meliputi tiga fase, yaitu :

1. Fase I: Propagasi maju

Selama propagasi maju, sinyal masukan dipropagasikan ke hidden layer menggunakan fungsi aktivasi yang telah ditentukan hingga menghasilkan keluaran jaringan. Keluaran jaringan dibandingkan dengan target yang harus dicapai. Selisih antara target dengan keluaran merupakan kesalahan yang terjadi. Jika kesalahan lebih kecil dari batas toleransi, maka iterasi dihentikan. Akan tetapi jika kesalahan lebih besar, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi.

2. Fase II: Propagasi mundur

Kesalahan yang terjadi di propagasi mundur mulai dari garis yang berhubungan langsung dengan neuron-neuron dilayar keluaran.

3. Fase III: Perubahan bobot

Pada fase ini, bobot semua garis dimodifikasi secara bersamaan. Ketiga fase tersebut diulang- ulang terus hingga kondisi penghentian dipenuhi. Kondisi penghentian yang sering dipakai adalah jumlah maksimal iterasi epoch atau minimal kesalahan error.

2.3.2. Algoritma Pelatihan Backpropagation

Berikut adalah algoritma pelatihan Backpropagation dengan arsitektur satu hidden layer Fausset, 1994: Langkah 0 Inisialisasi bobot set dengan bilangan acak kecil Langkah 1 Jika kondisi berhenti masih belum terpenuhi, lakukan langkah 2-9. Langkah 2 Untuk setiap pasang pelatihan, lakukan langkah 3-8 Feedforwad Langkah 3 Setiap neuron input , = 1, … , menerima sinyal input dan meneruskan sinyal ini kesemua neuron pada lapisan di atasnya hidden Universitas Sumatera Utara 17 neuron. Berikut merupakan ilustrasi bagaimana sinyal dipropagasikan keseluruh input layer. merupakan bobot penghubung pada input layer. Gambar 2.6 Propagasi sinyal ke neuron pertama pada input layer www.home.agh.edu.pl Gambar 2.7 Propagasi sinyal ke neuron kedua pada input layer www.home.agh.edu.pl Gambar 2.8 Propagasi sinyal ke neuron ketiga pada input layer www.home.agh.edu.pl Langkah 4 Setiap hidden neuron , = 1, … , � menjumlahkan bobot dari sinyal-sinyal inputnya. _ = + =1 10 Kemudian gunakan fungsi aktivasi untuk menghitung nilai sinyal outputnya. Universitas Sumatera Utara 18 = _ 11 Dan kirimkan sinyal ini ke semua neuron yang berada pada lapisan diatasnya output neuron. Gambar berikut merupakan ilustrasi bagaimana sinyal dipropagasikan keseluruh hidden layer. merupakan bobot penghubung pada hidden layer. Gambar 2.9 Propagasi sinyal ke neuron pertama pada hidden layer www.home.agh.edu.pl Gambar 2.10 Propagasi sinyal ke neuron kedua pada hidden layer www.home.agh.edu.pl Langkah 5 Setiap output neuron , = 1, … , menjumlahkan bobot dari sinyal-sinyal inputnya. _ = + � =1 12 Dan menerapkan fungsi aktivasinya untuk menghitung nilai sinyal outputnya. = 13 Gambar 2.11 merupakan ilustrasi yang dapat menjelaskan bagaimana sinyal dipropagasikan ke output layer. Universitas Sumatera Utara 19 Gambar 2.11 Propagasi sinyal ke neuron output www.home.agh.edu.pl Backpropagation error Langkah 6 Setiap neuron output , = 1, … , menerima sebuah pola target yang sesuai pada input pola pelatihan, kemudian menghitung informasi kesalahannya. = − ′ _ 14 Hitung koreksi bobot yang nantinya akan dipakai untuk merubah bobot ∆ = 15 Hitung koreksi bias yang nantinya akan digunakan untuk merubah bobot ∆ = 16 Dan kirim ke neuron pada lapisan dibawahnya. Berikut ini adalah ilustrasi dari prosesnya. Gambar 2.12 Perbandingan sinyal keluaran dan target www.home.agh.edu.pl Langkah 7 Setiap hidden neuron , = 1, … , � menjumlahkan delta input dari neuron yang berada dilapisan bawahnya, _ = =1 17 Universitas Sumatera Utara 20 Mengalikan dengan turunan dari fungsi aktivasinya untuk menghitung informasi errornya. = _ ′ _ 18 Hitung koreksi bobotnya yang nantinya akan digunakan untuk mengupdate ∆ = 19 Dan hitung koreksi biasnya yang nantinya akan digunakan untuk mengupdate . ∆ = 20 Prosesnya dapat dilihat dari ilustrasi gambar 2.13 dan 2.14 berikut ini: Gambar 2.13 Propagasi sinyal error Δ Ke f4E www.home.agh.edu.pl Gambar 2.14 Propagasi sinyal error Δ Ke f5E www.home.agh.edu.plx Koefisien bobot Wmn digunakan untuk mempropagasikan error kembali adalah sama dengan bobot sebelumnya selama mengkomputasikan nilai keluaran. Hanya ketika arah alur data berubah Universitas Sumatera Utara 21 sinyal di propagasikan dari keluaran ke masukan. Teknik ini digunakan untuk semua lapisan jaringan. Apabila propagasikan error datang dari beberapa neuron, seperti yang terlihat pada gambar 2.14 sampai 2.16 berikut: Gambar 2.15 Propagasikan Sinyal Error Δ Ke f1E www.home.agh.edu.pl Gambar 2.16 Propagasikan Sinyal Error Δ Ke f2E www.home.agh.edu.pl Gambar 2.17 Propagasikan Sinyal Error Δ Ke f3E Fajri, 2011 Universitas Sumatera Utara 22 Update weight and bias Langkah 8 Setiap neuron output , = 1, … , mengupdate bias dan bobot- bobotnya j=0, . . . ,p: = + ∆ 21 Setiap hidden neuron , = 1, … , � mengupdate bias dan bobot- bobotnya i= 0, . . ., n = + ∆ 22 Gambar 2.17 sampai dengan gambar 2.22 merupakan ilustrasi dari proses pengupdate-an bobot: Gambar 2.18 Modifikasi Bobot Δ1 www.home.agh.edu.pl Gambar 2.19 Modifikasi Bobot Δ2 www.home.agh.edu.pl Universitas Sumatera Utara 23 Gambar 2.20 Modifikasi Bobot Δ3 www.home.agh.edu.pl Gambar 2.21 Modifikasi Bobot Δ4 www.home.agh.edu.pl Gambar 2.22 Modifikasi Bobot Δ5 www.home.agh.edu.pl Universitas Sumatera Utara 24 Gambar 2.23 Modifikasi Bobot Δ6 www.home.agh.edu.pl Langkah 9 Tes kondisi berhenti dapat dilakukan ketika error yang dihasilkan oleh jaringan berada pada nilai yang lebih kecil sama dengan ≤ error target yang diharapkan atau ketika telah mencapai iterasi epoch maksimal yang telah ditetapkan. Berikut ini adalah contoh perhitungan sederhana dari arsitektur Backpropagation yang dilakukan secara manual: X 2 X 3 X 4 X 1 b X 5 Z 2 Z 3 Z 1 Y 1 b V11 V12 V13 V21 V22 V23 V31 V32 V33 V41 V42 V43 V51 V52 V53 Z11 Z21 Z22 Gambar 2.24 Contoh Arsitektur Backpropagation Arsitektur Backpropagation yang terdiri dari 5 buah neuron ditambah sebuah bias pada input layer dan 3 buah neuron pada hidden layer ditambah sebuah bias dan satu Universitas Sumatera Utara 25 buah output layer. Nilai target pada jaringan adalah 1 dan learning rate = 0.25. Mula-mula bobot diberi nilai acak pada range [-1, 1]. Misal terdapat bobot seperti tabel 2.1 bobot dari input layer ke hidden layer = dan tabel 2.2 bobot dari hidden layer ke output layer = . Tabel 2.1 Bobot dari input layer ke hidden layer � � � � = 4 -1 0.75 -0.25 � = 7 0.4 0.23 0.11 � = 11 0.17 0.05 -0.18 � = 6 0.29 0.55 0.03 � = 21 0.21 1 0.15 b = 1 0.2 -08 1 Tabel 2.2 Bobot dari hidden layer ke output layer Y � 0.1 � 0.03 � 0.5 b =1 0.1 Normalisasi data input kedalam range [0, 1] dengan menggunakan rumus berikut: x′ = 0.8 x − min max − min + 0.1 Siang, 2004 Keterangan: x ’ = x yang telah dinormalisasi x = x sebelum dinormalisasi min = nilai minimum dari seluruh data max = nilai maksimum dari seluruh data Universitas Sumatera Utara 26 Maka didapatkan hasil input normalisasi dengan nilai minimum = 4 dan nilai maksimum = 21. X 1 ′ = 0.8 4 − 4 21 − 4 + 0.1 = 0.1 X 2 ′ = 0.8 7 − 4 21 − 4 + 0.1 = 0.24 X 3 ′ = 0.8 11 − 4 21 − 4 + 0.1 = 0.33 X 4 ′ = 0.8 6 − 4 21 − 4 + 0.1 = 0.19 X 5 ′ = 0.8 21 − 4 21 − 4 + 0.1 = 0.9 Hitung nilai output dari masing-masing hidden neuron dengan persamaan 10: _ = + =1 1 = 1 0.2 + 0.1 −1 + 0.24 0.4 + 0.33 0.17 + 0.19 0.29 + 0.9 0.21 = 0.2 + −0.1 + 0.096 + 0.561 + 0.551 + 0.189 = 1.48 2 = 1 −0.8 + 0.1 0.75 + 0.24 0.23 + 0.33 0.05 + 0.19 0.55 + 0.9 1 = −0.8 + 0.75 + 0.552 + 0.165 + 0.104 + 0.9 = 1.67 3 = 1 1 + 0.1 −0.25 + 0.24 0.11 + 0.33 −0.18 + 0.19 0.03 + 0.9 0.15 = 1 + −0.25 + 0.026 + −0.059 + 0.006 + 0.135 = 0.86 Kemudian terapkan fungsi aktivasi untuk masing-masing neuronnya menggunakan persamaan 11, dalam soal ini diterapkan fungsi aktivasi sigmoid biner. = _ = 1 1+ − Universitas Sumatera Utara 27 1 = 1 1+ −1.48 = 1.23 2 = 1 1+ −1.67 = 1.19 3 = 1 1+ −0.86 = 1.42 Hitung nilai output dari neuron Y menggunakan persamaan 12 seperti berikut: _ = + � =1 Karena jaringan hanya memiliki sebuah output Y, maka = 1 0.1 + 1.23 0.1 + 1.19 0.03 + 1.420.5 = 0.97 = = 1 1+ − = 1 1+ −0.97 = 1.38 Hitung faktor pada neuron output Y sesuai dengan persamaan 14 = − ′ _ = − 1 − = 1 − 1.38 1.38 1 − 1.38 = 0.20 Suku perubahan bobot dengan = 0.25 adalah sebagai berikut: ∆ = ; = 0,1 … 3 ∆ 10 = 0.25 0.20 1 = 0.05 ∆ 11 = 0.25 0.20 1.23 = 0.01 ∆ 12 = 0.25 0.20 1.19 = 0.06 ∆ 13 = 0.25 0.20 1.42 = 0.07 Hitung penjumlahan kesalahan di hidden neuron = : _ = =1 karena jaringan hanya memiliki sebuah neuron output maka _ = 1 1 = 0.20 0.1 = 0.20 _ 2 = 0.20 0.03 = 0.01 _ 3 = 0.20 0.5 = 0.1 Universitas Sumatera Utara 28 Faktor kesalahan di hidden neuron: = _ ′ _ = _ 1 − 1 = 0.20 1.23 1 − 1.23 = −0.06 2 = 0.01 1.19 1 − 1.19 = −0.002 3 = 0.1 1.42 1 − 1.42 = −0.06 Suku perubahan bobot ke hidden neuron ∆ = dimana = 1,2,3; = 0,1, … 5 . Tabel 2.3 Suku Perubahan Bobot Hidden Neuron � � � � ∆ 11 = 0.25 −0.06 0.1 = −0.0015 ∆ 21 = 0.25 −0.002 0.1 = −0.00005 ∆ 31 = 0.25 −0.06 0.1 = −0.0015 � ∆ 12 = 0.25 −0.06 0.24 = −0.004 ∆ 22 = 0.25 −0.002 0.24 = −0.0012 ∆ 32 = 0.25 −0.06 0.24 = −0.004 � ∆ 13 = 0.25 −0.06 0.33 = −0.005 ∆ 23 = 0.25 −0.002 0.33 = −0.000165 ∆ 33 = 0.25 −0.06 0.33 = −0.005 � ∆ 14 = 0.25 −0.06 0.19 = −0.003 ∆ 24 = 0.25 −0.002 0.19 = −0.000095 ∆ 34 = 0.25 −0.06 0.19 = −0.003 � ∆ 15 = 0.25 −0.06 0.9 = −0.01 ∆ 25 = 0.25 −0.002 0.9 = −0.00045 ∆ 35 = 0.25 −0.06 0.9 = −0.01 b=1 ∆ 10 = 0.25 −0.06 1 = −0.02 ∆ 20 = 0.25 −0.002 1 = −0.0005 ∆ 30 = 0.25 −0.06 1 = −0.02 Universitas Sumatera Utara 29 Perubahan bobot neuron output: = + ∆ = 1; = 0, … ,3 11 = 0.1 + 0.01 = 0.11 12 = 0.03 + 0.06 = 0.09 13 = 0.5 + 0.07 = 0.57 10 = 0.1 + 0.05 = 0.15 Perubahan bobot hidden neuron: = + ∆ = 1; = 0, … ,5 Tabel 2.4 Perubahan Bobot Hidden Neuron � � � � ∆ 11 = −1 + −0.0015 = −1.0015 ∆ 21 = 0.75 + −0.00005 = 0.75 ∆ 31 = −0.25 + −0.0015 = −0.25 � ∆ 12 = 0.4 + −0.004 = 0.40 ∆ 22 = 0.23 + −0.0012 = 0.23 ∆ 32 = 0.11 + −0.004 = 0.11 � ∆ 13 = 0.17 + −0.005 = 0.17 ∆ 23 = 0.055 + −0.000165 = 0.55165 ∆ 33 = −0.18 + 0.005 = −0.18 � ∆ 14 = 0.29 + −0.003 = 0.29 ∆ 24 = 0.55 + −0.000095 = 0.55 ∆ 34 = 0.03 + −0.003 = 0.3 � ∆ 15 = 0.21 + −0.01 = 0.2 ∆ 25 = 1 + −0.00045 = 0.9995 ∆ 35 = 0.15 + −0.01 = 0.15 b=1 ∆ 10 = 0.2 + −0.02 = 0.18 ∆ 20 = −0.8 + −0.0005 = −0.8 ∆ 30 = 1 + −0.02 = 0.98 Ulangi iterasi hingga maksimal epoch atau Error Jaringan ≤ Error target. Universitas Sumatera Utara 30

2.3.3. Inisialisasi Bobot Awal dan Bias