Anda di halaman 1dari 15

Bab 7

BACK PROPAGATION

7.1 Standar Backpropagation


Kelemahan IST yang terdiri dari layar tr*ggul membuat
perkembangan JST menjadi terhenti pada sekitar tahun 1970 an.
Penemuan backpropagation yang terdiri dari beberapa layar
rnembuka kembali cakarawala. Terlebih setelah berhasil
ditemukannya berbagai aplikasi yang dapat diselesaikan ctengan
Iiackpropagation, mernbuat JST semakin diminati orang.

fST dengan layar tunggal memiliki keterbatasan dalam pengenalan


1xrla. Kelemahan ini bisa ditanggulangi dengan menambahkan
s,rltr/beberapa layar tersembunyi diantara layar masukan dan
kt'luaran. Meskipun penggunaan lebih dari satu layar tersembunyi
rrrt'miliki kelebihan manfaat untuk beberapa kasus, tapi pelatihannya
rru'rnerlukan wakfu yang lama. Maka umumnya "orang mulai
rrrt'rrcoba dengan sebuah layar tersernbunyi lebih dahulu.

li'pg;1i hahrya model JST larn, Backpropagation melatih jaringan


rrnltrk mendapatkan keseimbangan antara kemampuan jaringan
rrrrlrrk mengenali pola yang digunakan selama pelatihan serta
k.rrranrpuan jaringan untr"rk memberikan respon yang benar terhadap
;,ol,r rnasukan yang serupa (tapi tidak sama) dengan pola yang dipakai
r,r'l,r tn.r trclatihan.
BACK PROPAGANON
98 Jannsan sfraf Tiruan d

7.1.1 Arsitektur Backpropagation 7.1.2 FungsiAktivasi


