4. perceptron

41
PERCEPTRON

Upload: bagus-fatkhurrozi

Post on 17-Jan-2016

37 views

Category:

Documents


0 download

DESCRIPTION

jk

TRANSCRIPT

Page 1: 4. PERCEPTRON

PERCEPTRON

Page 2: 4. PERCEPTRON

Pengantar

• Ditemukan oleh Rosenblatt (1962) dan Minsky-Papert

(1969).

• Arsitektur jaringan mirip dengan arsitektur jaringan

Hebb.

• Fungsi aktivasi dengan harga threshold θ ditentukan:

𝑓 𝑛𝑒𝑡 =

1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 > 𝜃0 𝑗𝑖𝑘𝑎 − 𝜃 ≤ 𝑛𝑒𝑡 ≤ 𝜃−1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 < 𝜃

Page 3: 4. PERCEPTRON

Pelatihan perceptron• s adalah vektor masukan dan t adalah target keluaran

• α adalah laju pemahaman (learning rate) yang

ditentukan

• θ adalah threshold yang ditentukan

Algoritma pelatihan

1. Inisialisasi semua bobot dan bias (umumnya wi = b =

0)

2. Tentukan laju pemahaman (= α). biasanya α = 1

3. Selama ada eleman vektor masukan yang respons

unit keluarannya tidak sama dengan target, lakukan:

Page 4: 4. PERCEPTRON

Pelatihan perceptron

a. set aktivasi unit masukan xi = si (i = 1, ..., n)

b. hitung respons unit keluaran:

c. Perbaiki bobot pola yang mengandung kesalahan (y

≠ t) menurut persamaan:

– wi (baru) = wi (lama) + Δ w (i = 1, ...,n) dengan Δ w = α t xi

– b (baru) = b (lama) + Δ b dengan Δ b = α t

𝑛𝑒𝑡 = 𝑥𝑖𝑤𝑖 + 𝑏

𝑖

𝑦 = 𝑓 𝑛𝑒𝑡 =

1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 > 𝜃0 𝑗𝑖𝑘𝑎 − 𝜃 ≤ 𝑛𝑒𝑡 ≤ 𝜃−1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 < 𝜃

Page 5: 4. PERCEPTRON

beberapa hal yang perlu diperhatikan

dalam agoritma:

• Iterasi dilakukan terus menerus hingga semua pola

memiliki keluaran jaringan yang sama dengan targetnya

(jaringan sudah memahami pola). Iterasi tidak berhenti

setelah semua pola dimasukkan seperti yang terjadi pada

model Hebb

• Pada langkah 2(c), perubahan bobot hanya dilakukan pada

pola yang mengandung kesalahan (keluaran jaringan ≠

target). Perubahan tersebut merupakan hasil kali unit

masukan dengan target dan laju pemahaman. Perubahan

bobot hanya akan terjadi kalau unit masukan ≠ 0

• Kecepatan iterasi ditentukan pula oleh laju pemahaman (=

α dengan 0 ≤ α ≤ 1) yang dipakai. Akan tetapi jika α terlalu

besar, maka akan merusak pola yang sudah benar

sehingga pemahaman menjadi lambat.

Page 6: 4. PERCEPTRON

Algoritma pelatihan perceptron lebih

baik dibandingkan model Hebb

• Setiap kali sebuah pola dimasukkan, hasil keluaran

jaringan dibandingkan dengan target sesungguhnya. Jika

terdapat perbedaan, maka bobot akan dimodifikasi. Jadi

tidak semua bobot selalu dimodifikasi dalam setiap

iterasinya

• Modifikasi bobot tidak hanya ditentukan oleh perkalian

antara target dengan masukan, tapi juga melibatkan suatu

laju pemahaman (learning rate) yang besarnya bisa diatur.

• Pelatihan dilakukan berulang-ulang untuk semua

kemungkinan pola yang ada hingga jaringan dapat

mengerti polanya (ditandai dengan samanya semua

keluaran jaringan dengan targer keluaran yang diinginkan).

Satu siklus pelatihan yang melibatkan semua pola disebut

epoch. Dalam jaringan Hebb, pelatihan hanya dilakukan

dalam satu epoch saja.

Page 7: 4. PERCEPTRON

Contoh 1

• Buatlah perceptron untuk mengenali fungsi logika

“and” dengan masukan dan keluaran bipolar! Untuk

inisialisasi, gunakan bobot dan bias awal = 0, α = 1,

dan θ = 0.

• Penyelesaian

Tabel masukan dan target fungsi logika “and” dengan

masukan dan keluaran bipolar seperti pada Tabel 1.

x1 x2 1 Target

