Jaringan Syaraf Tiruan g y
(Artificial Neural Network)
Intelligent Systems
Pembahasan
• Jaringan McCulloch-Pitts
• Jaringan Hebb
• Perceptron
Jaringan McCulloch-Pitts g
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 p
meningkatkan kemampuan komputasi
• Digunakan untuk melakukan fungsi logika sederhana gu a a u tu e a u a u gs og a sede a a
• Banyak prinsipnya yang masih digunakan pada JST saat ini
saat ini
Karakteristik McCulloch-Pitts Karakteristik McCulloch-Pitts
Karakteristik model neuron McCulloch-Pitts :
1 Fungsi aktivasi neuron dalam biner 1. 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 h
2. 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)= 0
X1 1
Dimana :
• 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 Y
X3 w3
Karakteristik McCulloch Pitts Karakteristik McCulloch-Pitts
Karakteristik model neuron McCulloch-Pitts :
3 Seluruh jalur bernilai positif yang terhubung ke neuron 3. 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 tetap
4. 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
X1 2 Ditentukan θ = 4, w1=2, w2=2 dan w3=-1
X2 Y
2 2 1
e u a θ , , da 3
maka :
• net = 2.x1 + 2.x2 + (-1).x3
• If net >= 4, then y=f(net)=1, else f(net)= 0
X3 -1
K kt i tik M C ll h Pitt Karakteristik McCulloch-Pitts
Karakteristik model neuron McCulloch-Pitts :
5 Bobot setiap jalur tidak ditentukan dengan proses pelatihan 5. 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 waktu
satuan waktu
7. Pada awalnya, jaringan McCulloch-Pitts digunakan untuk memodelkan fungsi logika
X1 2
Ditentukan θ = 4, w1=2, w2=2 dan w3=-1 maka :
• 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
Fungsi AND
• Agar jaringan dapat menyatakan fungsi AND maka bobot jalur dibuat bernilai 1
X1 θ 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
Y w1=1
w2=1
θ=2
( y )
– Penentuan bobot jalur dilakukan secara analitik (coba-coba)
X1 X2
∑
=
=
21 i
i
i
w
x
net
⎩⎨⎧<
= ≥
= 2
2 0
) 1
( net
net jika net jika
f y
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
Fungsi OR
• Agar jaringan dapat menyatakan fungsi AND maka bobot jalur diganti menjadi
X1 θ 2 AND, maka bobot jalur diganti menjadi bernilai 2
– Bobot koneksi tetap harus sama (keduanya diganti menjadi bernilai 2)
X1
X2
Y w1=2
w2=2
θ=2
( y g j )
– Perubahan bobot jalur dilakukan secara analitik
X1 X2
∑
=
=
21 i
i
i
w
x
net
⎩⎨⎧<
= ≥
= 2
2 0
) 1
( net
net jika net jika
f y
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
Fungsi AND-NOT
• Y bernilai 1 jika X1=1 dan X2=0
• Untuk memperolehnya maka bobot w1
X1 θ 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
Y w1= 2
w2= -1
θ=2
dengan 1, maka w2 harus negatif
X1 X2
∑
=
=
21 i
i
i
w
x
net
⎩⎨⎧<
= ≥
= 2
2 0
) 1
( net
net jika net jika
f y
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
F i XOR Fungsi 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
Y
2 θ=2
X1 2
-1
θ=2
Z2
2 Y
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
Jaringan Hebb g
Jaringan Hebb
• Jaringan layer tunggal dengan satu neuron keluaran
– Seluruh neuron masukan terhubung langsung dengan
k l dit b h d b h bi
neuron keluaran, ditambah dengan sebuah bias
• Pada jaringan McCulloch-Pitts, penentuan bobot garis dan bias dilakukan secara analitik
garis 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
Konsep Dasar Hebb Konsep 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
y w2
2
sinapsis neuron output
neuron input
Dasar Algoritma Hebb Dasar 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)
x perubahan nilai bobot dilakukan
x1 d
x2 y
w1 w2
dengan persamaan :
wi(baru)= wi(lama)+xiy b(b ) b(l ) +
1 b b(baru) = b(lama) +y
Algoritma Pelatihan Hebb Algoritma Pelatihan Hebb
Algoritma 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 : x
i= s
i(i=1, …, n)
• Set aktivasi unit keluaran : y = t Set aktivasi unit keluaran : y t
• Perbaiki bobot menurut persamaan :
wii(baru)=w( ) ii(lama)+delta w( ) ii (i=1, …, n), ( , , ), dimana delta wi = xiy
• Perbaiki bias menurut persamaan :
b(baru) = b(lama) + y
Kasus 1 : Fungsi Logika Kasus 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 bipolar
c. 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
a Representasi Biner-Biner a. Representasi Biner-Biner
Tabel Masukan dan Target fungsi AND
Masukan Target
s1 s2 bias t X1 w1 θ=0
1 1 1 1
1 0 1 0
X2 1
w2 Y b
0 1 1 0
0 0 1 0
1
Arsitektur Jaringan Hebb fungsi AND
• Masukan biner
• Target keluaran biner
a Representasi Biner Biner a. Representasi Biner-Biner
Masukan 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 1
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
• 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
a. Representasi Biner-Biner
2 ⎧1 jik t ≥ 0
Hasil eksekusi :
x1 x2
1 1 1.1+1.1+1=3 1
∑
=+
=
1 i
i
i
w b
x
net
⎩⎨⎧<
= ≥
= 0
0 0
) 1
( net
net jika net jika
f y
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 1
0 0 0.1+0.1+1 1 1
• f(net) tidak sama dengan target yang diinginkan X1
w1=1 θ=0
pada fungsi AND
• Jaringan TIDAK DAPAT ‘MENGERTI’ pola yang dimaksud
X2 1
w2=1 Y 1 b=1
b Representasi Biner-Bipolar b. Representasi Biner-Bipolar
Tabel Masukan dan Target fungsi AND
Input Target
s1 s2 bias t X1
w1 θ=0
1 1 1 1
1 0 1 -1 X2 Y
w1 w2
0 1 1 -1 b
0 0 1 -1
1 b
Arsitektur Jaringan Hebb
• Masukan biner
• Target keluaran bipolar
fungsi AND
b Representasi Biner Bipolar b. 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 g
wi(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
b. Representasi Biner-Bipolar
2 ⎧
Hasil eksekusi :
x1 x2
1 1 1.0+1.0+(-2)=-2 -1
∑
=+
=
1 i
i
i
w b
x
net
⎩⎨⎧<
≥
= −
= 0
0 1
) 1
( net
net jika net jika
f y
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 1
0 0 0.0+0.0+(-2)=-2 -1
• f(net) belum sama dengan target yang ( ) g g y g X1 w1=0 θ=0 diinginkan pada fungsi AND
• Jaringan MASIH TIDAK DAPAT
‘MENGERTI’ pola yang dimaksud
X2 1
w2=0 Y
p y g 1 b=-2
c. Representasi Bipolar-Bipolar
Tabel Masukan dan Target fungsi AND
Masukan Target
s1 s2 bias t
1 1 1 1 X1
1 -1 1 -1
X1
X2 Y
w1 w2
θ=0
-1 1 1 -1
-1 -1 1 -1
1 b
A i k J i H bb
• Masukan bipolar
• Target keluaran bipolar
Arsitektur Jaringan Hebb fungsi AND
c Representasi Bipolar-Bipolar c. 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 g
wi(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
c. Representasi Bipolar-Bipolar
2 ⎧
Hasil eksekusi :
x1 x2
1 1 1.2+1.2+(-2)=2 1
∑
=+
=
1 i
i
i
w b
x
net
⎩⎨⎧<
≥
= −
= 0
0 1
) 1
( net
net jika net jika
f y
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
X1 1 2 θ=0
• f(net) sama dengan target yang diinginkan d f i AND
X2 Y
w1=2 w2=2 b= 2 pada fungsi AND θ=0
• Jaringan SUDAH DAPAT ‘MENGERTI’ pola yang dimaksud
1 b=-2
Kasus 2 : Pengenalan Pola
Diberikan 2 pola menyerupai huruf X dan O y
# . . . # . # # # .
# # # #
. # . # . # . . . #
. . # . . # . . . #
. # . # . # . . . #
# . . . # . # # # .
POLA 1 POLA 2
POLA 1 POLA 2
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)
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
w1
x21 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
x25 w25
1
b
-1 1 1 1 -1 -1
1 -1 -1 -1 1
1 -1 -1 -1 1
1 1 1 1 1 Arsitektur Jaringan Hebb
1
1 -1 -1 -1 1
-1 1 1 1 -1
Pembelajaran Jaringan
Masukan Target Perubahan Bobot Bobot Baru
x1 s/d x25 bias y dw1 s/d dw25 db W1 s/d w25 b
x1 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
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 -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
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 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 -1 1 -1 -1 -1 1
-2 2 0 2 -2 2 -2 -2 -2 2
wwii(baru)=w(baru) wii(lama)+ dw(lama)+ dwii, dimana dw, dimana dwii=xxiiy (i=1, …, n)y (i 1, …, n)
b(baru) = b(lama) + db, dimana db=y
Hasil eksekusi
X1 s/d x25/
net = ∑
2x
iw
i+ b
y = f (net)=⎨⎧ 1 jika net ≥01 -1 -1 -1 1 -1 1 -1 1 -1
1.2+(-1).(-2)+…+1.2 = 42 1
∑
i=1i
i ( ) ⎩⎨−1 <0
net net jika
f y
-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 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
Perceptron p
Jaringan Perceptron
• Menyerupai arsitektur jaringan Hebb
• Diperkenalkan oleh Rosenblatt (1962) dan Minsky- Diperkenalkan oleh Rosenblatt (1962) dan Minsky Papert (1969)
• Model dengan aplikasi dan pelatihan yang terbaik Model dengan aplikasi dan pelatihan yang terbaik
pada masa tersebut
Arsitektur Jaringan Perceptron
• Jaringan satu layer g y
– Beberapa neuron masukan dihubungkan langsung
dengan sebuah neuron x2 w2
x1
w1
keluaran
– Ditambah satu buah bias
• Fungsi aktivasi memiliki
x3 y
w2 w3
Fungsi aktivasi memiliki nilai -1, 0 dan 1
xn b
wn
⎪ ⎧ 1 , net > θ
1
⎪ ⎩
⎪ ⎨
⎧
−
<
−
≤
≤
−
=
θ θ θ
net net net
f
, 1 , 0
, )
(
P l tih P t
Pelatihan Perceptron
Algoritma pelatihan
– Inisialisasi semua bobot, bias dan learning rate
wi = 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 : x Set aktivasi unit masukan : x
ii= s s
ii(i=1, …, n) (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 :
wii(baru)=w( ) ii(lama)+ Δw (i=1, …, n), ( ) ( , , ), dimana Δw = α.t.xi
b(baru) = b(lama) + α.t
Pelatihan Perceptron Pelatihan Perceptron
• Iterasi dilakukan terus menerus hingga seluruh keluaran sama dengan target ang ditent kan
dengan 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 saja
masukan saja
– Umumnya, 0 < α < 1
• Satu siklus pelatihan yang melibatkan semua pola disebut epoch – Pada Hebb, pelatihan hanya dilakukan dalam satu epoch saja
K l P
Keunggulan Perceptron
• Seluruh pola masukan dibandingkan dengan target yang diinginkan
diinginkan
– 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 ditentukan
mengerti pola yang ditentukan
– Teorema konvergensi perceptron menyatakan bahwa apabila ada bobot yang tepat, maka proses pelatihan akan konvergen ke bobot yang tepat tersebut
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
A. Representasi Bipolar A. Representasi Bipolar
Tabel masukan - target fungsi logika AND : Arsitektur jaringan Perceptron :
Masukan Target
x1 x2 bias t
1 1 1 1
x1
x2 y
w1 w2
1 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
0 0 0 ,
, 1 0 1 )
(
<
=
>
⎪⎩
⎪⎨
⎧
=
=
net net net net
f y
0 ,
1 <
⎪⎩− net
Epoch Pertama (Bipolar)
Masukan Target Keluaran Perubahan Bobot Bobot Baru
x1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 b
x1 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 0
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
• Epoch pertama terdiri dari empat iterasi
• Pada iterasi pertama-ketiga, keluaran y = f(net) tidak sama dengan target → bobot diubah.
∑
=+
= 2
1 i
i
iw b
x net
0 1 >
⎧ 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
0 0 0 ,
, , 1 0 1 )
(
<
=
>
⎪⎩
⎪⎨
⎧
−
=
=
net net net net
f y
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
Epoch Kedua (Bipolar)
Masukan Target Keluaran Perubahan Bobot Bobot Baru
x1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 b
x1 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 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
• Bobot awal diperoleh dari epoch pertama
• Pada setiap iterasi dalam epoch kedua,
∑
=+
= 2
1 i
i
iw b
x net
0 1 >
⎧ net
semua pola f(net) sama dengan target t
→ tidak dilakukan perubahan bobot lagi
• Jaringan sudah mengenal pola, iterasi
0 0 0 ,
, , 1 0 1 )
(
<
=
>
⎪⎩
⎪⎨
⎧
−
=
=
net net net net
f y
w (baru) w (lama)+ t x Jaringan sudah mengenal pola, iterasi dihentikan
wi(baru)=wi(lama)+ α.t.xi b(baru) = b(lama) + α.t
Arsitektur Perceptron Diperoleh Arsitektur Perceptron Diperoleh
M k K l
Tabel masukan - keluaran fungsi logika AND : Arsitektur jaringan Perceptron :
Masukan Keluaran
x1 x2 bias y
1 1 1 1
x1
w1=1
1 -1 1 -1
-1 1 1 -1
x2 1
w2=1 y b=-1
-1 -1 1 -1
1
Fungsi aktivasi untuk θ = 0 : Masukan bipolar dan target bipolar
0 0 0 ,
, 1 0 1 )
( =
>
⎪⎩
⎪⎨
⎧
=
= net
net net
f y
0 ,
1 <
⎪⎩− net
B Representasi Biner-Bipolar B. Representasi Biner-Bipolar
Tabel masukan - target fungsi logika AND : Arsitektur jaringan Perceptron :
Masukan Target
x1 x2 bias t
1 1 1 1
x1
x2 y
w1 w2
1 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
0 2
, 0
2 , 0 ,
, , 1 0 1 )
(
−
<
≤
≤
−
>
⎪⎩
⎪⎨
⎧
−
=
=
net
net net net
f Parameter yang digunakan : y
α = 1
θ = 0,2 ⎩ 1, net < 0,2
θ 0,2
Epoch Pertama (Biner-Bipolar)
Masukan Target Keluaran Perubahan Bobot Bobot Baru
x1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 b
x1 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 0
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
• Hanya pola masukan terakhir saja dimana f(net) = target
It i h dil j tk k h
∑
=+
= 2
1 i
i
iw b
x net
⎧ • Iterasi harus dilanjutkan ke epoch berikutnya
2 , 0
2 , 0 2
, 0
2 , 0 ,
, , 1 0 1 ) (
<
≤
≤
−
>
⎪⎩
⎪⎨
⎧
−
=
=
net net net net
f y
w (baru) w (lama)+ t x wi(baru)=wi(lama)+ α.t.xi b(baru) = b(lama) + α.t
Epoch Kedua (Biner-Bipolar)
Masukan Target Keluaran Perubahan Bobot Bobot Baru
x1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 b
x1 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 1
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
• Bobot awal diperoleh dari epoch pertama
• Pada epoch kedua ini, hanya pola
k t khi j di f( t)
∑
=+
= 2
1 i
i
iw b
x net
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 , 0
2 , 0 2
, 0
2 , 0
, , ,
1 0 1 ) (
<
≤
≤
−
>
⎪⎩
⎪⎨
⎧
−
=
=
net net net net
f y
berikutnya (ketiga)
wi(baru)=wi(lama)+ α.t xi b(baru) = b(lama) + α t
Epoch Ke-10 (Akhir)
Masukan Target Keluaran Perubahan Bobot Bobot Baru
x1 x2 bias t net f(net) Δw1 Δw2 Δb w1 w2 b
x1 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 4
1 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
1 i
i
iw b
x net
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 , 0
2 , 0 2
, 0
2 , 0
, , ,
1 0 1 ) (
<
≤
≤
−
>
⎪⎩
⎪⎨
⎧
−
=
=
net net net net
f y
g g p
dihentikan
wi(baru)=wi(lama)+ α.t.xi b(baru) = b(lama) + α.t
Arsitektur Perceptron Diperoleh
M 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 1
x1
w =2
Arsitektur jaringan Perceptron :
1 0 1 -1
0 1 1 -1
x2 y
w1=2 w2 =3
b=-4 0 0 1 -1
1 b= 4
Fungsi aktivasi untuk θ = 0,2 : Masukan biner dan target bipolar
2 , 2 0
0 2
, 0
2 , 0 ,
, 1 0 1 )
(
<
≤
≤
−
>
⎪⎩
⎪⎨
⎧
=
=
net
net net net
f y asu a b e da a ge b po a
2 , 0 ,
1 < −
⎪⎩− net
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