Dalam backpropagatiory f'ngsi aktivasi yang dipakai harus
Backpropagation memiliki beberapa unit yang ada dalam satu atau
me1e1tfti beberapa syarat yaihr : kontinu, terdiferensiar dengan
lebih layar tersembunyi. Garnbar 7.1 adalah arsitektr-r mudah dan merupakan f'ngsi yang tidak turun. salah
backpropagation dengan n buah masukan (ditambah sebuah bias), satu {un-gsi
yang memenuhi ketiga syarat tersebut sehingga sering
sebuah iayar tersembunF yang terdiri dari p unit (ditambah sebuah dipakai adalah
fungsi sigmoid biner yang memiliki range (0, 1).
bias), serta mbuah unit keluaran.

vii merupakan bobot garis dari unit masukan xi ke rmit layar f (r) =Ci turunan
tersembturyi z; (v;o mempakan bobot garis yang menghubtrngkan bias
dengan f ,
(r) = f (r) (t - f (.))
di urdt masukan ke unit layar tersembunF ri).w5 merupakan bobot
Grafik frurgsinya tampak pada gamb ar 7.2
dari unit layar tersembwty. zi ke unit keluaran yt (wr.o merupakan
bobot dari bias di layar tersembunyi ke unit keluaran zr.)

Galr:iJr.ar 7.2

l*g:i llin yang sering dipakai adalah fungsi sigmoid bipolar yang
benhrk. fungsinya mirip dengan fungsi sigmoid-biner, tapi dengan
range C1,1).
;,,&",
(v +\
\l

(r)=#-, (t+/(r)Xl-/(n))
f ,(*)-
(xn/ dengantun*ran
.f
Gambar 7.1
Crafik ftrngsinya tampak pad a gambar 7.3.

liungsi sigmoid memiliki nilai maksimum r.. Maka untuk


= pola yang
targehya > 1, pola masukan dan keluaran han-rs terlebih
dahd;
tlitransformasi sehinggl polanya memiliki range yang sama
st1'rcrti f*ngsi sigmoid -semua
yang dipakai. Altematif lain adalah
rtrcnggtrnakan fungsi akbivasi sigmoid hanya pada lavar
r
1m Jaringan Syaraf Tiruan {tn Pemrogramannya Menguna BACK PROPAGATION

layar keluaran. Pada layar keluaran, fungsi aktivasi yang dipakai Berikubrya, keluaranjaringan (= yr) dibandingkan
dengan target yang
adalah fuurgsi identitas : f(x) = a han-n dicapai (= 1u;.
kesalahan ini lebih kecil
k
-frh"th - yo adalah tes.-atatran ying terjadi. Jika
dari batas tolerarni y*g dit".,"tuk*, maka
iterasi dihentikan. Akan tetapi apabila kesalahari masih
lebih besar
dari batas toleransinya, maka bobot setiap garis dalam jaringan
akan
dimodifikasi untuk mengurangi kesalahan yang terjadi.

. Fase II : Propagasi mundur


llerdasarkan kesalahantr. - 1zr, dihitung faktor
4 (k = I,2, ..., m) yang
dipakai unhrk mendistribtuikan kesalahan di'nit
yr ke semua'nit
tersemburyi yang terhubung langsrurg dengan yu. dojuga
dipakai
turtr-rk mengubah bobot garis yang berhubr.rngan
langsung dengan
Gambar 7.3 tunit keluaran.

l)engan cara yang sama, dihit'ng faktor d, di setiap


urLit di layar
7.1.3 Pelatihan Standar Backpropagation tcrsembrurp sebagai dasar pembahan bobot semua garrs
i yang berasal
Ir'ii Pelatihan Backpropagation meliputi 3 fase. Fase pertama adalah fase tlari unit tersembunyi di layar di bawahnya. Deriikian seterusnya
maju. Pola masukan dihitung maju mulai dari layar masukan hingga hingga semua faktor d di tersembruryi yang berhubungan
layar keluaran menggrmakan ftrngsi aktivasi yang ditentukan. Fase langsung dengan unit masukan'nit
dihitr_rng.
kedua adalah fase murdtu. Selisih antara keluaran jaringan dengan
target yang diinginkan menqpakan kesaiahan yang terjadi. Kesaiahan
o Fase III: Perubahanbobot
tersebut dipropagasikan mundur, dimtrlai dari garis yang futelah semua faktor d dihitL*rg, bobot semua garis dimodifikasi
berhubungan langsung dengan trnit-unit di layar keluaran. Fase
lrcrsamaan. Perubahan bobot suatu garis didasuriur,
ketiga adalah modifikasi bobot untuk menunurkan kesalahan yang atas faktor d
rc'ron di layar atasnya. sebagai contoh, perubahan bobot garis
terjadi. yang
rncmrju ke layar keluaran didasarkan atas .d
k yang aa"a al unit
. Fase I : Propagasi maju kcluaran.

Selama propagasi maju, sinyal masttkan (= x) dipropagasikan ke layar l(ctiga fase terebut di'Iang-'lang terus hingga kondisi
penghentian
tersembunyi menggrrnakan fungsi aktivasi yang ditentukan. Keluaran tlipenr*ri. umumnya-kondisi penghentian yang sering
dipakii adalah
dari setiap unit Iayar tersembunyi (= zi) tersebut selanjuhrya jrrrnlah iterasi atau kesalahan. Iterasi akan
Jihenuiur,'litu iumlah
dipropagasikan maju lug ke layar tersembunyi di atasnya rtcmsi yang dilaktrkan sujah merebihi jurnlah
maksimumiterasi yang
rnenggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya rlitctapkan, atau jika kesalahan yang terjadi sudah lebih
kecii dari batas
hingga menghasilkan keluaran jaringan (= yt). Iolcransi yang diijinkan.
r
109 Jaringan Syaraf Tiruan dan Pemrogramannya Mengunakan Matlab I]ACK PROPAGATION '103

Algoritma pelatihan untuk jaringan dengan satu layar tersembunf r\ mempakan unit kesalahan yang akan dipakai dalam penrbahan
(dengan ftrngsi aktivasi sigmoid biner) adaiah sebagaiberikut :
lrobot layar di bawahnya (langkah 7)
I-angkah 0: lrisialisasi semua bobot dengan bilangan acak kecil llitung suku penrbahan bobot wq (yang akan dipakai nanti untuk
rrrcnrbahbobot wg) dengan laju percepatan a
Langkah 7 : Jika kondisi penghentian belum terpent*ri, lakukan
iangkah 2 -9 Lw,,i =a5oz,
Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3 - 8 Ltngkah 7 : Hitung faktor d r.urit tersembunyiberdasarkan kesalahan
Fasel :Propagasimaju tli setiap urLit tersembunyi zi (j =1,2, ... ,p)

Langkah 3 : Tiap unit masukan menerima sinyal dan menemskarrrya sa^


5 _net, = L)) O,w,,
^ ^t
ke turit tersembturyi di atasnya

Lang!<ah 4: HitLrng semua keluaran di unit tersembunyi zi (j = 1,,2, unit tersembunyi :

r',!t "''p)
6,=5 net, f'(z _net j) = a_ net, z,(t - t,)
+-
z_neti = v,o I 2x,v yi
lliltrng suku penrbahan bobot vii (yang akan dipakai nanti untuk
r=l
rru'rtrbahbobot vii)
zj=f(zset)= --4,*, Av.1i=a5,x, ; j=1,2,...,P ; i=0,1,...F
l+e
Langkah 5 : Hitung semua keluaran jaringan di unit yr
m) l',rsc III : Perubahan Bobot

v netr
p
\-- I ltrgkah 8: Hiturng semua perubahanbobot
= wko + Lz jwk j
I i'r r rb;rhan bobot garis yang menuju ke unit keluaran :

1
tt = wo,(lama) + Lwo, (k = 1, 2, ... ,rn ; j=0,1, ... ,p)
Yt=f(Y-nett)=,--"*
t+e ^,(lmru)
li,r'rrbahan bobot garis yang menuju ke unit tersembunyi :

r'
,,(lxrru) = v ,,(lama) + Av ,,
Fase II : Propagasi mundur
Langkah 6 : Hitung faktor t unit keluaran berdasarkan kesalahan di
/r (k = 1,2, ... ,m)
setiap r.rnit keluaran '*'lt'l,rlr pclatihan selesai dilakukan, jaringan dapat dipakai untuk
5o =(to -:,r) .['(.v _.ttct^) = (r, - r', ) r', (l ]'^ ) 1','rr1',t'nalirrr polar. Dalam hal inj, hanya propagasi maju (langkah 4
,l,rrr 5) s.rjir yang dip.rftiij trnttrk mcnentukan keltraran
iaringan.
lF

BACK PROPAGATION tu5

Apabila fungsi aktivasi yang dipakai bukan sigmoid biner, maka Tabel7.1
langkah 4 dan 5 harus disesuaikan. Demikian juga turunannya pada
langkah 6 dan 7 Zt 22 23

Contoh 7.1 X1 0.2 0.3 -0.1

Gunakan Backpropagation dengan sebuah layar tersembunyi (dengan X2 0.3 0.1 -0.1
3 uni| untuk mengenali fungsi logika XOR dengan 2 masukan xr dan '1.
-0.3 0.3 0.3
xz. Buatlah iterasi untuk menghitung bobot jaringan untr-rk pola
pertama (xr = 1,xz= 1 dant= 0). Gunakanlajupemahaman d = 0'2

Penyelesaian TabeI7.2

Arsitektur Backpropagation dengan 1 layar tersembunyi y*8 terdiri

A
v
dari 3 unit untr.rk mengenali fungsi XOR tampak pada garnbar 7.4
tll' 21 0.5

22 -0.3
rl
iri

1'lili
23 -0.4
i.,..

1 -0.1

Langkah4 :Hihmg keluaran unit tersembunyr (z)


2
.sr
z_net; = via+ \x,vii
;-l

z:nett = -0.3+1,(0.2)+1(0.3) = 0.2


z_netz = 0.3+1(0.3)+L(0.1) = 0.7
z_net: = 0.3+1(-0.1)+1C0.1) = 0.1
Gambar7.4
I

Mula-mula bobot diberi nilai acak yang kecil (range [-1, 1])' Misal
t.t= [(z net,) =
tr + e-t "n"
didapat bobot seperti tabel7.\ (bobot dari iayar masukan ke layar
tersembunyi = v1) dm.7,2 (bobot dari layar masukan ke layar ;
1

tersembunyi = wb) l+c "?


0.55 z, =
i , = 0.67 ; Zz=___---:_=0.52
I + c-"'
Tiruan dan 1W
EACK PROPAGATION

Langkah 5: Hitungkeluaranun-it yr 6 (-0.11) (0.5) = -9.95


3
-net,,=
.sa (-0.11) (-0.e) = g'93
y-netk ='wko* Lziwri= 6
j=l
-netr=
d (-0.11) (-0.+; = g.g4
Karena jaringan hanya memiliki sebuah unit keluaran y maka y_net -netr=
3 Faktor kesalahan t di unit tersembunyi :

= /-net = wto *2r,w,., = -0.1. + 0.55 (0.5) + 0.62 (-0.2)+ 0.52 (-0.a) r
tl,= 5
-net, f '(, -n,t,) = a -net, ',(t- ',)
-0:u
dr = -0.05 (0.55) (1 - 0.55) = -0'0L
y = f(y_net ') = =
I + e-)'_net -j==.
=-]_ = 0.44 = 0.01
0.6n
1+ bo.24 d: = O.oe (0.64 (1 -

r)',, = 9.94 (0.52) (1 - 0.52) = 0.01" '

Langkahd : Hihrngfaktor t diunitkeluaran yr.


Srrktr perubahan bobot ke unit tersembunyi Lv 1i = a 5 , x, 0=
5o =(to - yo) f '(y *netk) = (to yrQ- yo) . Karena jaringan
- yo) 1,2,3 ; i=0,1,2)
hanya memfiki sebuah keluaran maka 6r : d = (t - y) y (t - y) =
(0,-0.44) Q.M) (1,-0.44) = -0.11
Sukuperubahanbobot*u, 1d" g* q =0.2\ :

AV,, = (0.2) (-0.01) .Lvr,= (0.2) (0.01) AVr'= (0'2) (0'01)


Owt)=a5oz,= ddz, ; j=0,1,...,9
(1)=0
(1)=0 ,
(1)=0
L*,0 -- 0.2 (-0.11) (1) = -0.02 ,
Lv,z= (0.2) (-0.01) Lvrz= (0.2) (0.01) Lvrr= (0.2) (0.01)
Lw' = 0.2 (-0.11) (0.55) = -9.91 (1)=0 (1)=0 (1)=0
Lw; = 0.2 (-0.11) Q.67) = -9.91 Avro = (0.2) (-0.01) Lrro= (0.2) (0.01) Av,o = (0'2) (0'01)
Awn = 0,2 Cg.U) (0.52) = -991 (1)=0 (1)=0 (1)=0