1 1 1 1

1 -1 1 -1

-1 1 1 -1

-1 -1 1 -1

Masukan

Page 8: 4. PERCEPTRON

Penyelesaian

• Untuk threshod = 0, maka fungsi aktivasi menjadi:

• Hasil pada epoch pertama

𝑦 = 𝑓 𝑛𝑒𝑡 = 1 ,𝑛𝑒𝑡 > 00 ,𝑛𝑒𝑡 = 0−1 ,𝑛𝑒𝑡 < 0

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 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 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

Masukan Perubahan Bobot Bobot Baru

Page 9: 4. PERCEPTRON

• Pada input pertama (x1, x2, 1) = (1 1 1). Harga net

dihitung berdasar bobot yang sudah ada sebelumnya,

yaitu (w1, w2, b) = (0 0 0). Maka net = sehingga f(net)

= f(0) = 0.

• Keluaran jaringan (= f(net) = 0) tidak sama dengan

target yang diinginkan (dalam hal ini adalah 1), maka

bobot diubah menggunakan rumus Δw = α t xi = t xi

(karena α=1). Bobot baru = bobot lama + Δw.

• Input kedua dan seterusnya dihitung secara analog.

Pada pola terakhir (x1, x2, 1) = (-1 -1 1), harga f(net) = -

1 yang sama dengan targetnya, maka bobot tidak

diubah. Hal ini dinyatakan dengan kondisi Δw = 0.

Penyelesaian

Page 10: 4. PERCEPTRON

• Karena belum semua f(net) sama dengan target t,

maka iterasi dilanjutkan pada epoch kedua. Semua

pola kembali dimasukkan ke jaringan dengan

menggunakan bobot terakhir yang diperoleh sebagai

bobot awalnya. Diperoleh hasil iterasi sebagai berikut

Penyelesaian

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 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 -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

Masukan Perubahan Bobot Bobot Baru

Page 11: 4. PERCEPTRON

Contoh 2

• Ulangi contoh 1 dengan menggunakan masukan biner

dan keluaran bipolar. Gunakan α = 1 dan θ = 0,2.

• Penyelesaian

Dengan θ = 0,2 maka fungsi aktivasi menjadi:

• Hasil epoch pertama

𝑦 = 𝑓 𝑛𝑒𝑡 = 1 ,𝑛𝑒𝑡 > 0,20 ,−0,2 ≤ 𝑛𝑒𝑡 ≤ 0,2−1 ,𝑛𝑒𝑡 < −0,2

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 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 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

Masukan Perubahan Bobot Bobot Baru

Page 12: 4. PERCEPTRON

• Epoch 2

• Epoch 3

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 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 -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

Masukan Perubahan Bobot Bobot Baru

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 0 0 -2

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

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

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

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

Masukan Perubahan Bobot Bobot Baru

Page 13: 4. PERCEPTRON

• Epoch 4

• Epoch 5

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 0 1 -2

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

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

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

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

Masukan Perubahan Bobot Bobot Baru

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 0 1 -3

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

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

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

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

Masukan Perubahan Bobot Bobot Baru

Page 14: 4. PERCEPTRON

• Epoch 6

• Epoch 7

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 1 1 -3

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

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

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

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

Masukan Perubahan Bobot Bobot Baru

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 1 2 -3

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

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

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

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

Masukan Perubahan Bobot Bobot Baru

Page 15: 4. PERCEPTRON

• Epoch 8

• Epoch 9

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 1 2 -4

1 1 1 1 -1 -1 1 1 1 2 3 -3

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

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

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

Masukan Perubahan Bobot Bobot Baru

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 2 2 -4

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

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

Masukan Perubahan Bobot Bobot Baru

Page 16: 4. PERCEPTRON

• Epoch 10

y=

x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b

inisialisasi 2 3 -4

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

1 0 1 -1 -2 -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

Masukan Perubahan Bobot Bobot Baru

Page 17: 4. PERCEPTRON

Perceptron untuk pengenalan sebuah

pola

Algoritma pengenalan pola:

• Nyatakan tiap pola masukan sebagai vektor bipolar

yang elemennya adalah tiap titik dalam pola tersebut

• Berikan nilai target = 1 jika pola masukan menyerupai

pola yang diinginkan. Jika sebaliknya, beri nilai target

= -1

• Berikan inisialisasi bobot, bias, laju pemahaman, dan

threshold

• Lakukan proses pelatihan seperti proses pelatihan

perceptron biasa

Page 18: 4. PERCEPTRON

Contoh 3

• Diketahui 6 buah pola masukan sebagai berikut:

