Buku Backpropagation
Buku Backpropagation
Buku Backpropagation
BACK PROPAGATION
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.
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.
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)
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
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
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
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
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
= /-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 -
I,angkah r: Hitung penlturnlahan kesalahan dari unit tersembunyi iingkah 8 : Hitung semuaperubahanbobot
(=d ) Perubahan bobot unit keluaran :
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
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 :
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
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
22
Zz -0.31
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,= (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
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
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
2000
,ili
0
lr
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
i
::[];ffi 0.1678 0.L439 0.L249 0.l-013 0.1 0.Lr79
- 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
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
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,
Z1 22
X1 -0.4 0.3
X2 0.1 -0.2
1 -0.1 0.3