I,angkah r: Hitung penlturnlahan kesalahan dari unit tersembunyi iingkah 8 : Hitung semuaperubahanbobot
(=d ) Perubahan bobot unit keluaran :

3- wn,(buru)=w*i(lama)+ Lwo., (k= 1 ; i=0,1, "',3)


6 _net,=L|o*oi. Karena jaringan hanya memiliki sebuah unit
*=l
wrr Oam) = 0.5 - 0'0L = 0.49
keluaran maka d_ net, = 6 w,,
wrz (ban0 -0,3 0.01 = -0,31'
BACK PROPAGATION 109

wra0raru) =-0.4-0.01 = -0.41


7.2.1 Pemilihan Bobot dan Bias Awal
ll1o (baru) = -0.1- 0.02
= -0.12
Bobot awal akan mempenganrhi apakah jaringan mencapai titik
minimum lokal atau global, dan seberapa cepat konvergensinya.
Perubahan bobot unit tersembunyi :
Bobot yang menghasilkan nilai turunan aktivasi yang kecil sedapat
v,,(baru) =v,,(lama)+ Avii (j=1,2,3 ; i=0,1,2) mungkin dihindari karena akan menyebabkan perubahan bobotrya
menjadi sangat kecil. Demikian pula nilai bobot awai tidak boleh
Tabel7.4 terlalu besar karena nilai tunrnan fungsi aktivasinya menjadi sangat
kecil juga. Oleh karena itu dalam standar Backpropagatiory bobot dan
bias diisi denganbilangan acak kecil.

