05b Neural Network Single Layer
-
Upload
dexs-youl-undertacker -
Category
Documents
-
view
149 -
download
3
Transcript of 05b Neural Network Single Layer
Jaringan Syaraf Tiruang y(Artificial Neural Network)
Intelligent Systems
Pembahasan
• Jaringan McCulloch-Pitts• Jaringan Hebb• Perceptron
Jaringan McCulloch-Pittsg
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
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
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
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
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
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
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
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
Jaringan Hebbg
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Kasus 2 : Pengenalan Pola
Diberikan 2 pola menyerupai huruf X dan Oy
# . . . # . # # # .# # # #. # . # . # . . . #
. . # . . # . . . #
. # . # . # . . . ## . . . # . # # # .
POLA 1 POLA 2POLA 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
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
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
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
Perceptronp
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
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
,)(
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
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
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
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 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
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
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
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
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
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
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
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
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
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
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
. . # # . . . # # # # # # . . . # # # # .
. . . # . . . . # . . . . # . # . . . . #
# # # #. . . # . . . . # . . . . # # . . . . . .
. . # . # . . . # . . . . # # . . . . . .
. . # . # . . . # # # # # . # . . . . . .
. # # # # # . . # . . . . # # . . . . . .
. # . . . # . . # . . . . # # . . . . . .
. # . . . # . . # . . . . # . # . . . . #
# # # . # # # # # # # # # . . . # # # # .
Pola 1 Pola 2 Pola 3Pola 1 Pola 2 Pola 3
. . . # . . . # # # # # # . . . # # # . .
. . . # . . . # . . . . . # . # . . . # .
. . . # . . . # . . . . . # # . . . . . #
. . # . # . . # . . . . . # # . . . . . .
. . # . # . . # # # # # # . # . . . . . .
# # # # #. # . . . # . # . . . . . # # . . . . . .
. # # # # # . # . . . . . # # . . . . . #
. # . . . # . # . . . . . # . # . . . # .
. # . . . # . # # # # # # . . . # # # . .
Pola 4 Pola 5 Pola 6
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
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
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
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
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)
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”.
. . # # . . . # # # # # # . . . # # # # .
. . . # . . . . # . . . . # . # . . . . #
# # # #. . . # . . . . # . . . . # # . . . . . .
. . # . # . . . # . . . . # # . . . . . .
. . # . # . . . # # # # # . # . . . . . .
. # # # # # . . # . . . . # # . . . . . .
. # . . . # . . # . . . . # # . . . . . .
. # . . . # . . # . . . . # . # . . . . #
# # # . # # # # # # # # # . . . # # # # .
Pola 1 Pola 2 Pola 3Pola 1 Pola 2 Pola 3
. . . # . . . # # # # # # . . . # # # . .
. . . # . . . # . . . . . # . # . . . # .
. . . # . . . # . . . . . # # . . . . . #
. . # . # . . # . . . . . # # . . . . . .
. . # . # . . # # # # # # . # . . . . . .
# # # # #. # . . . # . # . . . . . # # . . . . . .
. # # # # # . # . . . . . # # . . . . . #
. # . . . # . # . . . . . # . # . . . # .
. # . . . # . # # # # # # . . . # # # . .
Pola 4 Pola 5 Pola 6
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
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
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