jst - materi 3

17
Jaringan Syaraf Tiruan Hebbian

Upload: jake-sully

Post on 28-Sep-2015

258 views

Category:

Documents


4 download

DESCRIPTION

JST Hebbian Untuk Pola

TRANSCRIPT

PowerPoint Presentation

Jaringan Syaraf TiruanHebbianJaringan HEBBDiusulkan oleh Donald Olding Hebb pada th 1949

Termasuk Jaringan Supervised

Metode pengembangan dari metode McCulloch-Pitts

Menentukan bobot dan bias secara analitik (manual)

Pembelajaran dilakukan dengan memperbaiki nilai bobot secara continue

Jaringan HEBBPerbaikan bobot diperoleh dengan cara

wi(baru) = wi(lama) + xi*y

b(baru) = b(lama) + y

dimana:wi = bobot data input ke-Ixi = input data ke-iy = output datab = nilai biasAlgoritma HebbAlgoritma pelatihan Hebb dengan vektor input s dan target t :Inisialisasi semua bobot = 0 dan b = 0Set masukan pi = si (i=1,2, , j ; j = jumlah input)Set keluaran a = tUntuk semua pi :Perbaiki bobot : wi (baru) = wi (lama) + w dengan w = pi tPerbaiki bias : b(baru) =b(lama) + b dengan b = tHitung :

Algoritma HebbTentukan nilai f(n) :Untuk target biner :

Untuk target bipolar :

Jika f(n) = t, maka jaringan Hebb mengerti pola yang dimaksud

Algoritma HebbContoh :Misalkan kita ingin membuat jaringan syaraf untuk melakukan pembelajaran terhadap fungsi AND dengan input dan target biner sebagai berikut:

Bobot awal dan bobot bias kita set = 0.x1x2Bias (b)Target (y)1111101001100010Algoritma HebbContoh Soal : Buat jaringan Hebb untuk menyatakan fungsi logika AND jika representasi yang dipakai adalah :a). Masukan dan keluaran binerb). Masukan biner dan keluaran bipolarc). Masukan dan keluaran bipolarJawab :a) Pola hubungan masukan-target :

MasukanTargetp1p21t0010011010101111fw1w2p1p2na1bAlgoritma HebbHasil pelatihan :

Hasil Akhir

Keluaran target Jaringan Hebb tidak dapat mengerti pola yang dimaksud

MasukanTargetPerubahan bobotw = pi t b = tBobot baruwbaru = wlama + wbbaru = blama + bp1p2tw1w2bw1w2bInisialisasi000000000000010000000100000000111111111p1p2n = p1 w1 +p2 w2+ b a = f(n)000.1+0.1+1 = 11010.1+1.1+1= 21101.1+0.1+1= 21111.1+1.1+1= 31

w1 = 1w2 = 1b = 1

b) Pola hubungan masukan-target :

Hasil pelatihan :

MasukanTargetp1p2t00-101-110-1111MasukanTargetPerubahan bobotw = pi t b = tBobot baruwbaru = wlama + wbbaru = blama + bp1p2tw1w2bw1w2bInisiasi00000-100-100-101-10-1-10-1-210-1-10-1-1-1-311111100-2w1 = 0, w2 = 0, b = - 2p1p2n = p1 w1 +p2 w2+ b a = f(n)Target000.0+0.0 - 2 = -2-1-1010.0+1.0 -2 = - 2-1-1101.0+0.0-2 = - 2-1-1111.0+1.0 - 2= -2-11Hasil akhir :

w1 = 0, w2 = 0, b = - 2Keluaran target Jaringan Hebb tidak dapat mengerti pola yang dimaksud c) Pola hubungan masukan-target : Hasil Pelatihan

Hasil Akhir

Keluaran = target Jaringan Hebb mengerti pola yang dimaksudKeberhasilan jaringan Hebb tergantung pada representasi masukan dan targetMasukanTargetp1p21t-1-11-1-111-11-11-11111MasukanTargetPerubahan bobotw = pi t b = tBobot baruwbaru = wlama + wbbaru = blama + bp1p2tw1w2bw1w2bInisiasi000-1-1-111-111-1-11-11-1-120-21-1-1-11-111-311111122-2w1 = 2, w2 = 2, b = -2p1p2n = p1 w1 +p2 w2+ b a = f(n)-1-1-1.2+-1.2-2 = -6- 1-11-1.2+1.2-2= - 2- 11-11.2+-1.2-2= - 2- 1111.2+1.2-2= 21

Catatan:

Dari ketiga contoh di atas, tampak bahwa dalam jaringan Hebbian, bisa tidaknya suatu jaringan mengenali pola tidak hanya ditentukan oleh algoritma untuk merevisi bobot, tapi juga dari bagaimana representasi data yang di pakai !!!!.

Jaringan tidak akan mampu mengenali pola jika target keluaran = 0

(INGAT: bahwa perubahan bobot didasarkan atau perkalian masukan dan target sehingga jika target = 0 , maka perubahan bobot = 0)

Maka paling sedikit keluaran harus dijadikan bipolar (atau bahkan jika perlu baik masukan dan keluaran bipolar)

Jaringan Hebb Untuk pengenalan PolaJaringan Hebb dapat pula dipakai untuk mengenali pola. Caranya adalah dengan melatih jaringan untuk membedakan 2 macam pola

Contoh:Diketahui dua buah pola seperti huruf X dan O, gunakan jaringan hebb untuk mengenali pola tersebut.

Jawab

Untuk merepresentasikan kasus tersebut dalam jaringan Hebb, tiap karakter pola dianggap sebagai sebuah unit masukan. Misalkan :karakter # dalam pola bernilai = 1karakter . dalam pola benilai = 0

Karena setiap pola terdiri dari 5 baris dan 5 kolom, berarti jaringan Hebb terdiri dari 25 unit masukan x1 ..... x25 ( x1 ... x5 adalah karakter baris pertama, dst.)dan sebuah nilai bias yang bernilai =1

Sebagai target diambil sebuah unit yang akan bernilai = 1 jika masukan berupa pola 1 dan benilai = -1 jika masukan berupa pola 2

Data 1 :Karena target = 1, maka hasil kali ini akan sama dengan pola pertama. Jadi bobot jaringan setelah pola pertama dimasukkan sama dengan nilai polaPertama. w0 = X:Wi = 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

Bobot bias b = 1

Perkalian masukan kedua dengan target menghasilkan wi (i = 1 ... 25) = 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

Dan perubahan bobot bias b = (-1) * 1 = - 1

Update wi+1 = w0 + wi = 2 -2 -2 -2 2; -2 2 0 2 -2;-2 0 2 0 -2 ; -2 2 0 2 -2 ; 2 -2 -2 -2 2

Bobot bias = 1 + (-1) = 0Sebagai uji coba apakah bobot ini sudah dapat memisahkan kedua pola,maka dilakukan perkalian antara nilai unit masukan tiap pola dengan bobot akhir:

Untuk pola 1, nilai net = 42. Maka f(net) = 1Untuk pola 2, nilai net =-42. Maka f(net) = -1

Tampak bahwa untuk kedua pola, keluaran jaringan sama dengan target yang diinginkan.BERARTI: Jaringan telah mengenali pola dengan baik.