• Buatlah model perceptron untuk mengenali pola “A”!

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

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

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

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

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

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

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

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

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

Pola 1 Pola 2 Pola 3

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

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

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

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

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

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

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

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

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

Pola 4 Pola 5 Pola 6

Page 19: 4. PERCEPTRON

• Untuk menentukan vektor masukan, tiap titik dalam

pola diambil sebagai komponen vektor. Jadi tiap

vektor masukan memiliki 9 x 7 = 63 komponen. Titik

dalam pola yang bertanda “#” diberi nilai = 1 dan titik

bertanda “.” diberi nilai = -1.

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

Pasangan pola dan target sebagai berikut:

Penyelesaian

Pola masukan Target

Pola 1 1

Pola 2 -1

Pola 3 -1

Pola 4 1

Pola 5 -1

Pola 6 -1

Page 20: 4. PERCEPTRON

• Maka perceptron yang dipakai untuk mengenali pola

huruf “A” (atau bukan “A”) memiliki 63 unit masukan,

sebuah bias, dan 1 unit keluaran.

• Misalkan bobot awal diambil = 0 untuk semua bobot

maupun bias, α = 1, dan θ = 0,5.

• Pelatihan dilakukan dengan cara memasukkan 63 unit

masukan (atau sebuah pola huruf). Dihitung .

Berikutnya, fungsi aktivasi dihitung menggunakan

persamaan

• Apabila f(net) ≠ target, maka bobot dan bias diubah.

Proses pelatihan dilakukan terus menerus hingga

semua keluaran jaringan sama dengan targetnya.

Penyelesaian

𝑦 = 𝑓 𝑛𝑒𝑡 = 1 ,𝑛𝑒𝑡 > 0,50 ,−0,5 ≤ 𝑛𝑒𝑡 ≤ 0,5−1 ,𝑛𝑒𝑡 < −0,5

Page 21: 4. PERCEPTRON

Pengenalan beberapa pola

• Pengenalan beberapa pola sekaligus (misal “A” atau

bukan “A”, “B” atau bukan “B”, dan seterusnya)

dilakukan dengan cara menggabungkan beberapa

model perceptron. Jadi ada beberapa unit keluaran

sekaligus, seperti tampak pada gambar berikut

1

x1

x2

xn

y1

ym

b1

w11

bm

wm1

w12

wm2

w1n

wmn

Page 22: 4. PERCEPTRON

Setiap unit masukan dihubungkan dengan setiap unit

target. Algoritma pelatihan perceptron untuk

pengenalan beberapa pola sekaligus adalah sebagai

berikut:

1. Nyatakan tiap pola masukan sebagai vektor bipolar

yang elemennya adalah tiap titik dalam pola tersebut

2. Berikan nilai target tj = 1 jika pola masukan

menyerupai pola yang diinginkan. Jika sebaliknya,

berikan nilai target tj= -1 (j = 1, ..., m)

3. Berikan inisialisasi bobot, bias, laju pemahaman, dan

threshold

Pengenalan beberapa pola

Page 23: 4. PERCEPTRON

4. Lakukan proses pelatihan perceptron untuk tiap unit

keluaran sebagai berikut:

a. Hitung respons unit keluaran ke-j:

b. Perbaiki bobot pola yang mengandung kesalahan

(yj ≠ tj) menurut persamaan:• wji (baru) = wji (lama) + α tj xi

• bj (baru) = wj (lama) + α tj

c. Lakukan langkah 4a-b terus menerus hingga tj = yj

; j =1, ...,m

Pengenalan beberapa pola

𝑛𝑒𝑡𝑖 = 𝑥𝑖𝑤𝑗𝑖 +

𝑖

𝑏𝑗

𝑦𝑗 = 𝑓 𝑛𝑒𝑡𝑗 =

1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 > 𝜃0 𝑗𝑖𝑘𝑎 − 𝜃 ≤ 𝑛𝑒𝑡 ≤ 𝜃−1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 < 𝜃

Page 24: 4. PERCEPTRON

Contoh 3• Diketahui 6 buah pola masukan seperti gambar di

bawah. Buatlah model perceptron untuk mengenali

pola “A”, “B”, dan “C”!

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

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

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

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

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

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

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

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

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

Pola 1 Pola 2 Pola 3

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

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

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

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

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

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

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

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

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

Pola 4 Pola 5 Pola 6

Page 25: 4. PERCEPTRON

Penyelesaian

• Pertama kali dibuat 6 buah vektor masukan seperti

contoh 2. Ada 3 buah vektor keluaran yang masing-

masing menyatakan bahwa pola menyerupai huruf

“A”, “B”, dan “C”. Vektor target sebagai berikut:

