HEBB
Catatan : xi = si ; y = t
Karakteristik
Masalah yang sering timbul dalam jaringan Hebb adalah :
dalam menentukan representasi data masukan/keluaran untuk fungsi aktivasi yang
berupa threshold. Representasi yang dipakai adalah bipolar ( nilai -1 dan 1).
Kadangkala jaringan dapat menentukan pola secara BENAR jika dipakai
representasi bipolar saja, dan akan ”SALAH” jika dipakai representasi biner (nilai 0
dan 1).
x1 x2 y
Tabel Kebenaran :
1 1 1
1 0 0
0 1 0
0 0 0
Masukan Target
X1 X2 1 t
1 1 1 1
1 0 1 0
0 1 1 0
0 0 1 0
Membuat Model Jaringan
x1
w1
x2 w2 y
b
1
Pelatihan Jaringan
Untuksetiap data masukan dan target, perubahan
bobot dihitung dari perkalian data masukan dan
targetnya.
∆w1 = x1t ∆b = 1
∆w2 = x2t t=t
Bobot wi(baru) = bobot wi(lama) + ∆wi (i=1,2)
Inisialisasi awal
Inisialisasi 0 0 0
1 1 1 1
1 0 1 0
0 1 1 0
0 0 1 0
Inisialisasi awal
Inisialisasi 0 0 0
1 1 1 1
1 0 1 0
0 1 1 0
0 0 1 0
Iterasi ke-1
Menghitung perubahan bobot
Inisialisasi 0 0 0
1 1 1 1 1 1 1
1 0 1 0
0 1 1 0
0 0 1 0
Iterasi ke-1
Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 1 0
0 1 1 0
0 0 1 0
Iterasi ke-2
Menghitung perubahan bobot
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 0
0 1 1 0
0 0 1 0
Iterasi ke-2
Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 0 1 1 1
0 1 1 0
0 0 1 0
Iterasi ke-3
Menghitung perubahan bobot
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 0 1 1 1
0 1 1 0 0 0 0
0 0 1 0
Iterasi ke-3
Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 0 1 1 1
0 1 1 0 0 0 0 1 1 1
0 0 1 0
Iterasi ke-4
Menghitung perubahan bobot
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 0 1 1 1
0 1 1 0 0 0 0 1 1 1
0 0 1 0 0 0 0
Iterasi ke-4
Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 0 1 1 1
0 1 1 0 0 0 0 1 1 1
0 0 1 0 0 0 0 1 1 1
Hasil iterasi
Ditemukan bobot akhir jaringan adalah : w1 = 1, w2 =
1, wbias = 1
Masukan Target Perubahan Bobot Bobot Baru
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 0 1 1 1
0 1 1 0 0 0 0 1 1 1
0 0 1 0 0 0 0 1 1 1
Uji Coba Jaringan
Setelah bobot akhir diperoleh, selanjutnya dilakukan uji coba dan
aktivasi jaringan pada seluruh data masukan menggunakan fungsi :
Masukan Target
x1 x2 t
1 1 1 1.1 + 1.1 + 1 = 3 1
1 0 0 1.1 + 0.1 + 1 = 2 1
0 1 0 0.1 + 1.1 + 1 = 2 1
0 0 0 0.1 + 0.1 + 1 = 1 1
Berdasarkan uji coba jaringan, tampak bahwa hasil nilai f(net) tidak sama dengan
target dalam fungsi “AND”, artinya “JARINGAN TIDAK DAPAT MEMAHAMI”
pola yang dimaksudkan.
Sekarang kita coba ganti masukan dan keluaran
dengan nilai bipolar (-1,0,1)
Apakah model Hebb dapat mengerti pola yang
dimaksudkan?
Membuat Tabel Masukan dan Target
Direpresentasikan secara BIPOLAR(masukan dan
keluaran semuanya bernilai 1 atau -1)
Masukan Target
X1 X2 1 t
1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
Membuat Model Jaringan
x1
w1
x2 w2 y
b
1
Pelatihan Jaringan
Untuksetiap data masukan dan target, perubahan
bobot dihitung dari perkalian data masukan dan
targetnya.
∆w1 = x1t ∆b = 1
∆w2 = x2t t=t
Bobot wi(baru) = bobot wi(lama) + ∆wi (i=1,2)
Inisialisasi awal
Inisialisasi 0 0 0
1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
Inisialisasi awal
Inisialisasi 0 0 0
1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
Iterasi ke-1
Menghitung perubahan bobot
Inisialisasi 0 0 0
1 1 1 1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
Iterasi ke-1
Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
Iterasi ke-2
Menghitung perubahan bobot
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 -1 1 -1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
Iterasi ke-2
Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 -1 1 -1 -1 1 -1 0 2 0
-1 1 1 -1
-1 -1 1 -1
Iterasi ke-3
Menghitung perubahan bobot
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 -1 1 -1 -1 1 -1 0 2 0
-1 1 1 -1 1 -1 -1
-1 -1 1 -1
Iterasi ke-3
Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 -1 1 -1 -1 1 -1 0 2 0
-1 1 1 -1 1 -1 -1 1 1 -1
-1 -1 1 -1
Iterasi ke-4
Menghitung perubahan bobot
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 -1 1 -1 -1 1 -1 0 2 0
-1 1 1 -1 1 -1 -1 1 1 -1
-1 -1 1 -1 1 1 -1
Iterasi ke-4
Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 -1 1 -1 -1 1 -1 0 2 0
-1 1 1 -1 1 -1 -1 1 1 -1
-1 -1 1 -1 1 1 -1 2 2 -2
Hasil iterasi
Ditemukan bobot akhir jaringan adalah : w1 = 2, w2 =
2, wbias = -2
Masukan Target Perubahan Bobot Bobot Baru
Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 -1 1 -1 -1 1 -1 0 2 0
-1 1 1 -1 1 -1 -1 1 1 -1
-1 -1 1 -1 1 1 -1 2 2 -2
Uji Coba Jaringan
Setelah bobot akhir diperoleh, selanjutnya dilakukan uji coba dan
aktivasi jaringan pada seluruh data masukan menggunakan fungsi :
Masukan Target
x1 x2 T
Berdasarkan uji coba jaringan, tampak bahwa hasil nilai f(net) SAMA DENGAN
target dalam fungsi “AND”, artinya “JARINGAN DAPAT MEMAHAMI” pola
yang dimaksudkan.
See you next week