05b Neural Network Single Layer

60
Jaringan Syaraf Tiruan (Artificial Neural Network) Intelligent Systems

Transcript of 05b Neural Network Single Layer

Page 1: 05b Neural Network Single Layer

Jaringan Syaraf Tiruang y(Artificial Neural Network)

Intelligent Systems

Page 2: 05b Neural Network Single Layer

Pembahasan

• Jaringan McCulloch-Pitts• Jaringan Hebb• Perceptron

Page 3: 05b Neural Network Single Layer

Jaringan McCulloch-Pittsg

Page 4: 05b Neural Network Single Layer

Model JST Pertama• Diperkenalkan oleh McCulloch dan Pitts tahun 1943

• Model McCullcoh dan Pitts merupakan jaringan syaraf pertama yang dibuat berdasarkan syaraf tiruan

• Menyimpulkan bahwa kombinasi beberapa neuron sederhana menjadi suatu sistem neuron dapat j pmeningkatkan kemampuan komputasi

• Digunakan untuk melakukan fungsi logika sederhanagu a a u tu e a u a u gs og a sede a a

• Banyak prinsipnya yang masih digunakan pada JST saat inisaat ini

Page 5: 05b Neural Network Single Layer

Karakteristik McCulloch-PittsKarakteristik McCulloch-PittsKarakteristik model neuron McCulloch-Pitts :

1 Fungsi aktivasi neuron dalam biner1. Fungsi aktivasi neuron dalam biner• Neuron meneruskan sinyal : aktivasi bernilai 1• Neuron tidak meneruskan sinyal : aktivasi bernilai 0

2 S ti d j i dih b k d j l t h2. Setiap neuron pada jaringan dihubungkan dengan jalur terarah yang memiliki bobot tertentu• Jika bobot jalur bernilai positif, jalur diperkuat

Jik b b t j l b il i tif j l di l h• Jika bobot jalur bernilai negatif, jalur diperlemah

Fungsi aktivasi unit Y :If net >= θ, then f(net)=1, else f(net)= 0X1

1Dimana :• net adalah total sinyal input = x1w1+x2w2+x3w3• output y = f(net)

θ d l h il i th h ld Y

X2 Y

w1

w2

w3 • θ adalah nilai threshold neuron YX3

w3

Page 6: 05b Neural Network Single Layer

Karakteristik McCulloch PittsKarakteristik McCulloch-PittsKarakteristik model neuron McCulloch-Pitts :

3 Seluruh jalur bernilai positif yang terhubung ke neuron3. Seluruh jalur bernilai positif yang terhubung ke neuron tertentu, memiliki bobot sama• Bobot koneksi yang berbeda dapat terhubung ke neuron lain

4 Setiap neuron memiliki nilai threshold tetap4. Setiap neuron memiliki nilai threshold tetap• Jika net input ke neuron lebih besar dari threshold, neuron akan

meneruskan sinyal (fire)• Threshold di set sedemikian sehingga setiap masukan yang• Threshold di-set sedemikian sehingga setiap masukan yang

memperlemah akan mencegah neuron meneruskan sinyal

X12

Ditentukan θ = 4, w1=2, w2=2 dan w3=-1

X2 Y

2

2

1

e u a θ , , da 3maka :• net = 2.x1 + 2.x2 + (-1).x3• If net >= 4, then y=f(net)=1, else f(net)= 0

X3-1

Page 7: 05b Neural Network Single Layer

K kt i tik M C ll h PittKarakteristik McCulloch-PittsKarakteristik model neuron McCulloch-Pitts :

5 Bobot setiap jalur tidak ditentukan dengan proses pelatihan5. Bobot setiap jalur tidak ditentukan dengan proses pelatihan • Tetapi dilakukan secara analitis (dengan coba-coba)

6. Sinyal mengalir dari satu koneksi ke koneksi lain dalam satu satuan waktusatuan waktu

7. Pada awalnya, jaringan McCulloch-Pitts digunakan untuk memodelkan fungsi logika

X12

Ditentukan θ = 4, w1=2, w2=2 dan w3=-1maka :• net = 2 x1 + 2 x2 + (-1) x3

X2 Y

2

2

1

• net = 2.x1 + 2.x2 + (-1).x3• If net >= 4, then y=f(net)=1, else f(net)= 0

Jaringan dapat meneruskan sinyal (fire) jika masukan x1 dan x2 bernilai 1 dan x3 bernilai nol

X3-1 x1 dan x2 bernilai 1 dan x3 bernilai nol

Page 8: 05b Neural Network Single Layer

Fungsi AND

• Agar jaringan dapat menyatakan fungsi AND maka bobot jalur dibuat bernilai 1X1 θ 2 AND, maka bobot jalur dibuat bernilai 1– Karena input X1 dan X2 terhubung ke

neuron yang sama, bobot koneksi harus sama (keduanya bernilai 1)

X1

X2

Yw1=1

w2=1

θ=2

( y )– Penentuan bobot jalur dilakukan secara

analitik (coba-coba)

X1 X2 ∑=

=2

1iiiwxnet

⎩⎨⎧

<≥

==22