Pola masukan t1 t2 t3

Pola 1 1 -1 -1

Pola 2 -1 1 -1

Pola 3 -1 -1 1

Pola 4 1 -1 -1

Pola 5 -1 1 -1

Pola 6 -1 -1 1

Page 26: 4. PERCEPTRON

Selanjutnya iterasi dapat dibuat seperti contoh 1 dan

2, dengan beberapa perubahan sebagai berikut:

• Vektor masukan terdiri dari 36 elemen x1, x2, ..., x36

dan sebuah bias b

• Ada 3 target, yaitu t1, t2,dan t3

• Ada 3 kolom net, yaitu net1, net2, dan net3, masing-

masing merupakan hasil kali bobot dengan vektor

masukan

Penyelesaian

Page 27: 4. PERCEPTRON

• Ada 3 buah y yang merupakan fungsi aktivasi ketiga

kolom net, y1=f(net1), y2=f(net2), dan y3=f(net3)

• Ada 3 x 63 kolom perubahan bobot yaitu Δw11, Δw12,

..., Δw1.63, Δw21, Δw22, ..., Δw2.63, ..., Δw31, Δw32, ...,

Δw3.63

• Ada 3 x 63 bobot, masing-masing:

w11, w12, ..., w1.63, w21, w22, ..., w2.63, ..., w31, w32, ...,

w3.63

Penyelesaian

Page 28: 4. PERCEPTRON

Pemrograman perceptron dengan

matlab

1. spesifikasi perceptron dalam matlab

Perceptron adalah model paling sederhana yang

dapat diselesaikan dengan matlab. Model perceptron

dalam matlab sedikit berbeda dengan perceptron

konvensional. Dalam matlab, default sistem yang

dipakai adalah:

• masukan dan target yang dipakai berbentuk bebas

(tidak harus biner/bipolar)

• threshold yang dipakai adalah 0

• fungsi aktivasi (dalam matlab disebut hardlim) memiliki

output biner (bukan 3 kemungkinan 1, 0, dan -1)

Page 29: 4. PERCEPTRON

1. spesifikasi perceptron dalam matlab

• tidak menggunakan laju pemahaman. Bobot diubah

berdasarkan error yang terbentuk dari selisih antara

target yang diinginkan dengan keluaran jaringan.

Perubahan bobot bukan merupakan hasil kali antara

target dengan masukan.

Misalkan p = (x1, x2, ..., xn) adalah masukan yang

diberikan ke jaringan dengan target = t, a = f(net).

Perubahan bobot yang dilakukan adalah

Perubahan bobot hanya dilakukan jika target ≠

keluaran jaringan.

∆𝑤 =

𝑝, 𝑡 − 𝑎 > 0

−𝑝, 𝑡 − 𝑎 < 0

0, 𝑡 − 𝑎 = 0

Page 30: 4. PERCEPTRON

2. Pembentukan Jaringan

• Perceptron dibentuk dengan perintah newp. Perintah

newp akan membentuk sebuah perceptron denan

spesifikasi tertentu (jumlah unit input, jumlah neuron,

fungsi aktivasi, dll) Format fungsi newp adalah

sebagai berikut:

net = newp (PR,S,TF,LF)

dengan

PR = matriks ordo R x 2 yang menyatakan nilai

minimum dan maksimum tiap unit masukan (ada R

buah unit masukan)

S = jumlah neuron target

TF = fungsi aktivasi biner. Defaultnya adalah fungsi