vrr Oaru) = 0.2 + 0 vn (bam) = 0.3 + 0 v:r 0aru) = -0.1 + 0 Nguyen dan Widrow (1990) mengusulkan cara membuat inisialisasi
= 0.2 = 0.3 = -0.1 bobot dan bias ke unit tersembunyi sehingga menghasilkan iterasi
lebih cepat
vrz(banr) =0.3+ 0 vzz0am) =0.1+0 v:z (bam) = -0.1 + 0
= 0.3 = 0.1 = -0.1 Misal n = iumlahunitmasukan
lr
'lrL vro Oaru) = -0.3 + 0 vzo (baru) = 0.3 + 0 v:o (baru) = 0.3 + 0 p = jumlah unit tersembunyi
= -0.3 = 0.3 = 0.3
0 = faktorskala = 0.7 <l p

Pembaca dapat mencoba membuat Algoritrna inisialisasi Nguyen Widrow adalah sebagai berikut :
iterasi untuk pola kedua (xt l,
=O t=1) = xz
a. hrisialisasi semua bobot (v;i (lama)) dengan bilangan acak dalam
interval [-0.5, 0.5]
7 '2 optimaritas Arsiter.ur Backpropagation b. Hitung ,',r+vlr+...+v21,,
Masalah utama vang dihadapi dalam
llrrll:
Backpropagation adarah
lamTya.-iterasi yang hu.u" arukutan. f v
Backpropagation tidak dapat
memberikan kepastian teltang berapa c. Bobot yang dipakai sebagai inisialisasi = vii =
epoch y*g;".* dilalur t*rhrk "(la-ma)
mencLqal kondisi yang diingink*. ot"rt lluill
karena"itu o.*gt".*uhu
meneliti bagaimana parameterparameter jaringan
menghasilkan jumiah iterasi yang relatif
dibu; sehingga d. Bias yang dipakai sebagai inisialisasi = vjo = bilangan acak antara
lebih sedikit. -f dur. F
BACK PROPAGATION 111
!!q ",."". ioringan Syaraf Tiruan dan Pemrogramannya Mengu

