Contoh:
Gunakan backpropagation dengan sebuah layer tersembunyi (dengan 3 unit), untuk mengenali fungsi logika XOR dengan 2 masukan X1 dan X2. Buatlah iterasi untuk menghitung bobot jaringan untuk pola pertama (X1=1, X2=1 dan t=0). Gunakan laju pemahaman α=0.2.
Penyelesaian
Bobot-bobot diberikan nilai acak dengan range -1 sampai dengan 1. Missal
bobot dari layer input ke layer tersembunyi seperti pada table a dan bobot-bobot
dari layer tersembunyi ke layer output seperti pada table b.
Langkah 0
Inisialisasi semua bobot dengan bilangan acak kecil.
Table a
Table b
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 (Zj):
Langkah 5
Hitung semua jaringan di unit keluaran (yk)
Fase II : Propagasi Maju
Langkah 6
dk=(tk-yk) f’(y_netk)= (tk-yk) yk (1-yk)
d1=(t1-y1) f’(y_net1)= (t1-y1) y1 (1-y1)=(0-0,44) 0,44 (1-0,44)=-0,11
Δwkj= α dk zj
Δw10= α d1 (1)=0,2 . (-0,11) . (1)=-0,022
Δw11= α d1 (z1)=0,2 . (-0,11) . (0,55)=-0,01
Δw12= α d1 (z2)=0,2 . (-0,11) . (0,67)=-0,01
Δw13= α d1 (z3)=0,2 . (-0,11) . (0,52)=-0,01
Langkah 7
Hitung factor d unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj (j=1,2,3,…,p)
Faktor kesalahan unit tersembunyi
dj = d_netj f’(z_netj)= d_net zj (1-zj)
d1 = d_net1 z1 (1-z1)=(-0.055).0,55.(1-(0,55))=-0,01
d2 = d_net2 z2 (1-z2)=(0.033).0,67.(1-(0,67))=0,01
d3 = d_net3 z3 (1-z3)=(0.044).0,52.(1-(0,52))=0,01
Δvji=α djxi
Δv10=α d1=0,2*(-0,01)*1= -0,002
Δv20=α d2=0,2*(0,01)*1=0,002
Δv30=α d3=0,2*(0,01)*1=0,002
Δv11=α d1x1=0,2*(-0,01)*1=-0,002
Δv21=α d2x1=0,2*(0,01)*1=0,002
Δv31=α d3x1=0,2*(0,01)*1=0,002
Δv12=α d1x2=0,2*(-0,01)*1=-0,002
Δv22=α d2x2=0,2*(0,01)*1=0,002
Δv32=α d3x2=0,2*(0,01)*1=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
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,0020,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, X1=1, X2=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 (Zj):
Langkah 5
Hitung semua jaringan di unit keluaran (yk)
Fase II : Propagasi Maju
Langkah 6
dk=(tk-yk) f’(y_netk)= (tk-yk) yk (1-yk)
d1=(t1-y1) f’(y_net1)= (t1-y1) y1 (1-y1)=(0-0,44) 0,44 (1-0,44)=-0,11
Δwkj= α dk zj
Δw10= α d1 (1)=0,2 . (-0,11) . (1)=-0,022
Δw11= α d1 (z1)=0,2 . (-0,11) . (0,55)=-0,01
Δw12= α d1 (z2)=0,2 . (-0,11) . (0,67)=-0,01
Δw13= α d1 (z3)=0,2 . (-0,11) . (0,52)=-0,01
Langkah 7
Hitung factor d unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj (j=1,2,3,…,p)
Faktor kesalahan unit tersembunyi
dj = d_netj f’(z_netj)= d_net zj (1-zj)
d1 = d_net z1 (1-z1)=(-0.055).0,55.(1-(0,55))=-0,01
d2 = d_net z2 (1-z2)=(0.033).0,67.(1-(0,67))=0,01
d3 = d_net z3 (1-z3)=(0.044).0,52.(1-(0,52))=0,01
Δvji=α djxi
Δv10=α d1=0,2*(-0,01)*1= -0,002
Δv20=α d2=0,2*(0,01)*1=0,002
Δv30=α d3=0,2*(0,01)*1=0,002
Δv11=α d1x1=0,2*(-0,01)*1=-0,002
Δv21=α d2x1=0,2*(0,01)*1=0,002
Δv31=α d3x1=0,2*(0,01)*1=0,002
Δv12=α d1x2=0,2*(-0,01)*1=-0,002
Δv22=α d2x2=0,2*(0,01)*1=0,002
Δv32=α d3x2=0,2*(0,01)*1=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
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,0020,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
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
Gunakan backpropagation dengan sebuah layer tersembunyi (dengan 3 unit), untuk mengenali fungsi logika XOR dengan 2 masukan X1 dan X2. Buatlah iterasi untuk menghitung bobot jaringan untuk pola pertama (X1=1, X2=1 dan t=0). Gunakan laju pemahaman α=0.2.
Penyelesaian
|
Langkah 0
Inisialisasi semua bobot dengan bilangan acak kecil.
Table a
z1 | Z2 | Z3 | |
X1 | 0.2 | 0.3 | -0.1 |
X2 | 0.3 | 0.1 | -0.1 |
1 | -0.3 | 0.3 | 0.3 |
Table b
Y | |
Z1 | 0.5 |
Z2 | -0.3 |
Z3 | -0.4 |
1 | -0.1 |
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 (Zj):
Langkah 5
Hitung semua jaringan di unit keluaran (yk)
Fase II : Propagasi Maju
Langkah 6
dk=(tk-yk) f’(y_netk)= (tk-yk) yk (1-yk)
d1=(t1-y1) f’(y_net1)= (t1-y1) y1 (1-y1)=(0-0,44) 0,44 (1-0,44)=-0,11
Δwkj= α dk zj
Δw10= α d1 (1)=0,2 . (-0,11) . (1)=-0,022
Δw11= α d1 (z1)=0,2 . (-0,11) . (0,55)=-0,01
Δw12= α d1 (z2)=0,2 . (-0,11) . (0,67)=-0,01
Δw13= α d1 (z3)=0,2 . (-0,11) . (0,52)=-0,01
Langkah 7
Hitung factor d unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj (j=1,2,3,…,p)
Faktor kesalahan unit tersembunyi
dj = d_netj f’(z_netj)= d_net zj (1-zj)
d1 = d_net1 z1 (1-z1)=(-0.055).0,55.(1-(0,55))=-0,01
d2 = d_net2 z2 (1-z2)=(0.033).0,67.(1-(0,67))=0,01
d3 = d_net3 z3 (1-z3)=(0.044).0,52.(1-(0,52))=0,01
Δvji=α djxi
Δv10=α d1=0,2*(-0,01)*1= -0,002
Δv20=α d2=0,2*(0,01)*1=0,002
Δv30=α d3=0,2*(0,01)*1=0,002
Δv11=α d1x1=0,2*(-0,01)*1=-0,002
Δv21=α d2x1=0,2*(0,01)*1=0,002
Δv31=α d3x1=0,2*(0,01)*1=0,002
Δv12=α d1x2=0,2*(-0,01)*1=-0,002
Δv22=α d2x2=0,2*(0,01)*1=0,002
Δv32=α d3x2=0,2*(0,01)*1=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
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,0020,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, X1=1, X2=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 (Zj):
Langkah 5
Hitung semua jaringan di unit keluaran (yk)
Fase II : Propagasi Maju
Langkah 6
dk=(tk-yk) f’(y_netk)= (tk-yk) yk (1-yk)
d1=(t1-y1) f’(y_net1)= (t1-y1) y1 (1-y1)=(0-0,44) 0,44 (1-0,44)=-0,11
Δwkj= α dk zj
Δw10= α d1 (1)=0,2 . (-0,11) . (1)=-0,022
Δw11= α d1 (z1)=0,2 . (-0,11) . (0,55)=-0,01
Δw12= α d1 (z2)=0,2 . (-0,11) . (0,67)=-0,01
Δw13= α d1 (z3)=0,2 . (-0,11) . (0,52)=-0,01
Langkah 7
Hitung factor d unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj (j=1,2,3,…,p)
Faktor kesalahan unit tersembunyi
dj = d_netj f’(z_netj)= d_net zj (1-zj)
d1 = d_net z1 (1-z1)=(-0.055).0,55.(1-(0,55))=-0,01
d2 = d_net z2 (1-z2)=(0.033).0,67.(1-(0,67))=0,01
d3 = d_net z3 (1-z3)=(0.044).0,52.(1-(0,52))=0,01
Δvji=α djxi
Δv10=α d1=0,2*(-0,01)*1= -0,002
Δv20=α d2=0,2*(0,01)*1=0,002
Δv30=α d3=0,2*(0,01)*1=0,002
Δv11=α d1x1=0,2*(-0,01)*1=-0,002
Δv21=α d2x1=0,2*(0,01)*1=0,002
Δv31=α d3x1=0,2*(0,01)*1=0,002
Δv12=α d1x2=0,2*(-0,01)*1=-0,002
Δv22=α d2x2=0,2*(0,01)*1=0,002
Δv32=α d3x2=0,2*(0,01)*1=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
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,0020,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
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
0Awesome Comments!