Perhitungan dengan Back Propagation

3.1.11 Perhitungan dengan Back Propagation

Sebagai contoh jaringan dengan sebuah 3 unit layer tersembunyi dibangun untuk mengenali fungsi logika XOR dengan 2 masukan X 1 dan X 2 . Iterasi untuk menghitung bobot jaringan untuk pola pertama X 1 =1, X 2 =1 dan t=0 dan learning rate α=0.2. Gambar 3.14 Jaringan dengan 3 unit hidden layer Bobot-bobot diberikan nilai acak dengan range -1 sampai dengan 1. Misal bobot dari layer input X i ke layer tersembunyi Z i seperti pada Tabel 3.2 dan bobot-bobot dari layer tersembunyi ke layeroutput seperti pada Tabel 3.3. Langkah 0 Untuk algoritma Backpropagasi Inisialisasi Standard: semua bobot dengan bilangan acak kecil. Tabel 3.2 Bobot dari layer input X i ke layer tersembunyi Z i 1 Y 1 Z 1 Z 2 Z 3 1 X 1 X 2 V 10 V 20 V 30 V 11 V 31 V 21 V 12 V 32 V 22 W 10 W 11 W 12 W 12 Universitas Sumatera Utara Z 1 Z 2 Z 3 X 1 0.2 0.3 -0.1 X 2 0.3 0.1 -0.1 1 -0.3 0.3 0.3 Tabel 3.3 Bobot-bobot dari layer tersembunyi ke layeroutput Y Z1 0.5 Z2 -0.3 Z3 -0.4 1 -0.1 Untuk algoritma Backpropagasi Inisialisasi Nguyen Widrow: hitung semua bobot dengan faktor skala Hitung faktor skala ß = 0.7p 1n β = = 0,7 3 = 1,21 Jadi bias yang dipakai adalah faktor skala yang merupakan bilangan acak antara -1,21 hingga 1,21 � 1 = � 11 2 + � 21 2 = 0.2 2 + 0.3 2 = 0.36 � 2 = � 12 2 + � 22 2 = 0.3 2 + 0.1 2 = 0.32 � 3 = � 13 2 + � 23 2 = −0.1 2 + −0.1 2 = 0.14 Tabel berikut merupakan bobot yang dipakai sebagai insialisasi dengan rumus: � = ß � � | � | � 11 = 1.21 ∗0.2 | 0.36 | = 0.67 � 12 = 1.21 ∗0.3 | 0.32 | = 1.13 � 13 = 1.21 ∗−0.1 | 0.14 | = 0.86 Universitas Sumatera Utara � 21 = 1.21 ∗0.3 | 0.36 | = 1 � 22 = 1.21 ∗0.1 | 0.32 | = 0.38 � 23 = 1.21 ∗−0.1 | 0.14 | = 0.86 Tabel 3.4 Bobot dari layer input X i ke layer tersembunyi Z i Z 1 Z 2 Z 3 X 1 1,210,20,36 = 0,67 1,210,30,32 = 1,13 1,21-0,10.14 = 0.86 X 2 1,210,30,36 = 1 1,210,10,32 = 0,38 1,21-0,10.14 = 0.86 Untuk perhitungan bobot-bobot dari layer tersembunyi ke layer output sama dengan standard yaitu secara acak bilangan yang kecil Langkah 1 Jika kondisi penghentian belum terpenuhi, lakukan langkah 2 sampai dengan 8 Langkah 2 Untuk setiap pasang data pelatihan, lakukan langkah 3 sampai dengan 8 Fase I: Propagasi Maju Langkah 3 Tiap unit masukkan menerima sinyal dan meneruskan ke unit tersembunyi Langkah 4 Hitung semua keluaran di unit tersembunyi Z j : Untuk pola pertama X 1 =1, X 2 =1 dan t=0. � = + =1 � 1 = 10 + 2 =1 = 10 + 1 11 + 2 12 = −0,3 + 1 ∗ 0,2 + 1 ∗ 0,3 = 0,2 � 2 = 10 + 2 =1 = 10 + 1 21 + 2 22 = 0,3 + 1 ∗ 0,3 + 1 ∗ 0,1 = 0,7 Universitas Sumatera Utara � 3 = 10 + 2 =1 = 10 + 1 31 + 2 32 = 0,3 + 1 ∗ −0,1 + 1 ∗ −0,1 = 0,1 = � = 1 1 + − _ � 1 = � 1 = 1 1 + − _ � 1 = 1 1 + −0,2 = 0,55 2 = � 2 = 1 1 + − _ � 2 = 1 1 + −0,7 = 0,67 3 = � 3 = 1 1 + − _ � 3 = 1 1 + −0,1 = 0,52 Langkah 5 Hitung semua jaringan di unit keluaran y k _ � = + � =1 � 1 = 10 + � =1 = 10 + 1 11 + 2 12 + 3 13 = −0,1 + 0,55 .0,5 + 0,67 . −0,3 + 0,52 . −0,4 = 0,24 = _ � = 1 1 + − _ � = 1 1 + −0,24 = 0,44 Fase II : Propagasi Maju Langkah 6  k =t k -y k f’y_net k = t k -y k y k 1-y k  1 =t 1 -y 1 f’y_net 1 = t 1 -y 1 y 1 1-y 1 =0-0,440,441-0,44=-0,11 Δw kj = α  k z j Δw 10 = α  1 1=0,2 . -0,11 . 1 =-0,022 Δw 11 = α  1 z 1 =0,2 . -0,11 . 0,55 =-0,01 Δw 12 = α  1 z 2 =0,2 . -0,11 . 0,67 =-0,01 Δw 13 = α  1 z 3 =0,2 . -0,11 . 0,52 =-0,01 Universitas Sumatera Utara Langkah 7 Hitung factor  unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi z j j=1,2,3,…,p _ � =  =1 _ � 1 =  1 . 11 = −0,11 . 0,5 = −0,055 _ � 2 =  1 . 12 = −0,11 . −0,3 = 0,033 _ � 3 =  1 . 13 = −0,11 . −0,4 = 0,044 Faktor kesalahan  unit tersembunyi  j = _net j f’z_net j = _net z j 1-z j  1 = _net 1 z 1 1-z 1 =-0.055.0,55.1-0,55=-0,01  2 = _net 2 z 2 1-z 2 =0.033.0,67.1-0,67=0,01  3 = _net 3 z 3 1-z 3 =0.044.0,52.1-0,52=0,01 Δv ji =α  j x i Δv10 =α 1 =0,2-0,011 = -0,002 Δv20 =α 2 =0,20,011 =0,002 Δv30 =α 3 =0,20,011 =0,002 Δv11 =α 1x1 =0,2-0,011 =-0,002 Δv21 =α 2x1 =0,20,011 =0,002 Δv31 =α 3x1 =0,20,011 =0,002 Δv12 =α 1x2 =0,2-0,011 =-0,002 Δv22 =α 2x2 =0,20,011 =0,002 Δv32 =α 3x2 =0,20,011 =0,002 Fase III : Perubahan Bobot Langkah 8 Perubahan bobot garis yang menuju unit keluaran wkj baru = wkj lama + Δwkj w10 baru = w10 lama + Δw10 = -0,1-0,022 =-0,122 w11 baru = w11 lama + Δw11 =0,5-0,01 =0,49 w12 baru = w12 lama + Δw12 =-0,3-0,01 =0,31 w13 baru = w13 lama + Δw13 =-0,4-0,01 =0,41 Universitas Sumatera Utara Vji baru = vji lama + Δvji V10 baru = v10 lama + Δv10 =-0,3-0,002 =-0,302 V20 baru = v20 lama + Δv20 =0,3+0,002 =0,302 V30 baru = v30 lama + Δv30 =0,3+0,002 = 0,302 V11 baru = v11 lama + Δv11 =0,2-0,002 =0,198 V21 baru = v21 lama + Δv21 =0,3+0,002 =0,302 V31 baru = v31 lama + Δv31 =-0,1+0,002 =-0,098 V12 baru = v12 lama + Δv12 =0,3-0,002 =0,298 V22 baru = v22 lama + Δv22 =0,1+0,002 =0,102 V32 baru = v32 lama + Δv32 =-0,1+0,002 =-0,098 Untuk pola yang kedua, X 1 =1, X 2 =0 dan t=1 Fase I: Propagasi Maju Langkah 3 Tiap unit masukkan menerima sinyal dan meneruskan ke unit tersembunyi Langkah 4 Hitung semua keluaran di unit tersembunyi Z j : � = + =1 � 1 = 10 + 2 =1 = 10 + 1 11 + 2 12 = −0,3 + ∗ 0,2 + ∗ 0,3 = −0,1 � 2 = 10 + 2 =1 = 10 + 1 21 + 2 22 = 0,3 + ∗ 0,3 + ∗ 0,1 = 0,6 � 3 = 10 + 2 =1 = 10 + 1 31 + 2 32 = 0,3 + ∗ −0,1 + ∗ −0,1 = 0,2 = � = 1 1 + − _ � 1 = � 1 = 1 1 + − _ � 1 = 1 1 + − , = 0,55 2 = � 2 = 1 1 + − _ � 2 = 1 1 + , � = 0,67 Universitas Sumatera Utara 3 = � 3 = 1 1 + − _ � 3 = 1 1 + − , = 0,52 Langkah 5 Hitung semua jaringan di unit keluaran y k _ � = + � =1 � 1 = 10 + � =1 = 10 + 1 11 + 2 12 + 3 13 = −0,1 + 0,55 ∗ 0,5 + 0,67 ∗ −0,3 + 0,52 ∗ −0,4 = 0,24 = _ � = 1 1 + − _ � = 1 1 + − , � = 0,44 Fase II : Propagasi Maju Langkah 6  k =t k -y k f’y_net k = t k -y k y k 1-y k  1 =t 1 -y 1 f’y_net 1 = t 1 -y 1 y 1 1-y 1 =0-0,44 0,44 1-0,44=-0,11 Δw kj = α  k z j Δw 10 = α  1 1 =0,2 -0,11 1 =-0,022 Δw 11 = α  1 z 1 =0,2 -0,11 0,55 =-0,01 Δw 12 = α  1 z 2 =0,2 -0,11 0,67 =-0,01 Δw 13 = α  1 z 3 =0,2 -0,11 0,52 =-0,01 Langkah 7 Hitung factor  unit tersembunyi berdasarkan error di setiap unit tersembunyi z j j=1,2,3,…,p _ � =  =1 _ � 1 =  1 ∗ 11 = −0,11 ∗ 0,5 = −0,055 _ � 2 =  1 ∗ 12 = −0,11 ∗ −0,3 = 0,033 _ � 3 =  1 ∗ 13 = −0,11 ∗ −0,4 = 0,044 Universitas Sumatera Utara Faktor error  unit tersembunyi  j = _net j f’z_net j = _net z j 1-z j  1 = _net z 1 1-z 1 =-0.055 0,55 1-0,55 =-0,01  2 = _net z 2 1-z 2 =0.033 0,67 1-0,67 =0,01  3 = _net z 3 1-z 3 =0.044 0,52 1-0,52 =0,01 Δvji =α jxi Δv10 =α 1 =0,2-0,011 = -0,002 Δv20 =α 2 =0,20,011 =0,002 Δv30 =α 3 =0,20,011 =0,002 Δv11 =α 1x1 =0,2-0,011 =-0,002 Δv21 =α 2x1 =0,20,011 =0,002 Δv31 =α 3x1 =0,20,011 =0,002 Δv12 =α 1x2 =0,2-0,011 =-0,002 Δv22 =α 2x2 =0,20,011 =0,002 Δv32 =α 3x2 =0,20,011 =0,002 Fase III : Perubahan Bobot Langkah 8 Perubahan bobot garis yang menuju unit keluaran w kj baru = w kj lama + Δw kj w 10 baru = w 10 lama + Δw 10 = -0,1-0,022 =-0,122 w 11 baru = w 11 lama + Δw 11 =0,5-0,01 =0,49 w 12 baru = w 12 lama + Δw 12 =-0,3-0,01 =0,31 w 13 baru = w 13 lama + Δw 13 =-0,4-0,01 =0,41 V ji baru = v ji lama + Δv ji V 10 baru = v 10 lama + Δv 10 =-0,3-0,002 =-0,302 V 20 baru = v 20 lama + Δv 20 =0,3+0,002 =0,302 V 30 baru = v 30 lama + Δv 30 =0,3+0,002 = 0,302 V 11 baru = v 11 lama + Δv 11 =0,2-0,002 =0,198 V 21 baru = v 21 lama + Δv 21 =0,3+0,002 =0,302 Universitas Sumatera Utara V 31 baru = v 31 lama + Δv 31 =-0,1+0,002 =-0,098 V 12 baru = v 12 lama + Δv 12 =0,3-0,002 =0,298 V 22 baru = v 22 lama + Δv 22 =0,1+0,002 =0,102 V 32 baru = v 32 lama + Δv 32 =-0,1+0,002 =-0,098 Lanjutkan dengan pola yang lainnya: Pola ke 2 X1=1, X2=0, t=1 Pola ke 3 X1=0, X2=1, t=1 Pola ke 4 X1=0, X2=0, t=0 3.2 Perancangan 3.2.1 Perancangan Aplikasi