('orttoh 7.2 Tabel7.6

Buatlah bobot awal ke unit tersembunyi contoh 7.1 menggtrrakan ZI 23

modifikasi bobot Ngr:yen Widrow


X1 (1,.21"0.2)/0.36 (L.21"0.3) /0.32 = (1.21.(-0'1)) /0.14

Penyelesaian = A.67 1.1,3 = 0.86

Dalam contoh 7.1, n = junlah unit masukan = 2 dan p = jumlah urLit Xz (1.21"0.3) /0.35 (1..21"0.1) / 0.32 = (1'.2I.(-0.1)) /0.14
tersernbuny"i = 3. Bobot lama (v1i lama) yang didapat secara acak -1 0.3B =0.86
tampak dalam tabel7.5
Bias yang dipakai adalahbiiangan acak antara -i.21 hingga 1'-21

Tabei 7.5
7.2.2 Jumlah Unit Tersembunyi
Hasil teoritit y*g didapat menunjukkan bahwa iaringan dengan
0.2 0.3 -0.1 sebuah layar tersembunyi sudah cukup bagi Backpropagation untr-rk
mengenali sembarang perkawanan antara masukan dan target dengan
0.3 0.x -0.1
tingkat ketelitian yang ditentr-rkan. Akan tetapi penambahan jurnlah
i

l:
-0.3 0.3 0.3 layar tersernbunyi kadangkala membuat pelatihan lebih mudah.
,"
F =0.7 ill = 1'.21 Jika jaringan memiliki lebih dari satu layar tersembunyi, maka
algoritrna pelatihan yang dijabarkan sebelumnya perlu direvisi.
Dalam propagasi maju, keluaran harurs dihitung untuk tiap layar,
llu,ll = vl, + vi, 0.22 +0.32
dimuiai dari layar tersembturyi paling bawah (terdekat dengan
masukan). Sebaliknya, dalam propagasi mundur, faktor d perlu
ll.,ll_
ll "2ll -
,12
,21 = J0.3t + 0.1r = A32 dihitung untuk tiap layar tersembunyi, dimulai dari layar keluaran

ll,,ll = vl,
J |
+ vl"
-\-
(-0.1)'+(-0.1)'? = 0.14 7.2.3 Jumlah Pola Pelatihan
Tabel 7.6 mempakan bobot yang dipakai sebagai inisialisasi Tidak ada kepastian tentang berapa banyak pola yang diperlukan agar
jaringan dapat dilatih dengan sempulna. Jurnlah pola yang
dibuhrhkan dipengaruhi oleh banyaknya bobot dalam jaringan serta
tingkat akurasi yang diharapkan. Atr.uan kasamya dapat ditentr"rkan
berdasarkan rtunusan :

Jtrmlah pola = Jumlahbobot / tingkat akttrasi


BACK PROPAGATION 113

untuk jaringan dengan B0 bobot dan tingkat akurasi 0.1, maka g00
pola masukan diharapkan akan malnpu mengenali dengan benar 9a "/o 7.3.1 Momentum
poia diantaranya.
l']ada standar Backpropagafiory perubahan bobot didasarkan atas
gradien yang terjadi untr.rk pola yang dimasukkan saat itu. Modifikasi
7.2.4 Lama Iterasi yang dapat dilakukan adalah melakukan perubahan bobot yang
c'lidasarkan atas arah gradien pola terakhir dan pola sebeltimnya
Ttrjuan utama penggunaan Backpropagation adalah mendapatkan
(clisebut momenhrm) yang dimasukkan. Jadi tidak hanya pola
keseimbangan antara pengenalan pola pelatihan secara benar dan
rnasukan terakhir saja yang diperhihrrgkan.
respon yang baik u'rtr-rk pola lain yang sejenis (disebut data pengujian).
Jaringan dapat dilatih terus menenu hingga semlra pola pelatihan l'cnambahan momentum dimaksudkan unhrk menghindari
dikenali dengan benar. Akan tetapi hal itLr tidak menjamin jaringan
lrcnrbahan bobot yang mencolok akibat adanya data yang sangat
akan mamprl mengenali pola pengLrjian dengan tepat. Jadi tidaklah lrcrbeda dengan yang lain (outlier). Apabila beberapa data terakhir
bermanfaat trntuk menemskan iterasi hingga semua kesalahan pola yang diberikan ke jaringan memiliki pola serupa (berarti arah gradien
pelafihan = 0. sudah benar), maka penrbahan bobot dilakukan secara cepat. Namrur
,rpabila data terakhir yang dimasukkan memiliki pola yang berbeda
umumnya data dibagi menjadi 2baglan saling asing, yaitu poia data
r lcngan pola sebelumnya, maka penrbahan dilakukan secara lambat.
I
yang dipakai sebagai pelatihan dan data yang dipakai unhrk
pengujian. Perubahan bobot dilakukan berdasarkan pora pelatihan. l)cngan penambahan momentLrm, bobot bam pada wakfu ke (t+1)
l;l Akan tetapi selama pelatihan (misal setiap 10 epoch), kesalahan yang
IL

,,1,i rliclasarkan atas bobot pada waktu t dan (t-1). Disini hanu
terjadi dihitung berdasarkan semua data (pelatihan dan pengujianl ,litambahkan 2 variabel baru yang mencatat besamya momenhrm
tl selama kesalahan ini menurun, pelatihan tems dijalankan. Akan tetapi rrrrbnk 2 iterasi terakhir. lka trtadalah konstanta (0< p <1) yang
jika kesalahannya sudah meningkat, pelatihan tidak ada gunanya rrrcnyatakan parameter momentum maka bobot baru dihitung
unfuk diteruskan lagr. Jaringan sudah mulai mengambil sifat yang I rcrdasarkan persamaan :
hanya dimiliki secara spesifik oleh data pelatihan (tapi tidak dimiliki
oleh data pengujian) dan sudah m'lai kehilangan kemampuan +1) =
mela kLrkan generalisasi.
wo,(t wo,Q) + a 5oz ,+ trt(wr,(t1-;,w,,(t -l))
, lirrt

7.3 Variasi Backpropagation v,,(t +l) = v,,(t) + a 5,x,+ 1t(v,,(t)- v,,(r - 1))
Disamping modei standar Backpropagatiorg kini sudah berkembang
berbagai variasinya. variasi tersebut bisa berupa model
Backpropagation yang digunakan untr-rk keperluan khusus, atau
('ontoh 7.2
teknik modifikasi bobot untr-rk mempercepat pelatihan dalam kasus
tertentr-r. Beberapa variasi diimtaranya dijelaskan dalambab ini. I'r,rfiatikan kcmba[ iterasi pola pertama fungsi logrka XOR dengan
ll,rt kPnrP;tgabion pada contoh 7.1. Lakukan iterasi
untuk pola kcc-lua
tt + .J.rl"S.n Sya raf Tiru BACK PROPACTATION '115

(xr = 1, xz= 0, dan t = 1) dengan menggunakan suku momenturn (p = 2

0.5)
z-net; = v,olLr,r,,
Penyelesaian z_netr = -0.3+1(0.2)+0(0.3) = -0.1
Iterasi untuk pola kedua sebenamya sama dengan iterasi contoh 7.1. z-netz = 0.3+1(0.3)+0(0.1) = 0.6
Hanya saja perhitunganbobotbam pada langkah B dilakukan dengan zJnett = 0.3+1(-0.1)+0C0.1) = 0.2
menambahkan momentum @obot pada waktu (t-t; = bobot awal)

Hasil iterasi y*g diperoleh dari pola pertama tampak pada tabel7.7
'/.i=f(z-net,)=
I r .L
- l+e-t ""''
dm7.B

Tabel7.7 'r,= jn- =0.48 ) zz=


1* n-o.{t
=0.65 ) 23=
7 + e-o2
= 0.55

22

l'ru Langkah 5: Hitungkeluaranunit yr


il X1 0.2 0.3 -0.1
3

Irl Xz 0.3 0.1 -0.1 y-net r = wko *2, ,*r,


j-l
.ttrt,, ,
1 -0.3 0.3 U.J
lt
lrr,
t
Karena jaringan hanya memiliki sebuah urLit keluaran y maka y-net r
3

y-net = wto *Zt,wri = -0.12+ 0.48 (0.a9) + 0.65 (-0.31) + 0.55


Tabel7.B i=l
(-0.41) = -0.31
v
v-f(vnet)= 1
Z"I 0.49 / ' --'--/\./
| + e_ ). _nct
=-f-
I + go
I =0.42

Zz -0.31

23 -0.41 Langkah6 : Hitungfaktor t diunitkeluaran yt

1 -4.12 ;io : (to - yo) f '(y = Qo - yo)y* (t - yo). Karena jaringan


-neto)
lranya memiliki sebuah keluaran y maka 5r = 5 = (t - y) y(l- y) =
(l -0.42) (0.42) (1 -0.42) = 0.14
Langkah 4 : Hitung keluaran turit tersembunyi (z;)
litrkrr pentbahan bobot wr.i (dengan a = 0.2) :
ttt
116 Jaringan Syaraf Tiruon dan Pemrogrannnrrya trAengunakon Matlab BACK PROPAGATION

Tabel7.9
Aw,,j =a5oz,= aSzi ; j=0,1,...,3
Z"l Zz 23
Lw, = 0.2 (0.14) (1) = 0.03
Aw,, = 0.2(0.1,4) (0.48) = g.g1 X1 AV,, = (0.2) (0.02) Lrr,= (0.2) (-0.01) Av,,= (0.2) (-0.01)
(1)=0 (1)=0 (1)=0
LwD= 0.2(0.1.4)(0.65) = 9.92
Xz Ay,, = (0.2) (0.02) Lrr,= (-0.01) AV:r= (0'2) (-0.01)
(0.2)
Lw* = g.g2
I
0.2(0.14) (0.55) = (0)=0 (0)=0 (0)=0
I
1 AV,r = (0.2) (0.02) Lvz,= (0.2) (-0.01) Av,, = (0'2) (-0'01)
Langkah 7 : Hitung peryurnlahan kesalahan dari unit tersembunyi (1)=0 (1)=0 (1)=0
i (=d )
I

n1

5 _net,=L$o*oi. Karena jaringan hanya memiliki sebuah r-rnit


k=l
Langkah 8: Hitungsemllapenrbahanbobot
keluaranmaka 5 _net, - S wt i Bobotbaruurrit keluaran :

5 _net,= (0.14) Q.aq = g.g7 wo,(t +I) = wuQ) + a 50r., + p(*a/t) - wo,Q -\)
5 _netr= (0.14) (-0.31) = -0.04 (k=1 ; i=0,1,...,3)
6 _netr= (0.14) (-0.41) = -0.06 Sltkt a 5 oz , adalahhasil yang didapat dari langkah 6'

Faktor kesalahan d di urdt tersembturyi : wo,(t) adalah bobot mula-mula pola kedua (hasil dari iterasi pola
pertama contoh 7.1) sedangkan wr,(t - 1) adalah bobot rrmla-mula
5 i = 5 -net i f'(, -rnt,) = a -net i t,(l- t,) '
pada iterasi pola pertama ftobot awal contoh 7'L)
t

5r= 0.07 (0.48)(1-0.48) = 0.02


wr, (baru) = 0.49 + 0.01 + 0.5 (0.49 - 0'5) = 9'495
5z= -0.04 (0.65) (1-0'65) = -0.01 wrz (baru) = -0.31 + 0'02 + 0.5 (-0.31- C0'3)) = -0'295

4= -0.00 (0.55) (1- 0.55) = -0.01 w,, (baru) = -0.41+ 0.02 + 0'5 (-0.41- C0'4)) = -0'395
wro (baru) = -0.12+ 0.03 + 0.5 (-0'12 - = -0'L
Sukupenrbahanbobotkeunit tersembunyi Lr,, = a 5, x, (j = C0'1))

1,2,3 ; i=0,1,2)
i
I

I
I ro Jaringon Syorof[::f dqn lr",f ,,,rS,, unakon Motlot> 1'19
rr^.( K I,ROPA( llON

Pembahan bobot unit tersembtrnyi

v,,(t+l)
:
f 33 Perubahan Bobot BerkelomPok
tr\ -/ = y..fr)+
,.ii\Lt r a6,x,+ trt(v,,(t)_v,,(t_\)
\',rri,rsi lain yang dapat dilakukan pada standar Backpropagation
.r,l,rl,rh rnc,rtrbah bobohrya sekaligr-rs seteiah semua pola dimasttkkatr'
(j=7,2,3 ; i=e 1 0\
t lrrtrrk tiap poia yang dimasukkan, dilakukan langkah 4 -
7 stanclar
v7;(l) adalah bobot awal yang dipakai
dalam contoh 7.2 (hasi iterasi It,rt klrropagation. Nilai Aw*, dan Av,, untuk tiap pola dijurnlahkan.
v;i pada contoh 7.1), sedangkan
v,,(t - I) adalah bobot awal ye.ng l,rrrr,,kah B (perhitungan bobot bam) dilakukan berdasarkan hasil
dipakai dalam contoh 7.1. Kedrranya rrrrl,rhatr Awo, dan Avtr tersebttt.
bemilai sama sehingga suktr ;r
momenhrm (r,,(r) - v
i,Q- 1)) = O. ini memberikan efek yang iebih hah,rs dalam perubahan
l,r,r:;t,ciur
a 5, x, adalah hasil langkah yangbemiiai l',,1rot. Dalam beberapa kasus, variasi penrbahan ini akan
Z = 0 V r, j.
rrr,.rringkatkan kemungkinan konvergensi ke titik minimum lokal.
Berarti vvi tidak mengarami pembahan.
v1i banr hasil iterasi pola
sama dengan vlitabel 7.7 kedua

:''.
7.3.2 Detta - Bar _ Delta 7.4 Aplil<asi Bacl<proPagation Dalam
t
Dalam standar Backpro,gaqation, Peramalan
laju pemahaman (a mempakan
[ir:
stnt* konstanta yang drpakai daram sehrmrr )
rt"rori.fl.'penrbaha', ,,rt,rh sahr biclang dimana Backpropagation dapat diaplikasikan
dapatd'akukan dengan memberikan laju
IL pemahanurn yang berbeda-
beda rtr,ilgc)ll baik adalah bidang peramalan (Jbrecnsthtg). Peramalan yang
seriao
'nhrk .-i-*-bobotnya
berbeda-beda
(atau bJrk; ,*;;ffi'*an yang .,,.,ing kita dengar adalah peramalan besamya penjualan, nilai tr"rkar
I
I
tiap'boboi .il;- dup iterasinya). Apab'a
pembahan bobot berad-a dalam ,,,ltrta asing, prediksi besamya aliran air sungai, dl1. Sebagai contotU
I
arah yang sama dalam blberapa
terakhir (dapat dirihat dari tanda pora ,l,rlirrn penjualan barang, diketahui record data penjualan suattt
s.*., 4 z i ymgseralu sama), maka
l,r,,.luk pada beberapa buian/tahun terakhir. Masalahnya
adalah
laju pemahaman yang bersesuaian yang
dengan bobot w6 ditambah. ,,'.'rnperkirakan berapa perkiraan produk ,terjual datram
fba'knya apabila-arah perubahan rr"rrot d'a pola terakhir berbeda | rl,rn/tahtrn yang akan datang'
(ditandai dengan suku do z 'r
iymg berselang_seling positip _ negatif) ,,r,t.irra Lunrrm, masalah perarnalan dapat dinyatakan sebagai berikut :
n\aka laju pemaharum untukbobot
tersebutharus dikurangi. rikctahrri sejturdah data mntlur wakhr (tittte series) Xt, xz , '.'. ,Xn.
I
borrot daiam aturan delta * \l.l;.rlahnya adalah memperkirakan berapa harga X.+r berdasarkan x1,
ffm* bar - delra adarah sebagai
.',....,Xn.

wo,Q +l) = wo,(t) + ao,(t +1)60 z, | lt.rrgan Backpropagation, record data dipakari sebagai data pelatihan
,,,rluk *"rl.ori bobot yang opfimal. UntLrk itur kita perlrr menetapkan
lrr.r;itrTly& periode dimana data berfltrktr-rasi. Periode ini kita tenhrkan
.,(,(.(lra"intldtif. Misalkan pacla data besamya debit air sungai dengan
F
190
:anngon Syaraf liruan don l>errrrt{rrorrrorrrryo r9l
Mcngunakan Motlab Iln("K PROPAGATION

data btrlanan' periode data


dapat diambil selama sahr tahun I't'nyclcsaian
pergantian mtuim terjadi selama karena
safu tahtrn.
(,,rrnlr;rr 7.5 adalah grafik penjualan contoh 7.3. Tampak bahwa Pola
Jurnlah data daram sahr periode ini
dipakai sebagai ju'lah masukan ,l,rt.rrrya periodik dalam jangka waktu 12 bulan' Maka mtxlcl
backglof-'aearion *.lrgar mas'kan dan 'lruah
_litit" ilig"hlyu diambit dara bulan tr,rckliropigation yang dipakai memiliki 12
berakhii. Padaiata rr.,r*u' 'nit
9fl]ffi:tm|;n'oe a*frn perioae kt'lltirran.
yang aipurui't".airi dari
12 mas'kan.
""r'"rff*illTffi;o"t"rion
Bagian tersulit adalah menenfr-rkan
1 6000
jrunlah rayar (dan'niturya).
yang Tidak 1 4000
,111::" lensin,pirF.g"plt dtpakai.
-dahdu rapi secara prakris dicoba
Janngan yang kecil terlebih (misai terdiri dari'1 rayar
1 2000

tersemburyi dengan beb"r:po


.*it gc
10000
rupl. Jika gagal (kesarahan tidak
turwr dalam epoch yang besar), S
*oku'iarir.,g;"arpJ;;; sooo
uLir teriembunp ut*- rrurf,"" ,i"rr"rnirrr,dengan
il::ffi#m
O nnnn
(L OUUU
hyar
4000
.

2000
,ili
0
lr

,l' Contoh 7.3 3333434


Bulan c
o
--=
Diketahtri data buranan
penj'alan suahr produk makanan -
selama 2 tahun terafli
r"p".ti t"-p"t p"aa tabel 7.10. B'atrah kaleng Gambar 7.5
model
ffi"mtion
unhrk m*perkirur.ri
i.,o,rur-, p;;;;g
terjual Jika ingin menggunakan fungsi aktivasi sigmoid Oit:t),
data harus
clitranslormasikan dulu karena range keluaran furgsi aktivasi sigmoid
Tabel7.10 adalah [0,1]. Data bisa ditransfonnasikan ke interval [0,L]. Tapi akan
lebih baik jika ditransformasikan ke interval yang lebrh kecil, misal
Penjualan tiap bulan
pada interval [0.1, 0.9]. hd mengingat fungsi sigmoid mempakan
2o4s r6e6 r34r t rct- tit-iza2 FLrngsi asimtotik yang nilainya tidak pemah mencapai 0 ataupun
1'

6L61 70437 9590 52gI 3081 Jika a adalah data minimum dan b adalah data maksimum,
2147
transformasi linier yang dipakai untr-rk mentransformasikan data ke
17 6i 1466 loeo rozo -llss-s:za interval [0.1,0.91 adalah
7167 13780 70629 7725 3284
2400 0.8(x-a)'-f {}
-r- ' |

b-a
/
129
193
rr""r K I'R()PAGATION

Dalam taberT'10, a 1070


= dan b = 737g0.Dengan transformasi
maka data terkec'akan menjadi ini Tabel7.12
o.t a* data terbesa, akan menla,ii
0'9' Tabel 7.rr adarahhas'transfo.r""rt
a"1i taber 2.10 yang nantinya I'ol;r DataMasukan (xr, -., xtz) Target
dipakai sebagai data pelatih*
n^.tp-pagatron
0.161-4 0.1394 0.1-1?l- o'1070 0.1342 0'1738 0.1439
l' ol.r I
Tabei 7.11 0.4204 0.6896 0.6363 0.3657 0-2266 0'1578
Tahun penjualan tiap 0 ' 1738 0 '4204 0.1-249
bulan It
I t rl.t-2 0.1394 0.LL71 0.1070 0.L342
0.6896 0.6353 0.36s7 0.2266 0 ' 1678 0 'L439
2003 0.1674 0.73g4
0.4204 0.6896 0.6363 0.3657 tl 0.LL7L 0.1070 0 .L342 0.l-738 0 .4204 0 ' 6896 0.1013
o'.rzaa o.1678 I olit-3
0.6363 0.3657 0.2266 0.1678 0.L439 0 'L249
2004 0 -1439 0 .1249
0.L342 0.1738 0.4204 0.6896 0.6363 0.1
0.4838 0.9 0.7077 0.5189 o'.zzg+ 0.1837 I' olir-4 0 . l-070
0.3657 0.2266 0 . 1678 0.1439 0.L249 0.1013
Pola yang dipakai mempakan
dutu *Uffi 0.1342 0.1_738 0 .4204 0.6896 0.6363 0.36s7 0.L1-79

Sff;:"1:*o1l-11u"'t t;-;;' -;{i-r:;"


epochnva seperri "r"
l;;
vang tampak dalarri
rz f ilfi sebuah
I' ola-5
u . zzoo 0.1678 0 . 1439 0.L249 0.1013 0.1
ffi*i"}T
bisadicobJ-cobo-''iai;;;*sebuahruyu.i".ru*rr""yi Itrla-6 , -tt3t 0.4204 0.6896 0.6363 0.36s7 0.2266 0 .3678
I

i
::[];ffi 0.1678 0.L439 0.L249 0.l-013 0.1 0.Lr79

0.4204 0.6896 0.6363 0.36s7 0.2266 0.1678 0 .4838


l'ola-7
0.1439 0.L249 0. r-013 0. r- 0.rr79 0.3678
0.6896 0.6363 u. Jo) / 0.2266 0.l-678 0 .1-439 0.9
P"1"€ .4838
0.1249 0. r_013 0.1 0 .1-L'79 0 .3678 0

- 0I1
0.6363 0 .3657 0.2266 0. L67B 0.l-439 o.L249 0 '7
Pola-9 I
| 0.1013 0.1
0.LL19 0 .3678 0 .4838 0.9
I

u . zzoo 0.1678 0.1439 0.L249 0;.1013 0 s1B9


Poia-10 | 0.36s7
0.tr]9 0.3678 0 .4838 0 .9 0 .7017
I
l0.l-
I

i- -0.1_678 0 . l-439 0.L249 0.101-3 0.1- 0 n%


Pola-11 lu . zzoo
| 0.1179 0.3678 0.4838 0.9 0.'70L1 0.51-89
I
t.-l+
Pola-12 I
0.1678 0.1439 0.L249 0. r-013 0.1 0.1,L19 0 . 1_837

| 0.3678 0 .4838 0.9 0.1017 0.5189 0 .2394

menjadi 2
Apabila data yang tersedia cukup banyak, data bisa dibagi
uagu. yaitu data yang dipakai turtr-rk pelatihan dan data yang dipakai
v
1?4 Jaringon Syarof Tiruan don pemrQjronrorrnyo '195
Mengunokan Matrob ItA[K PROPAGATION

unhrk pengujian' visa]t_a1 sebagai


data pelatihan diamb'data yang
pertamanya.3dlfan buf; ganjit (pota _L, v
:t;.T":
,,.1\.?uu sisanya dipakai ,ebugui?uL pengujian. 3, 5,... dalam rabel
perubahan bobor
dilakukan berdasarkan daJa " peratihan. 21 0.7

penghentian didasarkan atas data pengujian.


Akan tetapi kriteria
Zz -0.2

Proses pelatihan dilakukan unhrk 1 0.4


beberapa epoch (misal tiap 10
epoch)' setelah itu kesarahan dihihrng
berdasarkan bobot yang
diperoleh yang drkenakan pada data
pengujian. Jika kesarahan data uji
masih h*un, pelatihan aiun,uttcan- petattran
dihentikan apabila rr. Lanjutkansoal#4 diatasuntukpola kedua (xr = 1, xz = 0, t= 0)
kesalahannya mulai
"u* y berarti jaringan m'rai mengamb'sifat
y"ang spesifik terjadi pada dara pelatihan, (r.
data.
Jan bukan g;;;;li""ri sifat Ulangisoal #5, tapimenggunakanmomentumdengan H =0.2

SOAL-SOAL LATIHAN
t; tl
i
1. Buktikan bahwa tun_rnan ftrngsi aktivasi
sigmoid bipolar
.'lir
i,i .f(x) =:=-1 adalah .f,(x) -0+ ffa)(r- ffxl)
2
ll,t , ,
l+ e-' a
i,

2' Mengapa tungsi yang dipakai dalam backpropagation


:ll]_Ttyurlg tirr._annya
harus merupakan fungsi
mudah dlhi-tLrrg Z

3. Bytlahlterasi poia kedua (xr 1, x2


= = 0, t = 1) frurgsi logika XOR
sebagai kelanjutan contoh 2.1

4' Gunakan backpropagation melatih pola pertama fungsi


logika (biner) AND
7^, = 1,'ntuk
y,z= I, t = 1) dengan mengg'nakan
layar tersembunp yang terdiri dal
:t""h
0.5 dan bobot awal sebagaiberilut :
2trnit. Gunakan e, =

Z1 22

X1 -0.4 0.3

X2 0.1 -0.2

1 -0.1 0.3

Anda mungkin juga menyukai