threshold (dalam matlab disebut “hardlim”

Page 31: 4. PERCEPTRON

• LF = fungsi pelatihan. Defaultnya adalah “learnp”

• Fungsi learnp dalam default pembuatan perceptron

dipakai untuk mengubah bobot sehingga diperoleh

bobot yang lebih mendekati target. Untuk membuat

fungsi aktivasi threshold bipolar, TF diubah ke

“hardlims”..

• Perintah newp juga akan menset bobot dan bias awal

ke 0. Untuk mengubahnya, gunakan penugasan

terhadap net.IW{i,j} dan net.b{i}. Indeks i dan j dalam

net.IW menunjukkan bobot awal dari layar-j ke layar-i.

Dalam perceptron hanya dikenal layar masukan dan

keluaran, sehingga net.IW menunjukkan bobot awal

dari layar masukan ke neuron targetnya.

2. Pembentukan Jaringan

Page 32: 4. PERCEPTRON

Contoh 4

• Buatlah perceptron untuk mengenali pola fungsi logika

“and” 2 variabel x1 dan x2!

• Penyelesaian

Fungsi logika “and” dengan 2 variabel masing-masing

memiliki range nilai masukan [0,1], dan sebuah target.

Maka perintah yang dibuat adalah

net = newp ([0 1 ; 0 1],1)

Baris pertama matriks ([0 1]) menunjukkan range nilai

x1, sedangkan baris kedua menunjukkan range nilai

x2. s = 1 menunjukkan bahwa jaringan hanya memiliki

sebuah target. Jaringan yang terbentuk memiliki bobot

awal, bias, perubahan bobot, dll mengikuti defaultnya.

Page 33: 4. PERCEPTRON

Pembentukan vektor masukan dan

target

• Setelah membentuk perceptron, berikutnya

didefinisikan pola masukan dan target yang akan

dikenali.

• Masing-masing masukan dan keluaran berupa vektor

kolom.

• Perhatikan bahwa jumlah unit tiap pola masukan serta

rangenya harus sesuai dengan spesifikasi perceptron

yang dibuat.

Page 34: 4. PERCEPTRON

Contoh 5

• Bentuklah perceptron dengan masukan dan targetnya

untuk mengenali pola fungsi logika “and”, dengan

bobot awal w = [-1 1] dan bias b = [1]!

• Penyelesaian

Fungsi logika “and” memiliki 4 pola (masing-masing

terdiri dari 2 unit)

Pola Masukan Masukan Target

p1 [1 1] 1

p2 [1 0] 0

p3 [0 1] 0

p4 [0 0] 0

Page 35: 4. PERCEPTRON

Penyelesaian

• Perintah matlab adalah sebagai berikut

net=newp([0 1;0 1],1)

net.IW{1,1}=[-1 1]

net.b{1}=[1]

p=[[1;1] [1;0] [0;1] [0;0]]

t=[1 0 0 0]

Page 36: 4. PERCEPTRON

Menghitung keluaran perceptron

• Setelah pola masukan diberikan, kita dapat

menghitung keluaran jaringannya. Perintah sim dalam

matlab dipakai untuk menghitung keluaran perceptron.

Format perintahnya:

[Y,Pf,Af,E,perf] = sim (net,P,Pi,Ai,T)

dengan parameter masukan

net : nama jaringan dalam perintah newp

P : vektor masukan jaringan

pi : kondisi delay awal masukan. default = zeros

Ai : kondisi delay layar. default = zeros

T : vektor target jaringan. default = zeros

Page 37: 4. PERCEPTRON

• dan parameter keluaran

Y : keluaran jaringan

Pf : kondisi akhir delay masukan

Af : kondisi akhir delay layar

E : error jaringan = T – Y

perf : unjuk kerja jaringan

Menghitung keluaran perceptron

Page 38: 4. PERCEPTRON

• Pi, Ai, Pf, Af hanya dipakai bagi jaringan yang memiliki

delay masukan dan layar. Untuk sekedar menghitung

keluaran jaringan, dapat dipakai statemen sederhana

• y = sim (net,p);

• Perhatikan bahwa untuk menghitung keluaran

jaringan, kita tidak perlu mengetahui targetnya. Akan

tetapi jika ingin dihitung kesalahan yang terjadi (selisih

antara target dengan keluaran jaringan), maka harus

diketahui targetnya.

Menghitung keluaran perceptron

Page 39: 4. PERCEPTRON

Contoh 6

• Hitunglah keluaran jaringan Contoh 4 menggunakan

bobot awal seperti Contoh 5!

• Penyelesaian

Setelah perintah seperti Contoh 5, ditambahkan

perintah:

a = sim (net,p)

diperoleh hasil:

p =

1 1 0 0

1 0 1 0

t =

1 0 0 0

Page 40: 4. PERCEPTRON

Penyelesaian

• a =

1 1 1 1

• Vektor a merupakan keluaran jaringan untuk p1 hingga

p4 dengan menggunakan bobot dan bias masing-

masing = [-1 1] dan [1]. Perhitungan manualnya

sebagai berikut

• Jika ingin menampilkan besar error dan unjuk kerja

yang terjadi, maka parameter perintah sim

ditambahkan:

Pola Masukan f(net)

p1 1(-1)+1(1) + 1 = 1 1

p2 1(-1)+0(1) + 1 = 0 1

p3 0(-1)+1(1) + 1 = 2 1

p4 0(-1)+0(1) + 1 = 0 1

Page 41: 4. PERCEPTRON

[a,Pf,Af,e,perf] = sim (net,p,[ ],[ ],t)

keluaran jaringan adalah:

a

1 1 1 1

Pf =

[ ]

Af =

[ ]

e =

0 -1 -1 -1

perf =

0.7500

Penyelesaian