Upload
trinhkhanh
View
264
Download
2
Embed Size (px)
Citation preview
Mo,ob
MasukanTarget
X1
1
1I
-1
-7
1-[
-i
-7
1I
I
-L
1I
-1
1I
1
1
1-1
I
-1
I
1I
Bab 5
PERCEPTRON
Model jaringan percepkon ditemukan oleh Rosenbratt (1962) danMinsky - Papert (1969). Model tersebut merupakan model yangmcmiliki aplikasi dan pelatihan yang paling baik pada era tersebut.
5. I Arsitektur faringanArsitektr,u jaringan percepkon mirip dengan arsitekttu jari.g* Hebb.
Gambar 5.1
]aringan terdiri dari beberapa unit masukan (ditambah sebuah bias),dan memiliki sebuah unit keluaran. Hanya saja fr-rngsi aktivasi bukanmerupakan fungsi biner (atau bipolar), tetapi memiliki kemungkinannilai -1,0 atau 1.
UntLrk suahl harga threshold 0 y^gditenhrkan :
(t
{:,
f (net) =
jika net > 0jika -0<net<0jika net < -0
secara geometris, f'ngsi aktivasi membentuk 2 gais sekaligus,masing-masing dengan persanuan :
wlt + w2x2 +...+ wnxn + b = 0 danwtxt + w2x2 + ... + wnxn + b = -0
5.2 Pelatihan PerceptronMisalkan
s adalah vektor masukan dan t adalah target keluaran
a adalahlajupemahaman (leaming rate) yang ditentukan
0 adalah tlreshold y Nrgditenhrkan
Algoritma pelatihan perceptron adalah sebagai berikut :
1. kLisialisasi semrla bobot dan bias (umumnya wi = b = 0)
]enturkan laju pemahaman (=a). Untuk penyederhanaan,biasanya adibeinilai=1
selama ada elemen vektor masukan yang respon unit keruarannyatidak sama dengan target, lakukan :
a. Set aktivasi unit masukan x1 = q (i = I, ...,n)
b. Hitungresponunitkeluaran : net = | x,w, +b
ft .iika net > 0
y=f(neg = l0 jika -g<net<0[-1 iika net < -0
('. Perbaiki bobot pola yang mengandung kesalahan (y + 0menurutpersarnaan :
wi(baru) = wi(lama) + Aw (i=1,..',n) dengan Aw= dtxi
b(baru) = b(lama)+ Ab dengan Lb= at
Atla beberapa hal yang perlu diperhatikan dalam algoritma tersebut :
,r, lterasi dilakukan terus hingga semua pola memiliki keluaran
jaringan yang sama dengan targetrya faringan sudah memahami
pola). Iterasi tidakberhenti setelah semua pola dimasukkan seperti
yang terjadi pada model Hebb
h. Pada langkah 2 (c), penrbahan bobot hanya dilakukan pada pola
yang mengandung kesalahan (keluaran jaringan * target)'
Penrbahan tersebut merupakan hasil kali unit masukan dengan
target dan laju pemahaman. Perubahan bobot hanya akan terjadi
kalauurLitmasukan * 0.
c. Kecepatan iterasi ditenhrkan pula oleh laju pemahaman (=6v
dengan 0 <a <1) yang dipakai. Semakin besar hargd d,semakin sedikit iterasi yang diperlukan. Akan tetapi ika a terlalu
besar, maka akan merusak pola yang sudah benar sehingga
pemahaman menjadi lambat.
Algoritma pelatihan perceptron lebih baik dibandingkan model Hebb
karena:
1. Setiap kali sebuah pola dimasukkan, hasil keluaran jaringan
clibandingkan dengan target yang sesungguhnya. Jika terdapat
perbedaan, maka l)(rbot akan dimodifikasi. Jadi tidak semua bobot
sclaltr d imodifi kas i tl a lam schiap iterasinya'
Syaraf Tiruan dan
Tabel 5.i
I't l{(.IPTRON 63
Modifikasi bobot tidak hanya ditenturkan oleh perkalian antaratarget dengan masukan, tapi jugu melibatkan suatur lajupemahaman (leaming rate) yangbesamya bisa diatur.
Pelatihan dilaktrkan berulang-ulang t*rtuk semra kemungkinanpola yang ada hingga jaringan dapat mengerti polanya qaianaaidengan sanunya semua keluaran jaringan d"rrg* target keh,aranyang diing:nkan). satu sikl's pelatihan yang melibuttut semuaq9l1 disebut epoch. Dalam jaringan H"bb, pelatihan hanyadilakukan dalam safu epoch saja. Teorema konveigensi perceptronmenyatakan bahwa apabila ada bobot yang tepat, -iku pro*,pelatihan akan konvergen ke bobot yang tepat teisebut.
Contoh 5.1
y I (net) =
jika net > 0
jikct net = 0
I jika net <0
lh'r'asi untr,rk selunrh pola yang ada
rrrt'ntnjukkan hasil pada epoch pertama.disebut epoch Tabel 5.2
{'
Tabel5.2
1
Masukan Target
(xr xz 1) t
y Perubahan Bobot Bobot Bamljt^r = b (i
net =f (net) (Lw, Lw, Ab) (wr wz b)
Buatlah perceptron untr-rk mengenali f'ngsi logika ,,dar{, denganmasukan dan keluaran bipolar. unhlk inisiilisasi,-gr.nakan bobbt janbiasawal=0, a =1dan threshold= 0=0
Penyelesaian
Tabel masukan dan target fungsi logika "da{'dengan masukan dankeluaran bipolar tampak dalam tabel5.1
(r 1
(1 -1
(-i 1
(-1 -1
1)
1)
1)
1)
inisialisasi
0
-l <t,t
I'ada input pertama (xr, *, 1) = (1 1 1). Harga netberdasarkan bobot yang sudah ada sebelumnya yaihr (wr w*2
0 0).Makanet = Zr,*,+b = 1(0)+1(0)+0 = Osehingga
0
1
2
1I
1
9
1-l
2
-3
-1
1
-1
(1 1.
cl 1
(1 1
(0' 0'
(0
1) (1
-1) (O
-l) (1
0)-' (1
t -t,I
o <2<o
' "'l -f
o)
1)
9)
-1)
-1)
Masukan Target
dihitungb)=(0f (net) = c:'1 t+o
Xrf(0)= g
Kelttaran jaringan (= f(net) =diinginkan (dalam iterasi inirnenggunakan rL[nusan Aw =L.rarLr = bobotlama+ Aw
11+-t"1 +r:I,I :I -l+r
0) tidak sama dengan target yangadalah I), maka bobot diubah
dtXi = lY, (karena a=I).Bobot
I
11
-1
-1
1-l
1
_1
,t
-7
-1
-x Input pola kedua dan seterusnya dihitung secara analog. Pada polatcrakhir (*t, *, 1) = (-1 -1 1), harga f(net) = -1 y*g sama dengantargchrya. Maka bobot tidak diubah. Hal ini dinyatakan dengan
konclisi Aw=0Untuk threshold = Q maka {r.rngsi aktivasi menjadi :
64 Jaringan Sfraf Tiruan
Perhatikan bagaimana perubahan persamaan garis yang terbentukdalam setiap pola input. Garis pemisah pola terbentuk dari persamaan
w4t+wrx, *b= 0 dan wflt+w2xz+b=-0 " Karena d = 0 maka
hanya terbentuk sebuah garis saja.
{Hasil iterasi pola pertam? I w1 = 1, w2 = 1 dan b = 1. Maka garispemiSahnya memiliki persaruan I Xr * xz * 1- = 0 (atau xt-t x2 = -t),yang secara geometris dapat digambarkan pada gambar 5.2 (a).
Gambar 5.2(a) Garnbar 5.2(b) Gambar
Persamaan garis unhrk tiap iterasi tampak pada tabel5.3
5.2 (c)
Tabel 5.3
Masukan
(x, xr 1)
BobotBam
(wr wz b)
Persamaan
Garis
(i 1.
(1 -1
(-1 1
(-1 -1
1
z
1
1
1)
1)
i)
1)
(1
(0
(1
(1
1)
0)
-1)
-1)
X1*X2=-l
Xz=0
Xt*xz=1
X1*x2=l
Gambar 5.2 (a) - (b) masing-masing menunjukkan garis pemisalruntr"rk pola 1 dan pola ke-2, sedangkan gambar 5.2 (c) rrrt'rrtrrriukkan
garis pola 3 dan 4. Tampak bahwa pada garnbitr 5.ll (,r), garis
Vt* dz . -\
Cambar 5.2(a)
Xz, o
Garnbar 5.2 fb)
(r-t /t .t
PERCEPTRON
memisahkan dengan benar pola L dan 4. Garis pada gambar 5.2 (ll)memisahkan dengan benar pola 1, 2 dan 4. Berikukrya garis padagambar 5.2 (c) memisahkan dengan benar semua pola menjadi 2
bagian.
Mengingat tidak semua f(net) pada tabel 5.2 sama dengan target t,maka iterasi dilanjutkan pada epoch kedua. Semua pola kembalidimasukkan ke jaringan dengan menggunakan bobot terakhir yangdiperoleh sebagai bobot awalrrya. Diperoleh hasil iterasi seperti yangtampak pada tabel5.4
Daiam iterasi tersebut, r"rrtr,rk semrn pola nilai f (net) = t sehinggatidak dilakukanperubahanbobot. Karena f (ne$ = t untuk semua polamaka jaringan sudah mengenal semua pola sehingga iterasidihentikan.
Tabel5.4
65
Masukan Target
(x1 xz 1) t
y PerubahanBobot BobotBaru
net =f (net) (Lw, Lw, Ab) (wr wz b)
(1
(1
(-1
(-1
1)
1)
r)
1)
-7 -1 -1
-1, -1 -1
-1 -3 -1
1
-1.
1
-1
bobot yang diperoleh dari epoch pertama
111(000)
0)
0)
0)
(00(00(00
(1 L
(1 1.
(r1(1 1
(1 1
-1)
-1)
9,ir
-1)
Contoh 5.2
Ulangi contoh 5.1, tapibipolar.Gturakana=1
menggunakandanthreshold =
masukan biner dan keluaran0 =0.2
66 jorintjorr Syoraf Tiruan dan Pemrogramannya Menggunakan Matlab
Penyclcsrtinn
Dcngirrr llm:slruld = 0.2, maka fungsi aktivasi menjadi :
It jika net > 0.2I
y=f (net) = J0 jika -0.2<net<0.2I
[-l jika net <-0.2
Tabel5.5 adalah hasil iterasi epoch pertama
Tabel5.5
Masukan Target
(xr xz 1) t net
y Penrbahan Bobot Bobot Bam
=f (net) (Lw, Lw, Lb) (wr wr b)
,liii
t
li'{
f;:l'rII
inisialisasi
(1 11) 1 0
(101) -1 2
(011) -1
(001) -1
(1
(-1
(0
(0
0
1I
I
-I
7
-1
I
0
-1
0
(0oo)1) (111)-1) (0 1 0)
-1) (0 0 -1)
0) (0 0 -1)
Tampak hanya pola masukan terakhir saja yangbenar (f(net) = target).Maka iterasi harus dilanjutkan ke epoch berikukrya.
Perhatikan bahwa dengan threshold yang * 0, maka akan terbentuk 2buah garis pemisah pola. Dalam contoh ini, persamaan garis yangterbentr-rkadalah wlxt+w2x2+b =0.2 dan wrx, +w2x2+b= -0.2.
PERCEPTRON
sebagai contoh, setelah pola pertama dimasukkan, maka garis yangterbentuk memilikipersamaan xt + x2 +I = 0.2 (atau x, * x, =_0.g )dan x, + x2 +l = -0.2 (atau x, * x, = -l.Z).Garis ini akan mengenalipola pertama dan terakhir (lihat gambar 5.3).
Gambar 5.3
'rabel 5.6 adalah hasil iterasi epoch kedua. Tampak bahwa belumscmua pola dikenali. Hanya pola terakhir saja yang memiliki f (net) = 1
Tabel5.6
Masukan Target
(xr xz 1) t net
y Perubahan Bobot Bobot Bam
=f (net) (Lw, Lw, Ab) (wr wz b)
cpoch 2:
(r 1 1) 1
(r01) -1
(011) -1
(001) -1
Bobot dari epoch - 1
-1 -1. (1
11(-100(0-2 -1 (0
(0 0 -1)
1) (110)-1) (0 1 -1)
-1) (0 0 -2)
0) (0 0 -2)
1.
0
-1
0
lk'rlsi dilanjutkan untuk epoch ketiga dan setenunya. Hasii iterasil,uttP,rk clalam talrcl 5.7
x,*\= -1 '2
68 Jaringan Syaraf Tiruan dan Pemrogramanrrya Menggunakan Matlab
Tabel5.7
Masukan Target
(xr xz L) t
y PerubahanBobot BobotBaru
=f (ne0 (Lw, Lw, Ab) (wr wz b)
epoch 3:
(111)(1 01)(0 11)
(001)
1
-1
-L
-1,
-2
0
-1.
o-L
-1.
0
-1
-1
(1
(-1
(0
(0
1
0
0
0
1) (1 1 -1)
-1) (0 1 -2)
0) (0 1 -2)
0) (0 1 -2)
epoch 4 :
(111)(1 01)(0 11)
(001)
7
-1
-7
-1
-7
0
0
-3
-1
0
0
-1
(1
(-1
(0
(o
1
0
-1.
0
1) (1 2 -1)
-1) (0 2 -2)
-1) (0 1 -3)
o) (0 1 -3)
epoch 5:
(111)(1 01)(0 11)(001)
1
-1
-1
-1
o-L
-1
0
-3
-1
-1
0
-7
(1
(0
(o
(0
L
0
-L
0
1) (1 2 -2)
0) (1 2 -2)
-1) (1 1 -3)
0) (1 1 -3)
epoch 6:
(111)'1 01)
1-1-1(11-1.00(-10
1) Q2-2)-1) (1 2 -3)
PERCEPTRON 69
(0 11)(001)
(1 2 -3)
(1 2 -3)
-1 -1, -1 (0 0 0)
-1. -3 -1. (0 0 0)
epoch 7:
(1 11)(101)(0 11)(001)
1
-1.
-1
-1
0
0
0
-4
0
0
0
-1
(1
(-1
(0
(0
1t
0
-1
0
1) (2 3 -2)
-1) (1 3 -3)
-1) (1 2 -4)
0) (1 2 -4)
epoch 8:
(111)(1 01)
Q11)(001)
1
-1
-1
-1
-1
-1
0
-4
-1,
-1,
0
-1.
(1
(o
(0
(0
1
0
-I
0
1) (2 3 -3)
0) (2 3 -3)
-1) (2 2 -4)
0) Q2-4)epoch 9:
(r 1 1)
(l 0 1)
(0 11)(001)
1
-1
-1
-1
0
0
-1.
-4
0
0
-1
-1
(1
(-1
(0
(0
1
0
0
0
1) (3 3 -3)
-1) (2 3 -4)
o) Q3-4)0) (2 3 -4)
t'poch 10:
(r 1 1)
(r 0 1)
(0 11)(001)
1
-1
-7
-1
1
-2
-1
-4
1
-7
-1
--l
(00(00(00(00
(2 3 -4)
(2 3 -4)
(2 3 -4)
(2 3 -4)
0)
o)
0)
0)
70 Jaringan Syaraf Tiruon dan pemrsgramannya Menggunakan Matlab
Setelah 10 epoctr" semua f(net) = t sehingga jaringan telah mengenalpola dan iterasi dihentikan. Persamaan garisnya adalah 2xt + 3xz- 4 =0.2 (atau 2xt + 3xz= 4.2) dan 2xr +3xz-4= -0.2 (atau 2x1 +3x2 = 3.g1
Contoh 5.3
Diketahui perceptron dengan 3 masukan biner x1, x2, X3, sebuah biasdan sebuah keluaran bipolar. carilah bobot yang akan mengenali polasebagai berikut : target keluaran bemilai 1 apabila r"-.ti masukanbemilai 1, dan target bemilai = -1 apabila tepat sarah sahr darimasukan bernilai 0 (tidak diketahui bagaimana target apabila ad.a 2atau lebih masukan yang bemilai 0). Gtrnakan bobot awal dan bias =0 dengan laju pemahaman = a =1, dan threshold = 0 = 0.L
Penyelesaian
Bentuk pola masukan dan targefrya tampak pada taber 5.g. Bentuk inisama dengan pola yang tidak dapat diselesaikan dengan model Hebbpada contoh 4.2
2xr+3ry= 4.2
2x,+35 - 3.6
Gambar5.4
I'I.RCEPTRON14!l
Tabel5.8
Masukan Target
1
_t
a
0
1
I
0
1
I
0
1
1
1.
-7
-1
-7
Iterasi yang dilakukan tampak pada tabel5.9. Kolom perubahan bobot
yangkosongberarti (Lw, Lw., Lw, A,b) = (0 0 0 0).Initeryadijika
f (net) = t
Tabel5.9
Masukan Target
(xr xz xr 1) t net
PenrbahanBobot BobotBaru
(Lw., Lw.- Lw. A,b ) (*t wz wrb)
v
= f (net)
epoch 1
(1 11(1 10(1 01(0 11
:
1)
1)
1)
1)
0
1.
1
-1
(1
(-1
(-1
1
0
-1
1
-7
0
|
-1
-1
1-t
inisialisasi
0
aJ
I
-1
(ooo)i) (1111)-1) (0010)-1)(-100-1)
(-1 0 0 -1)
epoch2:
(11 11)
(l 1 0 1)
110)01-1)
(11L1)
(-1 -1 0 -1)
-17-2-1 I
(0
(-1
Jaringan Syaraf Tiruan dan Pemrogrannnrrya Menggunakan MatlabIIIRCEPTRON
(1011)(0 111)
-1. -1
00(-101
-1)C1 -1 0-
1) (001-1)(001-1)
-1)(-100-2)(-1 0 0 -2)
1)(011-1)-1)(-101-2)
(-1 0 1 -2)
(-1 0 1 -2)
1) (0 1. 2 -1)
-1)(-1 02-2)(-1 0 2 -2)
-1) C1 -1 1 -3)
e;xrch 10 :
ilr11)(r r 0 1)
(r 0 1 1)
(0 I11)
epoch3:
(11.11)(1 101)(1011)(0 111)
1
-1
-1
-1
-3
-1
0
-2
-1
-1
0
-1
(1
(-1 -10
1) (1 1. 2 -3)
(1 L2-3)-1) (0 1 1, -4)
(011-4)
epoch4:
(11 11)
(1 101)(1 011)(0 111)epochS:
(11 11)
(1101)(1 011)(0 111)
1
-1
-1
-1
-4
-1
0
-2
-1.
-1,
0
-1
-1
0
-1
-1,
e;xrch 20 :
(l I 1 1)
(l I 0 1)
(r 0 1 1)
(t| l 1 1)
7
-1
-1
-1
-2
-2
0
-2
-1
-1
0
-1
(1
(-1
t)(224-6)(224-6)
-1)(123-7)(123-n
1.
-1
-1
-'t
-3
0
-2
-1.
(1
(-1
-1011-'1. 0
(1 11(-1 -1. 0
1
-1
-1
-1.
o-z
0
-T
0
-1,
0
-7
0
1
-1
-1
-1
0
0
o-L
-1
0
0
-1
-1
(1 11(-1 -L 0
ep<rch 25 :
(l I 1 1)
(l I 0 1)
(r 0 1 1)
(0 I11)
1)(344-n-1)(234-8)
,Q 3 4 -8)
(2s4-8)
dan seterusnya ...
t.poch 26 :
(l l 1 1)
(l I 0 1)
(l o 1 1)
(0 I11)
7
-1
-1,
-1
1
-3
-2
-1
'l
-1
-1
-1.
Q34-8)Q34-8)(234-8)(234-8)
73
1 1
'fl,r
rl
urli ::
,lii,i;,rl',l, .,
Tampak bahwa jaringan dapat mengenali semua pola yang diberikansetelah 26 epoch. Tampak disini keunggulan perceptron dibandingkanmodel Hebb. stsunan pola yang tidak dapat dikenali oreh modelHebb temyata dapat dikenali oleh perceptron.
5.3 Pengenalan Pola KarakterPerceptron dapat pula dipakai untr-rk mengenali pola karakter. Denganberbagai pola masukan yang menyempai humf-humf alphabeth,perceptron dapat dilatih untr-rk mengenalinya.
5.3.1 Pengenalan Sebuah Pola KarakterAlgoritma untuk mengenali apakah pola masukan yang diberikanmenyerupai sebuah karakter tertenfu (misal *i.ip hunrf ,,A,,) atautidak adalah sebagai berikut :
1. Nyatakan tiop pola masukan sebagai vektor bipolar yangelemennya adalah tiap titik dalampola tersebut.
Berikan nilai target = +1 jika pola masukan menyerupai humfyang diinginkan. Jika sebaliknya, berikan nilai target = -1
Berikan inisialisasi bobot, bias, laju pemahaman dmr threshold
Lakukan proses pelafihan perceptron seperti bab 5.2
Contoh 5.4
Diketahtri 6buahpola masukan seperti gambar 5.5 :
2.
aJ.
4.
ff|{( II)TRON 75
44
4.]t
11
#+4-t+
##4.*
4!t+.1+-##trt-
u4444il##tr*
il#lt #
ilil# ###
1+ 4 .t1tfifr.
#+tl+ .E
4t4tf#
1+4
'l+ l+
1.tJ].4.,ffrt
Pola 6
4
++. fr1+
4
11 tltt
4tr!t+44
4
4l+.4
l+ 1+tt
t+
11
tr11 1+
4#,t.rfi.#B4444ttfrtrtr
tt#sJlttf
---
; ;'*Pola 2
4
l+
4
44Utt t+ tt
*';;Pola 3
t
# .t4 J+ttfr
u444t+ t+ t+ t++J+
+t
4 4.tl1+tttt
Pola 5
-1 1-1-1-1 -1-1-1 1-1-1-11-11-1-1 -1.L1117-1,-1-7-'t1-1 1 1 1-1 1 1 1)
4
;##
Pola 1
Fola 4
(r-111-1-1-1| -r 1 -1 1 -1 -1I l-1 -1 -'l 1-1
Cambar 5.5
flrrirtlahmodelperceptrontrrtr,rkmengenali pola " A": t
I'cnyelesaian
lJrrtrrk menentukan vektor mastrkan, tiap titik dalam pola diambilr't'lrirgfi komponen vektor. Jadi tiap vektor masukan memiliki 9*7 = 63korrrponen. Titik dalam pola yang bertanda "#" dlbeinilai = +1 danlitik bcrtanda "." diberi nilai -1. Pembacaan pola dilakukan dari kirikt' kiuran, dimulai dari baris paling atas"
Vt'ktor masukan pola 1 adaiah
-1 -1,
-1 -1
-1 1
76 Jorlngon Syorof Tiruan dan Pemrogrannnrrya Menggunakan l4atlab
,,,,,,,.,,
Vektor masukirn pola 2 adalah
(11 1 1 1 1-1 -1.1.-1.-1.-1,-1,1-11-1-1-1-11. -r11 1 1 1-1-1 1 -1 -1 -1 -1 1 -1 1. -1. -1. -1 -1, 1,
Vektor masukan poia 3 adalah
(-1 -1 1 1 1 1 1 --i.1 -1. -1. -L -1 1
1. -1. -1. -1, -r -1. -1. 1 -1 -1 -1 -L -1 -11 -1-1-1-1-1-1 -11-1-1-L-1 1
Vektor masukan pola 4 adalah
(-1 -1 1 1. 1. -L -1.
1 -1. -1 -L -1. -1. -1
1 -1-1-1-1 -L 1"
-11-1-1-1-11-1. 1. -1. -1 -1 -1 1,
1 1 1. 1 1. 1 -1)
1 -1 -1 -1. -L -1, -1,
1. -1. -1. -1, -1 -1, -1,
-1-1 1 1 1 1-1)
-1 1. -1. -t -1 1 -1 L -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 -7 -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. -L 1, -1, -1, -1 -1. 1 -1 1 -1 -1 -1 1. -1. -'1. -r 1 -1-1,1, 1 1 1 1 -1 -1. 1-1-7 -11-1 -1, 1,-1, -1, -'1,1-1)
Vektor masukan pola 5 adalah
(11 1,1,1 1-1 1-1-1-t-r-1'1. 1.-r-1,-1, -1-111-1.-r-1-1,-1 1 1 r1.1 1 't,-1. 1.-1-L -1-1-111.-1.-1,-1,-'t-1.1 1-1.-1.-1 -1-11 1,t 1 1 1 1-1)
Vektor masukanpola 6 adalah
l,4i
'1,ril\i1l
ill ,
',
Target bemilai = +1 bila pola masukan menyerupai huruf "A". Jikatidak, maka target bemilai = -1. Pola yang menyerupai hu.ruf "A"adalah pola 1 dan pola 4. Pasangan pola dan targetnya tampak padatabel5.L0
PERCEPTRON
Tabel5.10
Pola Masukan Target
Pola 1
Pola 2
Pola 3
Pola 4
Pola 5
Pola 6
Maka perceptron yang dipakai unnrk mengenali pola huruf " A" (atartbtrkan "A") memiliki 63 urdt masukan, sebuah bias dan sebuah unitkcluaran.
Misalkan bobot awal diambil = 0 untuk semua bobot maupun bias,laju pemahaman diambil a =-I.. dan threshold = 0.5
I'clatihan dilakukan dengan cara memasukkan 63 unit masukan (atau
scbuah pola hurrf). Dihihrng net = Ix,w,+b. Berikubrya, fungsii=t't
n khivasi dihitung menggunakan persalnaan
It jika net > 0.5
y=f (net) = j0 jika -0.5<net<0.5
l-t jika net < -0.5
Alrirbila f (net) * target, maka bobot dan bias diubah
l'nrscs pelatihan dilakukan tems hingga semua keluaran jaringansama dengan targehrya.
77
7
-7
-1
1.
-7
-1
78 Jaringan Syaraf Tiruon dan pemrogromannya Menggunakan Matlab
5.3.2 Pengenalan Beberapa Pola KarakterPengenalan beberapa pola karakter sekaiigr_rs (misal "A,' ataLr bukan"4", "8" ataLt bukan "8", dar. seterusnya) dilakukan dengan caramenggabungkan beberapa model perceptron bab 5.4.1. Jadi adabeberapa unit keluaran sekaliprs, seperti yang tampak pada gambar5.6
Cambar 5.6
setiap unit masukan dihubungkan dengan setiap unit target. Bobotpenghtrbung dari unit xr ke y; adalah qi (perhatikan bagaimanaindeks dibuat). Demikian juga bias dihubungkan dengan semua unitkeluaran dengan bobot masing-masing br, bz , ... b^
Algoritma pelatihan percepkon untuk pengenalan beberapa polasekaligr-rs adalah sebagai berikut :
1. Nyatakan tiap pola masukan sebagai vektor bipolar yangelemennya adalah tiap titik dalampola tersebut.
Berikan nilai target t, = +1 jika pola masukan menyerupai humfyang diinginkan. Jika sebalilcrya, berikan nilai target = tj = -1 (i =L,2, '.',rn)
Berikan inisialisasi bobot bias, laju pemahaman dan threshold
Lakukan proses pelatihan perceptron seperti bab 5.3 untr"rk tiaptrnit keluaran sebagai berikut :
3.
4.
PERCEPTRON
Hihurgresponunitkeluaran ke-j : ne! = I.x,w,, +bt
Yi=f (neti) =
iika net, > 0
jika -01net,<0jika net, < -0
Perbaiki bobot pola yang mengandung kesalahan (yi* ti)menurutpersamaan :
w1ftam) = wji(lama) + a lxib;(bam) = b;(lama) + ati
Lakukan langkah 4a-b terus menerus hingga ti = yi ; j = 1, .. m
( lontoh 5.5
| )iketahui 6 buah pola masukan seperti gambar 5.5
I ]rr a tlah model perceptron untuk mengenali p ola " A",,, 8,,, datt,, C,, .
l'cnyelesaian i
Mtrla-mula dibuat 6 buah vektor masukan seperti conton 5.4. Ada Blrrrah vektor keluaran yang masing-masing menyatakan bahwa polanl('nyerupai huruf " A", "8" atau "C".Vektor target tampak pada tabel5.l t
Tabel5.11
Pola Masukan
Pola 1
Pola 2
a.
{'
C.
-1
-1
-\
1
1
-7
80 Jaringan Syaraf Tiruan dan Pemrogramanrrya Menggunakan Matlab
Pola 3
Pola 4
Pola 5
Pola 6
Selanjuhrya iterasi dapat dibuat seperti contoh 5.2 dan 5.3, denganbeberapa perubahan sebagai berikut :
. Vektor masukan terdiri dari 36 elemen XI, )9, ... , Xra dansebuahbiasb
Ada 3 target tr, tz dan t:Ada 3 kolom net yaitumasing merupakan hasilmasukan
Ada 3 buah y yang merupakan fungsi aktivasi ketigakolomnet. yr = f(netr), yz= f(netz), y. = f(neh)
Ada 3*63 buah kolom penrbahan bobot yaitu
Lwr, Lw1r,...,Lwr.ur, Lw21,4w22r... ,Lar.u, / ...
Lwr, Lw.rr,...,Lwr,u,
. Ada 3*63 buahbobot,masing-masing :
Wtl, Wt2r ", ,Wl,o3 , W21t w22, ,.. ,W2,t3 r .,, r W3lt w32, ..' ,w3,63
SOAL.SOAL LATIHAII1. Selesaikan kembah contoh 5.3 tapi dengan menggunakan laju
pemahaman yang lebih kecil yaitu 0.5. Apa pengaruhnyaterhadap iurnlah iterasi yang dibuhrhkan ?
2. Buatlah iterasi sebanyak 2 epoch contoh 5.4 dan 5.5.
3. Buatlah perceptron untuk mengenali pola yang terbenhrk padafungsilogika XOR dengar\ a=1 dan 0=0.2
1
-1
--t
7
-1
-1
1
-1
-1
1
-1.
-I
t
I net; fl€tz dan nefu, masing-kali bobot dengan vektor
i
I)t.RCEPTRON81
a.
b.
tanpa menggunakanbias fika mungkin)
menggunakanbias
c. Turrjukkan secara grafik bahwa tanpa bias, perceptron tidakakan mampu mengenali poia secara benar.
'1. B,uatlah model perceptron yang dapat dipakai untuk membentukklasifikasi berikut ini (perhatikan bahwa pola tersebut berartibahwa 2 input pertama mempakan anggota kelas dan 2 inputterakhir bukan anggota kelas)
Masukan Target
Xr
7
1,
-1
-1
1
-1
-1
1
1
-1
I
-1
1
1
4I
-1
1
-1
1
I
Gturakan a = 1, 0 dan bobot awal = 0
i Buatlah program komputer (menggtrrakan bahasa yang andakuasai) unhrk melatih perceptron pada contoh 5. . Apakahperceptron mampu membedakan pola hunrf 'A' dari pora humfIain ? Berapa epoch yang dibutr"rhkan ?