01

)(netnet

jikajika

netfy

0 0 0.1+0.1=0 0

0 1 0.1+1.1=1 0

1 0 1.1+0.1=1 0

1 1 1.1+1.1=2 1

Page 9: 05b Neural Network Single Layer

Fungsi OR

• Agar jaringan dapat menyatakan fungsi AND maka bobot jalur diganti menjadiX1 θ 2 AND, maka bobot jalur diganti menjadi bernilai 2– Bobot koneksi tetap harus sama

(keduanya diganti menjadi bernilai 2)

X1

X2

Yw1=2

w2=2

θ=2

( y g j )– Perubahan bobot jalur dilakukan secara

analitik

X1 X2 ∑=

=2

1iiiwxnet

⎩⎨⎧

<≥

==22

01

)(netnet

jikajika

netfy

0 0 0.2+0.2=0 0

0 1 0.2+1.2=2 1

1 0 1.2+0.2=2 1

1 1 1.2+1.2=4 1

Page 10: 05b Neural Network Single Layer

Fungsi AND-NOT

• Y bernilai 1 jika X1=1 dan X2=0• Untuk memperolehnya maka bobot w1X1 θ 2 • Untuk memperolehnya, maka bobot w1

harus lebih besar dari w2– Untuk mencegah agar f(1,1) tidak sama

dengan 1 maka w2 harus negatif

X1

X2

Yw1= 2

w2= -1

θ=2

dengan 1, maka w2 harus negatif

X1 X2 ∑=

=2

1iiiwxnet

⎩⎨⎧

<≥

==22

01

)(netnet

jikajika

netfy

0 0 0.2+0.-1= 0 0

0 1 0.2+1.-1=-1 0

1 0 1.2+0.-1= 2 1

1 1 1.2+1.-1= 1 0

Page 11: 05b Neural Network Single Layer

F i XORFungsi XOR• Fungsi XOR tidak dapat dibuat dengan menghubungkan langsung

input ke outputp p– Diperlukan sebuah layer tersembunyi (hidden layer)– Ingat de Morgan :

X1 XOR X2 = (X1 AND NOT X2) OR (NOT X1 AND X2)X1 XOR X2 = (X1 AND NOT X2) OR (NOT X1 AND X2) – Dibentuk menggunakan 2 fungsi AND NOT dan 1 fungsi OR

θ 2

Z1

Y2

θ=2X1 2-1

θ=2

Z2

Y2

X2 2

-1

X1 XOR X2 = (X1 AND NOT X2) OR (NOT X1 AND X2)X1 XOR X2 (X1 AND NOT X2) OR (NOT X1 AND X2)= Z1 OR Z2

Page 12: 05b Neural Network Single Layer

Jaringan Hebbg

Page 13: 05b Neural Network Single Layer

Jaringan Hebb

• Jaringan layer tunggal dengan satu neuron keluaran – Seluruh neuron masukan terhubung langsung dengan

k l dit b h d b h bineuron keluaran, ditambah dengan sebuah bias

• Pada jaringan McCulloch-Pitts, penentuan bobot garis dan bias dilakukan secara analitikgaris dan bias dilakukan secara analitik– Sulit dilakukan pada masalah yang kompleks

• D O Hebb (1949) memperkenalkan cara menghitung• D.O Hebb (1949) memperkenalkan cara menghitung bobot dan bias secara iteratif

• Model jaringan Hebb adalah model pertama yang• Model jaringan Hebb adalah model pertama yang dapat belajar

Page 14: 05b Neural Network Single Layer

Konsep Dasar HebbKonsep Dasar Hebb• Apabila dua buah neuron yang dihubungkan dengan sinapsis

memiliki bobot w sama (keduanya positif atau keduanya negatif)memiliki bobot w sama (keduanya positif atau keduanya negatif), maka kekuatan sinapsisnya meningkat

• Sebaliknya apabila kedua neuron aktif secara tidak sinkron (salah• Sebaliknya, apabila kedua neuron aktif secara tidak sinkron (salah satu bobot w bernilai positif dan yang lain bernilai negatif), maka kekuatan sinapsisnya akan melemah

x1 w1

bobot

x2

yw2

2

sinapsis neuron outputneuron input

Page 15: 05b Neural Network Single Layer

Dasar Algoritma HebbDasar Algoritma Hebb• Prinsip model belajar Hebb :

Proses belajar dilakukan secara iteratif– Proses belajar dilakukan secara iteratif– Pada setiap iterasi pembelajaran, bobot sinapsis dan bobot bias

diubah berdasarkan perkalian neuron-neuron di kedua sisinya (sisi input dan sisi output)(sisi input dan sisi output)

xperubahan nilai bobot dilakukan dx1

x2 y

w1

w2

dengan persamaan :

wi(baru)= wi(lama)+xiy

b(b ) b(l ) +1

b b(baru) = b(lama) +y

Page 16: 05b Neural Network Single Layer

Algoritma Pelatihan HebbAlgoritma Pelatihan HebbAlgoritma pelatihan

– Inisialisasi semua bobot : b = wi = 0 (i=1, …, n)

– Untuk semua vektor masukan s dan target t lakukanUntuk semua vektor masukan s dan target t, lakukan

• Set aktivasi unit masukan : xi = si (i=1, …, n)• Set aktivasi unit keluaran : y = tSet aktivasi unit keluaran : y t• Perbaiki bobot menurut persamaan :

wi(baru)=wi(lama)+delta wi (i=1, …, n), i( ) i( ) i ( , , ),dimana delta wi = xiy

• Perbaiki bias menurut persamaan : b(baru) = b(lama) + y

Page 17: 05b Neural Network Single Layer

Kasus 1 : Fungsi LogikaKasus 1 : Fungsi Logika• Kasus :

– Buat jaringan Hebb yang dapat menyatakan fungsi logika AND• Representasi masukan/keluaran yang digunakan :

M k d k l bi (0 t 1)a. Masukan dan keluaran biner (0 atau 1)b. Masukan biner dan keluaran bipolarc. Masukan dan keluaran bipolar (-1 atau 1)

• Contoh ini hendak memperlihatkan masalah yang seringkali timbul untuk fungsi aktivasi threshold

Kadangkala jaringan dapat menentukan pola secara benar jika– Kadangkala jaringan dapat menentukan pola secara benar jika menggunakan representasi bipolar saja

Page 18: 05b Neural Network Single Layer

a Representasi Biner-Binera. Representasi Biner-BinerTabel Masukan dan Target fungsi AND

Masukan Target

s1 s2 bias t X1w1

θ=0

1 1 1 1

1 0 1 0

X2

1

Yw2

b

0 1 1 0

0 0 1 0

1

Arsitektur Jaringan Hebb fungsi AND

• Masukan biner • Target keluaran biner

Page 19: 05b Neural Network Single Layer

a Representasi Biner Binera. Representasi Biner-BinerMasukan Keluaran Perubahan Bobot Bobot Baru

Proses Belajar :

x1 x2 bias y dw1 dw2 db w1 w2 b

0 0 0

1 1 1 1 1 1 1 1 1 11 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

• Perhitungan bobot dan bias– w (baru)=w (lama)+ dw dimana dw =x y (i=1 n)

0 0 1 0 0 0 0 1 1 1

– wi(baru)=wi(lama)+ dwi, dimana dwi=xiy (i=1, …, n)– b(baru) = b(lama) + db, dimana db=y

• Hasil pembelajaran – Bobot berubah akibat pasangan data pertama sajaBobot berubah akibat pasangan data pertama saja– Dari hasil iterasi, diperoleh w1 =1, w2=1, dan b=1

Page 20: 05b Neural Network Single Layer

a. Representasi Biner-Biner

2 ⎧ ≥ 01 tjik

Hasil eksekusi :

x1 x2

1 1 1.1+1.1+1=3 1

∑=

+=1i

ii bwxnet⎩⎨⎧

<≥

==00

01

)(netnet

jikajika

netfy

1 0 1.1+0.1+1=2 1

0 1 0.1+1.1+1=2 1

0 0 0.1+0.1+1=1 10 0 0.1+0.1+1 1 1

• f(net) tidak sama dengan target yang diinginkan X1

w1=1 θ=0pada fungsi AND

• Jaringan TIDAK DAPAT ‘MENGERTI’ pola yang dimaksud

X2

1

Yw2=1

b=11

Page 21: 05b Neural Network Single Layer

b Representasi Biner-Bipolarb. Representasi Biner-BipolarTabel Masukan dan Target fungsi AND

Input Target

s1 s2 bias t X1w1

θ=01 1 1 1

1 0 1 -1X2 Y

w1

w2

b0 1 1 -1

0 0 1 -1

1b

Arsitektur Jaringan Hebb

• Masukan biner • Target keluaran bipolar

fungsi AND

Page 22: 05b Neural Network Single Layer

b Representasi Biner Bipolarb. Representasi Biner-Bipolar

Masukan Keluaran Perubahan Bobot Bobot Baru

Proses Belajar :

Masukan Keluaran Perubahan Bobot Bobot Baru

x1 x2 bias y dw1 dw2 db w1 w2 b

0 0 0

1 1 1 1 1 1 1 1 1 1

1 0 1 -1 -1 0 -1 0 1 0

0 1 1 -1 0 -1 -1 0 0 -1

0 0 1 -1 0 0 -1 0 0 -2

Perhitungan bobot dan bias gwi(baru)=wi(lama)+ dwi, dimana dwi=xiy (i=1, …, n)b(baru) = b(lama) + db, dimana db=y

Hasil pembelajaran Dari hasil iterasi, diperoleh w1 =0, w2=0, dan b=-2

Page 23: 05b Neural Network Single Layer

b. Representasi Biner-Bipolar

2⎧

Hasil eksekusi :

x1 x2

1 1 1.0+1.0+(-2)=-2 -1

∑=

+=1i

ii bwxnet⎩⎨⎧

<≥

−==

00

11

)(netnet

jikajika

netfy

1 1 1.0+1.0+( 2) 2 1

1 0 1.0+0.0+(-2)=-2 -1

0 1 0.0+1.0+(-2)=-2 -1

0 0 0 0+0 0+( 2)= 2 10 0 0.0+0.0+(-2)=-2 -1

• f(net) belum sama dengan target yang X1

w1=0 θ=0( ) g g y gdiinginkan pada fungsi AND

• Jaringan MASIH TIDAK DAPAT ‘MENGERTI’ pola yang dimaksud

X2

1

Yw2=0

b=-2p y g 1

Page 24: 05b Neural Network Single Layer

c. Representasi Bipolar-BipolarTabel Masukan dan Target fungsi AND

Masukan Target

s1 s2 bias tX1

1 1 1 1

1 -1 1 -1

X1

X2 Y

w1

w2

θ=0

-1 1 1 -1

-1 -1 1 -11

b

A i k J i H bb• Masukan bipolar• Target keluaran bipolar

Arsitektur Jaringan Hebb fungsi AND

Page 25: 05b Neural Network Single Layer

c Representasi Bipolar-Bipolarc. Representasi Bipolar-Bipolar

Masukan Target Perubahan Bobot Bobot Baru

Proses Belajar :

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y dw1 dw2 db w1 w2 b

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

Perhitungan bobot dan bias gwi(baru)=wi(lama)+ dwi, dimana dwi=xiy (i=1, …, n)b(baru) = b(lama) + db, dimana db=y

Hasil pembelajaran Dari hasil iterasi, diperoleh w1 =2, w2=2, dan b=-2

Page 26: 05b Neural Network Single Layer

c. Representasi Bipolar-Bipolar

2⎧

Hasil eksekusi :

x1 x2

1 1 1.2+1.2+(-2)=2 1

∑=

+=1i

ii bwxnet⎩⎨⎧

<≥

−==

00

11

)(netnet

jikajika

netfy

1 1 1.2+1.2+( 2) 2 1

1 -1 1.2+(-1).2+(-2)=-2 -1

-1 1 (-1).2+1.2+(-2)=-2 -1

1 1 ( 1) 2+( 1) 2+( 2)= 6 1-1 -1 (-1).2+(-1).2+(-2)=-6 -1

X11 2 θ=0• f(net) sama dengan target yang diinginkan

d f i AND

X2 Y

w1=2

w2=2

b= 2

θ=0pada fungsi AND• Jaringan SUDAH DAPAT ‘MENGERTI’ pola

yang dimaksud

1b=-2

Page 27: 05b Neural Network Single Layer

Kasus 2 : Pengenalan Pola

Diberikan 2 pola menyerupai huruf X dan Oy

# . . . # . # # # .# # # #. # . # . # . . . #

. . # . . # . . . #

. # . # . # . . . ## . . . # . # # # .

POLA 1 POLA 2POLA 1 POLA 2

Page 28: 05b Neural Network Single Layer

Representasi Kasus

• Setiap karakter pola dianggap sebagai sebuah unit masukan– Karakter “#” diberi nilai 1, karakter “.” diberi nilai -1

1 # . . . # 1 -1 -1 -1 1

2 . # . # . -1 1 -1 1 -1

3 . . # . . → -1 -1 1 -1 -1

4 . # . # . -1 1 -1 1 -1

5 # . . . # 1 -1 -1 -1 1

• Pola terdiri dari 5 baris dan 5 kolom– Jaringan Hebb terdiri dari 25 unit masukan (x1 s/d x25) dan sebuah

1 2 3 4 5

g ( / )bias bernilai = 1

• Target– Keluaran jaringan bernilai 1 jika diberi masukan pola 1 (X) dan bernilai

1 jik dib i k l 2 (0)-1 jika diberi masukan pola 2 (0)

Page 29: 05b Neural Network Single Layer

Representasi Masukan dan Target

x1 x2 x3 x4 x5 t

x6 x7 x8 x9 X10

x11 X12 x13 x14 X15

x16 X17 x18 x19 X20

x21 x22 x23 x24 x25 x2 θ=0

x1

w1x21 x22 x23 x24 x25

1 -1 -1 -1 1 1

-1 1 -1 1 -1

-1 -1 1 -1 -1

y

w2

25

θ=0

1 1 1 1 1

-1 1 -1 1 -1

1 -1 -1 -1 1

-1 1 1 1 -1 -1

x25w25

1

b-1 1 1 1 -1 -1

1 -1 -1 -1 1

1 -1 -1 -1 1

1 1 1 1 1Arsitektur Jaringan Hebb

1

1 -1 -1 -1 1

-1 1 1 1 -1

Page 30: 05b Neural Network Single Layer

Pembelajaran Jaringan

Masukan Target Perubahan Bobot Bobot Baru

x1 s/d x25 bias y dw1 s/d dw25 db W1 s/d w25 bx1 s/d x25 bias y dw1 s/d dw25 db W1 s/d w25 b

0000 .. 0000 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 -1 -1 1-1 1 -1 1 -1

11 1 1 1 1

-1 -1 1 -1 -1-1 1 -1 1 -11 -1 -1 -1 1

1 1 1 1 1-1 -1 1 -1 -1-1 1 -1 1 -11 -1 -1 -1 1

1 1 1 1 1-1 -1 1 -1 -1-1 1 -1 1 -11 -1 -1 -1 1

-1 1 1 1 -11 -1 -1 -1 11 -1 -1 -1 1

1 -1 1 -1 -1 -1 1-1 1 1 1 -1-1 1 1 1 -1

-1 2 -2 -2 -2 2-2 2 0 2 -2-2 0 2 0 -2

0

1 -1 -1 -1 1-1 1 1 1 -1

-1 1 1 1 -11 -1 -1 -1 1

-2 2 0 2 -22 -2 -2 -2 2

wi(baru)=wi(lama)+ dwi, dimana dwi=xiy (i=1, …, n)wi(baru) wi(lama)+ dwi, dimana dwi xiy (i 1, …, n)b(baru) = b(lama) + db, dimana db=y

Page 31: 05b Neural Network Single Layer

Hasil eksekusi

X1 s/d x25 ∑ +=2

ii bwxnet ⎨⎧ ≥

==01

)(netjika

netfy/

1 -1 -1 -1 1-1 1 -1 1 -1

1.2+(-1).(-2)+…+1.2 = 42 1

∑=1i

ii⎩⎨ <− 01

)(netjika

netfy

-1 -1 1 -1 -1-1 1 -1 1 -11 -1 -1 -1 1

-1 1 1 1 -11 -1 -1 -1 11 -1 -1 -1 11 1 1 1 1

(-1).2+1.(-2)+…+(-1).2 = -42 -1

1 -1 -1 -1 1-1 1 1 1 -1

• Keluaran jaringan sama dengan target yang diinginkan• Jaringan DAPAT MENGENALI POLA

Page 32: 05b Neural Network Single Layer

Perceptronp

Page 33: 05b Neural Network Single Layer

Jaringan Perceptron

• Menyerupai arsitektur jaringan Hebb

• Diperkenalkan oleh Rosenblatt (1962) dan Minsky-Diperkenalkan oleh Rosenblatt (1962) dan MinskyPapert (1969)

• Model dengan aplikasi dan pelatihan yang terbaikModel dengan aplikasi dan pelatihan yang terbaik pada masa tersebut

Page 34: 05b Neural Network Single Layer

Arsitektur Jaringan Perceptron

• Jaringan satu layerg y– Beberapa neuron masukan

dihubungkan langsung dengan sebuah neuron x2 w2

x1w1

keluaran– Ditambah satu buah bias

• Fungsi aktivasi memiliki

x3 y

w2

w3

Fungsi aktivasi memiliki nilai -1, 0 dan 1

bxn

wn

⎪⎧ >θnet,1

1

⎪⎩

⎪⎨

−<−≤≤−=θθθ

netnetnetf

,1,0

,)(

Page 35: 05b Neural Network Single Layer

P l tih P tPelatihan PerceptronAlgoritma pelatihan

– Inisialisasi semua bobot, bias dan learning ratewi = 0 (i=1, …, n), b=0, learning rate = nilai antara 0 s/d 1

S l d l k k l tid k– Selama ada elemen masukan s yang keluarannya tidak sama dengan target t, lakukan

• Set aktivasi unit masukan : xi = si (i=1, …, n)Set aktivasi unit masukan : xi si (i 1, …, n)

• Hitung respon unit keluaran : net dan y = f(net)

• Bila y ≠ t perbaiki bobot dan bias menurut• Bila y ≠ t, perbaiki bobot dan bias menurut persamaan :

wi(baru)=wi(lama)+ Δw (i=1, …, n), i( ) i( ) ( , , ),

dimana Δw = α.t.xi

b(baru) = b(lama) + α.t

Page 36: 05b Neural Network Single Layer

Pelatihan PerceptronPelatihan Perceptron• Iterasi dilakukan terus menerus hingga seluruh keluaran sama

dengan target ang ditent kandengan target yang ditentukan– Jaringan sudah memahami pola– Pada Hebb, iterasi berhenti setelah semua pola dimasukkan

• Perubahan bobot hanya dilakukan bila keluaran jaringan tidak sama dengan target – Yaitu bila y = f(net) ≠ t

• Modifikasi bobot menggunakan laju pemahaman (learning rate, α) yang nilainya dapat diatur– Modifikasi bobot tidak hanya ditentukan oleh perkalian antara target dan

masukan sajamasukan saja– Umumnya, 0 < α < 1

• Satu siklus pelatihan yang melibatkan semua pola disebut epoch– Pada Hebb, pelatihan hanya dilakukan dalam satu epoch saja

Page 37: 05b Neural Network Single Layer

K l PKeunggulan Perceptron• Seluruh pola masukan dibandingkan dengan target yang

diinginkandiinginkan– Bobot akan dimodifikasi hanya jika terdapat perbedaan antara

keluaran dengan target yang diinginkan– Bobot tidak selalu dimodifikasi pada setiap iterasiBobot tidak selalu dimodifikasi pada setiap iterasi

• Kecepatan iterasi ditentukan oleh laju pemahaman (learning rate)– Semakin besar α, semakin sedikit iterasi yang diperlukan – Tetapi bila α terlalu besar dapat merusak pola yang sudah benar dan– Tetapi bila α terlalu besar dapat merusak pola yang sudah benar dan

mengakibatkan pemahaman menjadi lama

• Pelatihan dilakukan secara terus menerus hingga jaringan dapat mengerti pola yang ditentukanmengerti pola yang ditentukan– Teorema konvergensi perceptron menyatakan bahwa apabila ada

bobot yang tepat, maka proses pelatihan akan konvergen ke bobot yang tepat tersebut

Page 38: 05b Neural Network Single Layer

Contoh Kasus 1 : Fungsi Logika• Kasus :

– Buat perceptron yang dapat menyatakan fungsi logika AND• Gunakan representasi masukan/keluaran :

A M k d k l bi l ( 1 t 1)– A. Masukan dan keluaran bipolar (-1 atau 1)– B. Masukan biner (0 atau 1) dan keluaran bipolar (-1 atau 1)

• Inisialisasi :– Bobot dan bias awal wi = 0, b = 0 – Learning rate α = 1 (penyederhanaan)

Threshold θ = 0– Threshold θ = 0

Page 39: 05b Neural Network Single Layer

A. Representasi BipolarA. Representasi BipolarTabel masukan - target fungsi logika AND : Arsitektur jaringan Perceptron :

Masukan Target

x1 x2 bias t

1 1 1 1

x1

x2 y

w1

w21 1 1 1

1 -1 1 -1

-1 1 1 -1

2

1

y

b

-1 -1 1 -1

Fungsi aktivasi untuk θ = 0 :Masukan bipolar dan target bipolar

000

,,

101

)(<=>

⎪⎩

⎪⎨

⎧==

netnetnet

netfy0,1 <⎪

⎩− net

Page 40: 05b Neural Network Single Layer

Epoch Pertama (Bipolar)

Masukan Target Keluaran Perubahan Bobot Bobot Baru

x1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 bx1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 b

0 0 0

1 1 1 1 0 0 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 0 2 01 -1 1 -1 1 1 -1 1 -1 0 2 0

-1 1 1 -1 2 1 1 -1 -1 1 1 -1

-1 -1 1 -1 -3 -1 0 0 0 1 1 -1

• Epoch pertama terdiri dari empat iterasi• Pada iterasi pertama-ketiga, keluaran y = f(net)

tidak sama dengan target → bobot diubah.∑=

+=2

1iii bwxnet

01 >⎧ net g g• Pada iterasi keempat, nilai f(net) sama dengan

target (f(net) = -1) → bobot tidak diubah.• Pada epoch pertama, belum seluruh f(net)

d t t it i dil j tk d

000

,,,

101

)(<=>

⎪⎩

⎪⎨

−==

netnetnet

netfy

w(baru) w(lama)+ t x sama dengan target → iterasi dilanjutkan pada epoch kedua

wi(baru)=wi(lama)+ α.t.xi

b(baru) = b(lama) + α.t

Page 41: 05b Neural Network Single Layer

Epoch Kedua (Bipolar)

Masukan Target Keluaran Perubahan Bobot Bobot Baru

x1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 bx1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 b

1 1 -1

1 1 1 1 1 1 0 0 0 1 1 -1

1 1 1 1 1 1 0 0 0 1 1 11 -1 1 -1 -1 -1 0 0 0 1 1 -1

-1 1 1 -1 -1 -1 0 0 0 1 1 -1

-1 -1 1 -1 -3 -1 0 0 0 1 1 -1

• Bobot awal diperoleh dari epoch pertama

• Pada setiap iterasi dalam epoch kedua, ∑=

+=2

1iii bwxnet

01 >⎧ net semua pola f(net) sama dengan target t → tidak dilakukan perubahan bobot lagi

• Jaringan sudah mengenal pola, iterasi000

,,,

101

)(<=>

⎪⎩

⎪⎨

−==

netnetnet

netfy

w(baru) w(lama)+ t x Jaringan sudah mengenal pola, iterasi dihentikan

wi(baru)=wi(lama)+ α.t.xi

b(baru) = b(lama) + α.t

Page 42: 05b Neural Network Single Layer

Arsitektur Perceptron DiperolehArsitektur Perceptron Diperoleh

M k K l

Tabel masukan - keluaran fungsi logika AND :Arsitektur jaringan Perceptron :

Masukan Keluaran

x1 x2 bias y

1 1 1 1x1 w1=1

1 -1 1 -1

-1 1 1 -1

x2

1

yw2=1

b=-1-1 -1 1 -1

1

Fungsi aktivasi untuk θ = 0 :Masukan bipolar dan target bipolar

000

,,

101

)( =>

⎪⎩

⎪⎨

⎧== net

netnetfy

0,1 <⎪⎩− net

Page 43: 05b Neural Network Single Layer

B Representasi Biner-BipolarB. Representasi Biner-BipolarTabel masukan - target fungsi logika AND : Arsitektur jaringan Perceptron :

Masukan Target

x1 x2 bias t

1 1 1 1

x1

x2 y

w1

w21 1 1 1

1 0 1 -1

0 1 1 -1

2

1

y

b

0 0 1 -1

Fungsi aktivasi untuk θ = 0,2 :Masukan biner dan target bipolar

2,2,0

02,02,0

,,,

101

)(−<

≤≤−>

⎪⎩

⎪⎨

−==

netnet

netnetfy

Parameter yang digunakan :α = 1θ = 0,2 2,0,1 <⎩ netθ 0,2

Page 44: 05b Neural Network Single Layer

Epoch Pertama (Biner-Bipolar)

Masukan Target Keluaran Perubahan Bobot Bobot Baru

x1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 bx1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 b

0 0 0

1 1 1 1 0 0 1 1 1 1 1 1

1 0 1 1 2 1 1 0 1 0 1 01 0 1 -1 2 1 -1 0 -1 0 1 0

0 1 1 -1 1 1 0 -1 -1 0 0 -1

0 0 1 -1 -1 -1 0 0 0 0 0 -1

• Hanya pola masukan terakhir saja dimana f(net) = targetIt i h dil j tk k h

∑=

+=2

1iii bwxnet

⎧ • Iterasi harus dilanjutkan ke epoch berikutnya

2,02,02,0

2,0

,,,

101

)(<

≤≤−>

⎪⎩

⎪⎨

−==

netnet

netnetfy

w(baru) w(lama)+ t xwi(baru)=wi(lama)+ α.t.xi

b(baru) = b(lama) + α.t

Page 45: 05b Neural Network Single Layer

Epoch Kedua (Biner-Bipolar)

Masukan Target Keluaran Perubahan Bobot Bobot Baru

x1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 bx1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 b

0 0 -1

1 1 1 1 -1 -1 1 1 1 1 1 0

1 0 1 1 1 1 1 0 1 0 1 11 0 1 -1 1 1 -1 0 -1 0 1 -1

0 1 1 -1 0 0 0 -1 -1 0 0 -2

0 0 1 -1 -2 -1 0 0 0 0 0 -2

• Bobot awal diperoleh dari epoch pertama • Pada epoch kedua ini, hanya pola

k t khi j di f( t)

∑=

+=2

1iii bwxnet

masukan terakhir saja dimana f(net) = target

• Iterasi masih harus dilanjutkan ke epoch b ik t (k ti )w(baru) w(lama)+ t x

2,02,02,0

2,0

,,,

101

)(<

≤≤−>

⎪⎩

⎪⎨

−==

netnet

netnetfy

berikutnya (ketiga)wi(baru)=wi(lama)+ α.t xi

b(baru) = b(lama) + α t

Page 46: 05b Neural Network Single Layer

Epoch Ke-10 (Akhir)

Masukan Target Keluaran Perubahan Bobot Bobot Baru

x1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 bx1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 b

2 3 -4

1 1 1 1 1 1 0 0 0 2 3 -4

1 0 1 1 1 1 0 0 0 2 3 41 0 1 -1 1 -1 0 0 0 2 3 -4

0 1 1 -1 -1 -1 0 0 0 2 3 -4

0 0 1 -1 -4 -1 0 0 0 2 3 -4

• Bobot awal diperoleh dari epoch sebelumnya

• Pada setiap iterasi dalam epoch ke-10∑=

+=2

1iii bwxnet

Pada setiap iterasi dalam epoch ke 10, semua pola f(net) sudah sama dengan target t

• Jaringan sudah mengenal pola, iterasi w(baru) w(lama)+ t x

2,02,02,0

2,0

,,,

101

)(<

≤≤−>

⎪⎩

⎪⎨

−==

netnet

netnetfy

g g pdihentikanwi(baru)=wi(lama)+ α.t.xi

b(baru) = b(lama) + α.t

Page 47: 05b Neural Network Single Layer

Arsitektur Perceptron DiperolehM k K l

Tabel masukan dan keluaran fungsi logika AND :

A it kt j i P t Masukan Keluaran

x1 x2 bias y

1 1 1 1x1 w =2

Arsitektur jaringan Perceptron :

1 0 1 -1

0 1 1 -1x2 y

w1=2

w2 =3

b=-4 0 0 1 -11b= 4

Fungsi aktivasi untuk θ = 0,2 :Masukan biner dan target bipolar

2,20

02,02,0

,,

101

)(<

≤≤−>

⎪⎩

⎪⎨

⎧==

netnet

netnetfy

asu a b e da a ge b po a

2,0,1 −<⎪⎩− net

Page 48: 05b Neural Network Single Layer

Pengenalan Pola Karakter

• Konsep pengenalan pola karakter menggunakan perceptron :

Masukan berbentuk pola yang menyerupai huruf alfabet– Masukan berbentuk pola yang menyerupai huruf alfabet– Perceptron hendak dilatih untuk mengenal pola tersebut

• Algoritma pengenalan karakter :g g– Nyatakan setiap pola masukan sebagai vektor bipolar yang

elemennya adalah tiap titik dalam pola tersebut.– Berikan nilai target = 1 jika pola masukan menyerupai hurufBerikan nilai target 1 jika pola masukan menyerupai huruf

yang diinginkan. Jika tidak, beri nilai target = -1.– Tentukan inisialisasi bobot, bias, learning rate dan threshold– Lakukan proses pelatihan perceptron– Lakukan proses pelatihan perceptron

Page 49: 05b Neural Network Single Layer

Contoh Kasus 2 : Pola Karakter

Pengenalan sebuah pola karakter• Diketahui 6 buah pola masukan seperti pada slide

b ik tberikut• Buat model perceptron untuk mengenali pola

menyerupai huruf “A”menyerupai huruf A

Page 50: 05b Neural Network Single Layer

. . # # . . . # # # # # # . . . # # # # .

. . . # . . . . # . . . . # . # . . . . #

# # # #. . . # . . . . # . . . . # # . . . . . .

. . # . # . . . # . . . . # # . . . . . .

. . # . # . . . # # # # # . # . . . . . .

. # # # # # . . # . . . . # # . . . . . .

. # . . . # . . # . . . . # # . . . . . .

. # . . . # . . # . . . . # . # . . . . #

# # # . # # # # # # # # # . . . # # # # .

Pola 1 Pola 2 Pola 3Pola 1 Pola 2 Pola 3

. . . # . . . # # # # # # . . . # # # . .

. . . # . . . # . . . . . # . # . . . # .

. . . # . . . # . . . . . # # . . . . . #

. . # . # . . # . . . . . # # . . . . . .

. . # . # . . # # # # # # . # . . . . . .

# # # # #. # . . . # . # . . . . . # # . . . . . .

. # # # # # . # . . . . . # # . . . . . #

. # . . . # . # . . . . . # . # . . . # .

. # . . . # . # # # # # # . . . # # # . .

Pola 4 Pola 5 Pola 6

Page 51: 05b Neural Network Single Layer

Representasi Kasus

• Setiap karakter pola dianggap sebagai sebuah unit masukan– Karakter “#” diberi nilai 1, karakter “.” diberi nilai -1– Pembacaan pola dilakukan dari kiri ke kanan, dimulai dari baris paling atas

1 . . # # . . . -1 -1 1 1 -1 -1 -1

2 . . . # . . . -1 -1 -1 1 -1 -1 -1

3 . . . # . . . -1 -1 -1 1 -1 -1 -1

4 . . # . # . . -1 -1 1 -1 1 -1 -1

5 . . # . # . . → -1 -1 1 -1 1 -1 -15 → 1 1 1 1 1 1 1

6 . # # # # # . -1 1 1 1 1 1 -1

7 . # . . . # . -1 1 -1 -1 -1 1 -1

8 # # 1 1 1 1 1 1 1

S i l di i d i 9 b i d k l

8 . # . . . # . -1 1 -1 -1 -1 1 -1

9 # # # . # # # 1 1 1 -1 1 1 1

1 2 3 4 5 6 7

• Setiap pola terdiri dari 9 baris dan 7 kolom– Perceptron terdiri dari 63 unit masukan (x1 s/d x63) dan sebuah bias bernilai = 1

Page 52: 05b Neural Network Single Layer

Representasi Kasus

• TargetKeluaran jaringan bernilai 1 jika diberi masukan menyerupai huruf– Keluaran jaringan bernilai 1 jika diberi masukan menyerupai huruf “A” dan bernilai -1 jika tidak menyerupai huruf “A”

– Pola yang menyerupai huruf “A” adalah pola 1 dan 4.

Pola Masukan Target

Pola 1 1

Pola 2 -1

Pola 3 -1

Pola 4 1Pola 4 1

Pola 5 -1

Pola 6 -1

Page 53: 05b Neural Network Single Layer

Arsitektur PerceptronArsitektur PerceptronAsumsi parameter :

Bobot awal = 0

x

x1

w1

Learning rate α = 1Threshold θ = 0,5

Pelatihan dilakukan dengan memasukkan seluruh pola hurufx2

y

w2θ seluruh pola huruf

Hitung

∑ +=63

ii bwxnet

x63

w63

b

∑=1i

505,05,0

5,0,,

101

)( ≤≤−>

⎪⎩

⎪⎨

⎧== net

netnetfy

1Bila f(net) ≠ target, bobot dan bias diubahProses pelatihan terus dilakukan hingga semua keluaran sama dengan target.Perceptron memiliki 63 unit masukan,

S b h bi d b h it k l

5,0,1 <⎪⎩− net

e ua a sa a de ga a geSebuah bias dan sebuah unit keluaran

Page 54: 05b Neural Network Single Layer

Pengenalan Beberapa Karakter• Pengenalan beberapa pola g

sekaligus dilakukan dengan menggabungkan beberapa perceptron y1

x1 w11wm1

w12beberapa perceptron– Terdapat beberapa unit keluaran

• Setiap unit masukan dan bi dih b k d

x2

wm2

bias dihubungkan dengan setiap target– Bobot koneksi dari unit xi ke yj

xnb1

ym

bm

wmn

w1n

jdiberi label wji

– Bobot bias diberi label b1, b2, … bm

1

Page 55: 05b Neural Network Single Layer

Algoritma Pelatihan• Algoritma pelatihan perceptron untuk pengenalan beberapa pola :

Nyatakan tiap pola masukan sebagai vektor bipolar yang elemennya– Nyatakan tiap pola masukan sebagai vektor bipolar yang elemennya adalah tiap titik dalam pola tersebut

– Berikan nilai target tj = 1 jika pola masukan menyerupai huruf yang diinginkan, dan berikan nilai tj = -1 jika sebaliknya (j=1, 2, …m)diinginkan, dan berikan nilai tj 1 jika sebaliknya (j 1, 2, …m)

– Inisialisasi semua bobot, bias dan learning rate– Lakukan proses pelatihan perceptron seperti dibahas sebelumnya

• Untuk setiap unit keluaran, hitung respon unit keluaran net dan yj=f(netj)

• Perbaiki bobot pola bila respon keluaran tidak sama dengan target (yj ≠ tj)menurut persamaan

(b ) (l ) twji(baru)=wji(lama)+ α.tj.xi

bj(baru) = bj(lama) + α.tj• Lakukan proses pelatihan hingga yj = tj (j=1, 2, … m)

Page 56: 05b Neural Network Single Layer

Kasus 3 : Pengenalan Pola “A B C”

• Bila diketahui 6 buah pola masukan seperti pada kasus 2, buat model perceptron untuk mengenali pola menyerupai huruf “A”, “B” atau “C”.

Page 57: 05b Neural Network Single Layer

. . # # . . . # # # # # # . . . # # # # .

. . . # . . . . # . . . . # . # . . . . #

# # # #. . . # . . . . # . . . . # # . . . . . .

. . # . # . . . # . . . . # # . . . . . .

. . # . # . . . # # # # # . # . . . . . .

. # # # # # . . # . . . . # # . . . . . .

. # . . . # . . # . . . . # # . . . . . .

. # . . . # . . # . . . . # . # . . . . #

# # # . # # # # # # # # # . . . # # # # .

Pola 1 Pola 2 Pola 3Pola 1 Pola 2 Pola 3

. . . # . . . # # # # # # . . . # # # . .

. . . # . . . # . . . . . # . # . . . # .

. . . # . . . # . . . . . # # . . . . . #

. . # . # . . # . . . . . # # . . . . . .

. . # . # . . # # # # # # . # . . . . . .

# # # # #. # . . . # . # . . . . . # # . . . . . .

. # # # # # . # . . . . . # # . . . . . #

. # . . . # . # . . . . . # . # . . . # .

. # . . . # . # # # # # # . . . # # # . .

Pola 4 Pola 5 Pola 6

Page 58: 05b Neural Network Single Layer

Arsitektur Perceptron

Arsitektur jaringan perceptron pengenalan pola menyerupai huruf A, B dan C dengan Tabel pasangan masukan - target

Pola Masukan

Target

t t t

p y p , g6 pola masukan

p g g

x1 w11 t1 t2 t3

Pola 1 1 -1 -1

Pola 2 -1 1 -1x2

y1

w11w21

w12

w22

w13

Pola 3 -1 -1 1

Pola 4 1 -1 -1

y2

w22

w32

Pola 5 -1 1 -1

Pola 6 -1 -1 1

x63

b1

by3

b2

1 b3

Page 59: 05b Neural Network Single Layer

Tabel Pelatihan

Masukan Target Keluaran Perubahan Bobot Bobot Baru

x1- bias t1-t3 net1- f(net1)- Δw11- Δw1 63, Δb1- w11-w1 63, b1-x1x63

bias t1 t3 net1net3

f(net1)f(net3)

Δw11 Δw1.63, Δw21- Δw2.63, Δw31- Δw3.63

Δb1Δb3

w11 w1.63, w21-w2.63, w31-w3.63

b1b3

00……..00 0..0

Terdiri dari :• 63 unit masukan dan sebuah bias b (x x x dan b)

… … … … … … … … …

• 63 unit masukan dan sebuah bias b (x1, x2, … x63 dan b)• 3 kolom target (t1, t2 dan t3) • 3 kolom net (net1, net2 dan net3)• 3 kolom fungsi aktivasi (y1=f(net1) y2=f(net2) y3=f(net3))3 kolom fungsi aktivasi (y1=f(net1), y2=f(net2), y3=f(net3))• 3*63 kolom perubahan bobot

– Δw11, Δw12, …, Δw1.63, Δw21, Δw22, … Δw2.63, Δw31, Δw32, … Δw3.63• 3*63 kolom bobot

– w11,w12, …,w1.63, w21, w22, … w2.63, w31, w32, … w3.63

Page 60: 05b Neural Network Single Layer

Ri kRingkasan• Perceptron merupakan jaringan satu layer yang menyerupai arsitektur

jaringan Hebb.j g• Perbedaan perceptron dengan jaringan Hebb :

– Fungsi aktivasi memiliki nilai -1, 0 dan 1– Iterasi dilakukan terus menerus hingga seluruh keluaran sama dengan gg g

target yang ditentukan– Perubahan bobot hanya dilakukan bila keluaran jaringan tidak sama

dengan target Terdapat parameter laju pemahaman yang menentukan kecepatan iterasi– Terdapat parameter laju pemahaman yang menentukan kecepatan iterasi

• Perceptron memiliki keunggulan dibandingkan dengan jaringan Hebb karena adanya beberapa hal :– Pelatihan dilakukan terus hingga jaringan dapat mengerti pola yangPelatihan dilakukan terus hingga jaringan dapat mengerti pola yang

ditentukan.– Bobot tidak selalu dimodifikasi pada setiap iterasi. Jika terdapat

perbedaan, baru bobot tersebut dimodifikasiM difik i b b t k l j h d t di t tid k– Modifikasi bobot menggunakan laju pemahaman yang dapat diatur, tidak hanya ditentukan oleh perkalian antara target dan masukan saja