View
220
Download
0
Category
Preview:
Citation preview
Bab 7
BACK PROPAGATION
7.1 Standar BackpropagationKelemahan IST yang terdiri dari layar tr*ggul membuatperkembangan JST menjadi terhenti pada sekitar tahun 1970 an.Penemuan backpropagation yang terdiri dari beberapa layarrnembuka kembali cakarawala. Terlebih setelah berhasilditemukannya berbagai aplikasi yang dapat diselesaikan ctenganI iackpropagation, mernbuat JST semakin diminati orang.
fST dengan layar tunggal memiliki keterbatasan dalam pengenalan
1xrla. Kelemahan ini bisa ditanggulangi dengan menambahkans,rltr/beberapa layar tersembunyi diantara layar masukan dankt'luaran. Meskipun penggunaan lebih dari satu layar tersembunyirrrt'miliki kelebihan manfaat untuk beberapa kasus, tapi pelatihannyarru'rnerlukan wakfu yang lama. Maka umumnya "orang mulairrrt'rrcoba dengan sebuah layar tersernbunyi lebih dahulu.
li'pg;1i hahrya model JST larn, Backpropagation melatih jaringanrrnltrk mendapatkan keseimbangan antara kemampuan jaringanrrrrlrrk mengenali pola yang digunakan selama pelatihan sertak.rrranrpuan jaringan untr"rk memberikan respon yang benar terhadap
;,ol,r rnasukan yang serupa (tapi tidak sama) dengan pola yang dipakair,r'l,r tn.r trclatihan.
BACK PROPAGANON98 Jannsan sfraf Tiruan d
7.1.1 Arsitektur Backpropagation
Backpropagation memiliki beberapa unit yang ada dalam satu atau
lebih layar tersembunyi. Garnbar 7.1 adalah arsitektr-rbackpropagation dengan n buah masukan (ditambah sebuah bias),
sebuah iayar tersembunF yang terdiri dari p unit (ditambah sebuah
bias), serta mbuah unit keluaran.
vii merupakan bobot garis dari unit masukan xi ke rmit layartersembturyi z; (v;o mempakan bobot garis yang menghubtrngkan bias
di urdt masukan ke unit layar tersembunF ri).w5 merupakan bobotdari unit layar tersembwty. zi ke unit keluaran yt (wr.o merupakanbobot dari bias di layar tersembunyi ke unit keluaran zr.)
;,,&",(v
7.1.2 FungsiAktivasiDalam backpropagatiory f'ngsi aktivasi yang dipakai harusme1e1tfti beberapa syarat yaihr : kontinu, terdiferensiar denganmudah dan merupakan f'ngsi yang tidak turun. salah satu {un-gsiyang memenuhi ketiga syarat tersebut sehingga sering dipakai adalahfungsi sigmoid biner yang memiliki range (0, 1).
f (r) =Ci dengan turunan f , (r) = f (r) (t - f (.))
Grafik frurgsinya tampak pada gamb ar 7.2
Galr:iJr.ar 7.2
l*g:i llin yang sering dipakai adalah fungsi sigmoidbenhrk. fungsinya mirip dengan fungsi sigmoid-biner,range C1,1).
bipolar yangtapi dengan
\l+\(xn/ .f (r)=#-, dengantun*ran f ,(*)- (t+/(r)Xl-/(n))
Crafik ftrngsinya tampak pad a gambar 7.3.
liungsi sigmoid memiliki nilai maksimum = r.. Maka untuk pola yangtargehya > 1, pola masukan dan keluaran han-rs terlebih dahd;tlitransformasi sehinggl
-semua polanya memiliki range yang sama
st1'rcrti f*ngsi sigmoid yang dipakai. Altematif lain adalahrtrcnggtrnakan fungsi akbivasi sigmoid hanya pada lavar vang bukan
Gambar 7.1
r
i
'iiIr
1m Jaringan Syaraf Tiruan {tn Pemrogramannya Menguna
layar keluaran. Pada layar keluaran, fungsi aktivasi yang dipakaiadalah fuurgsi identitas : f(x) = a
Gambar 7.3
7.1.3 Pelatihan Standar Backpropagation
Pelatihan Backpropagation meliputi 3 fase. Fase pertama adalah fase
maju. Pola masukan dihitung maju mulai dari layar masukan hinggalayar keluaran menggrmakan ftrngsi aktivasi yang ditentukan. Fase
kedua adalah fase murdtu. Selisih antara keluaran jaringan dengantarget yang diinginkan menqpakan kesaiahan yang terjadi. Kesaiahantersebut dipropagasikan mundur, dimtrlai dari garis yangberhubungan langsung dengan trnit-unit di layar keluaran. Fase
ketiga adalah modifikasi bobot untuk menunurkan kesalahan yangterjadi.
. Fase I : Propagasi maju
Selama propagasi maju, sinyal masttkan (= x) dipropagasikan ke layartersembunyi menggrrnakan fungsi aktivasi yang ditentukan. Keluarandari setiap unit Iayar tersembunyi (= zi) tersebut selanjuhryadipropagasikan maju lug ke layar tersembunyi di atasnya
rnenggunakan fungsi aktivasi yang ditentukan. Demikian seterusnyahingga menghasilkan keluaran jaringan (= yt).
BACK PROPAGATION
Berikubrya, keluaranjaringan (= yr) dibandingkan dengan target yanghan-n dicapai (= 1u;.
-frh"th k - yo adalah tes.-atatran ying terjadi. Jikakesalahan ini lebih kecil dari batas tolerarni y*g dit".,"tuk*, makaiterasi dihentikan. Akan tetapi apabila kesalahari masih lebih besardari batas toleransinya, maka bobot setiap garis dalam jaringan akandimodifikasi untuk mengurangi kesalahan yang terjadi.
. Fase II : Propagasi mundur
llerdasarkan kesalahan tr. - 1zr, dihitung faktor 4 (k = I,2, ..., m) yangdipakai unhrk mendistribtuikan kesalahan di'nit yr ke semua'nittersemburyi yang terhubung langsrurg dengan yu. dojuga dipakaiturtr-rk mengubah bobot garis yang berhubr.rngan langsung dengantunit keluaran.
l)engan cara yang sama, dihit'ng faktor d, di setiap urLit di layartcrsembrurp sebagai dasar pembahan bobot semua garrs yang berasaltlari unit tersembunyi di layar di bawahnya. Deriikian seterusnyahingga semua faktor d di 'nit tersembruryi yang berhubunganlangsung dengan unit masukan dihitr_rng.
o Fase III: Perubahanbobot
futelah semua faktor d dihitL*rg, bobot semua garis dimodifikasilrcrsamaan. Perubahan bobot suatu garis didasuriur, atas faktor drc'ron di layar atasnya. sebagai contoh, perubahan bobot garis yangrncmrju ke layar keluaran didasarkan atas .d k yang aa"a al unitkcluaran.
l(ctiga fase terebut di'Iang-'lang terus hingga kondisi penghentiantlipenr*ri. umumnya-kondisi penghentian yang sering dipakii adalahjrrrnlah iterasi atau kesalahan. Iterasi akan Jihenuiur,'litu iumlahrtcmsi yang dilaktrkan sujah merebihi jurnlah maksimumiterasi yangrlitctapkan, atau jika kesalahan yang terjadi sudah lebih kecii dari batasIolcransi yang diijinkan.
r
109 Jaringan Syaraf Tiruan dan Pemrogramannya Mengunakan Matlab
Algoritma pelatihan untuk jaringan dengan satu layar tersembunf(dengan ftrngsi aktivasi sigmoid biner) adaiah sebagaiberikut :
I-angkah 0 : lrisialisasi semua bobot dengan bilangan acak kecil
Langkah 7 : Jika kondisi penghentian belum terpent*ri, lakukaniangkah 2 -9
Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3 - 8
Fasel :Propagasimaju
Langkah 3 : Tiap unit masukan menerima sinyal dan menemskarrryake turit tersembturyi di atasnya
Lang!<ah 4 : HitLrng semua keluaran di unit tersembunyi zi (j = 1,,2,
"''p)r',!t
+-z_neti = v,o I 2x,v yi
r=l
zj=f(zset)= --4,*,l+e5 : Hitung semua keluaran jaringan di unit yrLangkah
m)
v netr =
1
Yt=f(Y-nett)=,--"*t+e
Fase II : Propagasi mundur
Langkah 6 : Hitung faktor t unit keluaran berdasarkan kesalahan disetiap r.rnit keluaran /r (k = 1,2, ... ,m)
p\--wko + Lz jwk j
5o =(to -:,r) .['(.v _.ttct^) = (r, - r', ) r', (l ]'^ )
I]ACK PROPAGATION
r\ mempakan unit kesalahan yang akan dipakai dalam penrbahanlrobot layar di bawahnya (langkah 7)
llitung suku penrbahan bobot wq (yang akan dipakai nanti untukrrrcnrbahbobot wg) dengan laju percepatan a
Lw,,i =a5oz,
Ltngkah 7 : Hitung faktor d r.urit tersembunyiberdasarkan kesalahantli setiap urLit tersembunyi zi (j =1,2, ... ,p)
5 _net,
unit tersembunyi :
6,=5 net, f'(zlliltrng suku penrbahan bobotrru'rtrbahbobot vii)
Av.1i=a5,x,
l',rsc III : Perubahan Bobot
I ltrgkah 8 : Hiturng semua perubahanbobot
I i'r r rb;rhan bobot garis yang menuju ke unit keluaran :
tt ^,(lmru)
= wo,(lama) + Lwo, (k = 1, 2, ... ,rn ; j=0,1, ... ,p)
li,r'rrbahan bobot garis yang menuju ke unit tersembunyi :
r' ,,(lxrru) = v ,,(lama) + Av ,,
'*'lt'l,rlr pclatihan selesai dilakukan, jaringan dapat dipakai untuk1','rr1',t'nalirrr polar. Dalam hal inj, hanya propagasi maju (langkah 4,l,rrr 5) s.rjir yang dip.rftiij trnttrk mcnentukan keltraran iaringan.
'103
sa^= ) O,w,,L) ^ ^t
_net j) = a_ net, z,(t - t,)
vii (yang akan dipakai nanti untuk
; j=1,2,...,P ; i=0,1,...F
lF
tll'
rliri
1'lili
i.,..
Apabila fungsi aktivasi yang dipakai bukan sigmoid biner, maka
langkah 4 dan 5 harus disesuaikan. Demikian juga turunannya pada
langkah 6 dan 7
Contoh 7.1
Gunakan Backpropagation dengan sebuah layar tersembunyi (dengan
3 uni| untuk mengenali fungsi logika XOR dengan 2 masukan xr danxz. Buatlah iterasi untuk menghitung bobot jaringan untr-rk polapertama (xr = 1,xz= 1 dant= 0). Gunakanlajupemahaman d = 0'2
Penyelesaian
Arsitektur Backpropagation dengan 1 layar tersembunyi y*8 terdiridari 3 unit untr.rk mengenali fungsi XOR tampak pada garnbar 7.4A
Gambar7.4
Mula-mula bobot diberi nilai acak yang kecil (range [-1, 1])' Misal
didapat bobot seperti tabel7.\ (bobot dari iayar masukan ke layar
tersembunyi = v1) dm.7,2 (bobot dari layar masukan ke layar
tersembunyi = wb)
Tabel7.1
22Zt 23
X1
X2
'1.
0.3
0.1
0.3
0.2
0.3
-0.3
-0.1
-0.1
0.3
BACK PROPAGATION tu5
TabeI7.2
v
21
22
23
1
0.5
-0.3
-0.4
-0.1
Langkah4 :Hihmg keluaran unit tersembunyr (z)
2.srz_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
t.t= [(z net,) = I
tr + e-t "n"
0.55 ; z, = i , = 0.67 ;1
Zz=___---:_=0.52I + c-"'l+c "?
Tiruan dan 1WEACK PROPAGATION
Langkah 5: Hitungkeluaranun-it yr3.say-netk ='wko* Lziwri=
j=l
Karena jaringan hanya memiliki sebuah unit keluaran y maka y_net3
= /-net = wto *2r,w,., = -0.1. + 0.55 (0.5) + 0.62 (-0.2)+ 0.52 (-0.a) r-0:u
y = f(y_net ) = =-]_ = -j==. = 0.44' I + e-)'_net 1+ bo.24
Langkahd : Hihrngfaktor t diunitkeluaran yr.
5o =(to - yo) f '(y *netk) = (to - yo) yrQ- yo) . Karena jaringan
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\ :
Owt)=a5oz,= ddz, ; j=0,1,...,9
L*,0 -- 0.2 (-0.11) (1) = -0.02
Lw' = 0.2 (-0.11) (0.55) = -9.91
Lw; = 0.2 (-0.11) Q.67) = -9.91
Awn = 0,2 Cg.U) (0.52) = -991
I,angkah r : Hitung penlturnlahan kesalahan dari unit tersembunyi(=d )
3-6 _net,=L|o*oi. Karena jaringan hanya memiliki sebuah unit
*=l
keluaran maka d_ net, = 6 w,,
6 -net,,=
(-0.11) (0.5) = -9.95
6 -netr= (-0.11) (-0.e) = g'93
d -netr= (-0.11) (-0.+; = g.g4
Faktor kesalahan t di unit tersembunyi :
tl,= 5 -net, f '(, -n,t,) = a -net, ',(t- ',)
dr = -0.05 (0.55) (1 - 0.55) = -0'0L
d: = O.oe (0.64 (1 - 0.6n = 0.01
r)',, = 9.94 (0.52) (1 - 0.52) = 0.01" '
Srrktr perubahan bobot ke unit tersembunyi Lv 1i = a 5 , x,
1,2,3 ; i=0,1,2)
Perubahan bobot unit keluaran :
wn,(buru)=w*i(lama)+ Lwo., (k= 1 ; i=0,1, "',3)
wrr Oam) = 0.5 - 0'0L = 0.49
wrz (ban0 = -0,3 - 0.01 = -0,31'
0=
AV,, = (0.2) (-0.01) .Lvr,= (0.2) (0.01) AVr'= (0'2) (0'01)
(1)=0 (1)=0 , , (1)=0
Lv,z= (0.2) (-0.01) Lvrz= (0.2) (0.01) Lvrr= (0.2) (0.01)
(1)=0 (1)=0 (1)=0
Avro = (0.2) (-0.01) Lrro= (0.2) (0.01) Av,o = (0'2) (0'01)
(1)=0 (1)=0 (1)=0
iingkah 8 : Hitung semuaperubahanbobot
wra0raru) =-0.4-0.01 = -0.41
ll1o (baru) = -0.1- 0.02 = -0.12
Perubahan bobot unit tersembunyi :
v,,(baru) =v,,(lama)+ Avii (j=1,2,3 ; i=0,1,2)
BACK PROPAGATION
7.2.1 Pemilihan Bobot dan Bias Awal
Bobot awal akan mempenganrhi apakah jaringan mencapai titikminimum lokal atau global, dan seberapa cepat konvergensinya.
Bobot yang menghasilkan nilai turunan aktivasi yang kecil sedapatmungkin dihindari karena akan menyebabkan perubahan bobotryamenjadi sangat kecil. Demikian pula nilai bobot awai tidak bolehterlalu besar karena nilai tunrnan fungsi aktivasinya menjadi sangatkecil juga. Oleh karena itu dalam standar Backpropagatiory bobot danbias diisi denganbilangan acak kecil.
Nguyen dan Widrow (1990) mengusulkan cara membuat inisialisasibobot dan bias ke unit tersembunyi sehingga menghasilkan iterasilebih cepat
Misal n = iumlahunitmasukan
p = jumlah unit tersembunyi
0 = faktorskala = 0.7 <l p
Algoritrna inisialisasi Nguyen Widrow adalah sebagai berikut :
a. hrisialisasi semua bobot (v;i (lama)) dengan bilangan acak dalaminterval [-0.5, 0.5]
,',r+vlr+...+v21,,
109
lr
'lrL
Pembaca dapat mencoba membuat iterasi untuk pola kedua (xt = l, xz=O t=1)
7 '2 optimaritas Arsiter.ur Backpropagation b. Hitung llrrll:Masalah utama vang dihadapi dalam Backpropagation adarahlamTya.-iterasi yang hu.u" arukutan. Backpropagation tidak dapatmemberikan kepastian teltang berapa epoch y*g;".* dilalur t*rhrkmencLqal kondisi yang diingink*. ot"rt karena"itu o.*gt".*uhumeneliti bagaimana parameterparameter jaringan dibu; sehinggamenghasilkan jumiah iterasi yang relatif lebih sedikit.
c. Bobot yang dipakai sebagai inisialisasi = vii = f v
"(la-ma)lluill
d. Bias yang dipakai sebagai inisialisasi = vjo = bilangan acak antara-f dur. F
Tabel7.4
vrr Oaru) = 0.2 + 0 vn (bam) = 0.3 + 0= 0.2 = 0.3
vrz(banr) =0.3+ 0 vzz0am) =0.1+0= 0.3 = 0.1
vro Oaru) = -0.3 + 0 vzo (baru) = 0.3 + 0= -0.3 = 0.3
v:r 0aru) = -0.1 + 0= -0.1
v:z (bam) = -0.1 + 0
= -0.1
v:o (baru) = 0.3 + 0= 0.3
!!q ",."". ioringan Syaraf Tiruan dan Pemrogramannya Mengu
('orttoh 7.2
Buatlah bobot awal ke unit tersembunyi contoh 7.1 menggtrrakanmodifikasi bobot Ngr:yen Widrow
Penyelesaian
Dalam contoh 7.1, n = junlah unit masukan = 2 dan p = jumlah urLittersernbuny"i = 3. Bobot lama (v1i lama) yang didapat secara acaktampak dalam tabel7.5
F =0.7 ill = 1'.21
i
l:,"
llu,ll =
ll.,ll_ll "2ll -
ll,,ll =
,12,21 = J0.3t + 0.1r = A32
= 0.14
Tabel 7.6 mempakan bobot yang dipakai sebagai inisialisasi
Tabei 7.5
0.2 0.3 -0.1
0.3 0.x -0.1
-0.3 0.3 0.3
vl, + vi, 0.22 +0.32
vl, + vl"J | -\-
(-0.1)'+(-0.1)'?
BACK PROPAGATION
Tabel7.6
ZI 23
X1
Xz
(1,.21"0.2)/0.36 (L.21"0.3) /0.32 = (1.21.(-0'1)) /0.14= A.67 1.1,3 = 0.86
(1.21"0.3) /0.35 (1..21"0.1) / 0.32 = (1'.2I.(-0.1)) /0.14-1 0.3B =0.86
Bias yang dipakai adalahbiiangan acak antara -i.21 hingga 1'-21
7.2.2 Jumlah Unit Tersembunyi
Hasil teoritit y*g didapat menunjukkan bahwa iaringan dengan
sebuah layar tersembunyi sudah cukup bagi Backpropagation untr-rk
mengenali sembarang perkawanan antara masukan dan target dengan
tingkat ketelitian yang ditentr-rkan. Akan tetapi penambahan jurnlah
layar tersernbunyi kadangkala membuat pelatihan lebih mudah.
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,
dimuiai dari layar tersembturyi paling bawah (terdekat dengan
masukan). Sebaliknya, dalam propagasi mundur, faktor d perludihitung untuk tiap layar tersembunyi, dimulai dari layar keluaran
7.2.3 Jumlah Pola Pelatihan
Tidak ada kepastian tentang berapa banyak pola yang diperlukan agarjaringan dapat dilatih dengan sempulna. Jurnlah pola yangdibuhrhkan dipengaruhi oleh banyaknya bobot dalam jaringan serta
tingkat akurasi yang diharapkan. Atr.uan kasamya dapat ditentr"rkan
berdasarkan rtunusan :
111
Jtrmlah pola = Jumlahbobot / tingkat akttrasi
I
l;lIL
,,1,i
untuk jaringan dengan B0 bobot dan tingkat akurasi 0.1, maka g00
pola masukan diharapkan akan malnpu mengenali dengan benar 9a "/opoia diantaranya.
7.2.4 Lama Iterasi
Ttrjuan utama penggunaan Backpropagation adalah mendapatkankeseimbangan antara pengenalan pola pelatihan secara benar danrespon yang baik u'rtr-rk pola lain yang sejenis (disebut data pengujian).Jaringan dapat dilatih terus menenu hingga semlra pola pelatihandikenali dengan benar. Akan tetapi hal itLr tidak menjamin jaringanakan mamprl mengenali pola pengLrjian dengan tepat. Jadi tidaklahbermanfaat trntuk menemskan iterasi hingga semua kesalahan polapelafihan = 0.
umumnya data dibagi menjadi 2baglan saling asing, yaitu poia datayang dipakai sebagai pelatihan dan data yang dipakai unhrkpengujian. Perubahan bobot dilakukan berdasarkan pora pelatihan.Akan tetapi selama pelatihan (misal setiap 10 epoch), kesalahan yangterjadi dihitung berdasarkan semua data (pelatihan dan pengujianlselama kesalahan ini menurun, pelatihan tems dijalankan. Akan tetapijika kesalahannya sudah meningkat, pelatihan tidak ada gunanyaunfuk diteruskan lagr. Jaringan sudah mulai mengambil sifat yanghanya dimiliki secara spesifik oleh data pelatihan (tapi tidak dimilikioleh data pengujian) dan sudah m'lai kehilangan kemampuanmela kLrkan generalisasi.
7.3 Variasi BackpropagationDisamping modei standar Backpropagatiorg kini sudah berkembangberbagai variasinya. variasi tersebut bisa berupa modelBackpropagation yang digunakan untr-rk keperluan khusus, atauteknik modifikasi bobot untr-rk mempercepat pelatihan dalam kasustertentr-r. Beberapa variasi diimtaranya dijelaskan dalambab ini.
tl
BACK PROPAGATION
7.3.1 Momentum
l']ada standar Backpropagafiory perubahan bobot didasarkan atasgradien yang terjadi untr.rk pola yang dimasukkan saat itu. Modifikasiyang dapat dilakukan adalah melakukan perubahan bobot yangc'lidasarkan atas arah gradien pola terakhir dan pola sebeltimnya(clisebut momenhrm) yang dimasukkan. Jadi tidak hanya polarnasukan terakhir saja yang diperhihrrgkan.
l'cnambahan momentum dimaksudkan unhrk menghindari
lrcnrbahan bobot yang mencolok akibat adanya data yang sangatlrcrbeda dengan yang lain (outlier). Apabila beberapa data terakhiryang diberikan ke jaringan memiliki pola serupa (berarti arah gradiensudah benar), maka penrbahan bobot dilakukan secara cepat. Namrur,rpabila data terakhir yang dimasukkan memiliki pola yang berbedar lcngan pola sebelumnya, maka penrbahan dilakukan secara lambat.
l)cngan penambahan momentLrm, bobot bam pada wakfu ke (t+1)rliclasarkan atas bobot pada waktu t dan (t-1). Disini hanu,litambahkan 2 variabel baru yang mencatat besamya momenhrmrrrrbnk 2 iterasi terakhir. lka trtadalah konstanta (0< p <1) yangrrrcnyatakan parameter momentum maka bobot baru dihitungI rcrdasarkan persamaan :
wo,(t +1) = wo,Q) + a 5oz ,+ trt(wr,(t1-;,w,,(t -l))
v,,(t +l) = v,,(t) + a 5,x,+ 1t(v,,(t)- v,,(r - 1))
('ontoh 7.2
I'r,rfiatikan kcmba[ iterasi pola pertama fungsi logrka XOR denganll,rt kPnrP;tgabion pada contoh 7.1. Lakukan iterasi untuk pola kcc-lua
113
, lirrt
l'ruil
t t + .J.rl"S.n Sya raf Tiru
(xr = 1, xz= 0, dan t = 1) dengan menggunakan suku momenturn (p =0.5)
Penyelesaian
Iterasi untuk pola kedua sebenamya sama dengan iterasi contoh 7.1.
Hanya saja perhitunganbobotbam pada langkah B dilakukan denganmenambahkan momentum @obot pada waktu (t-t; = bobot awal)
Hasil iterasi y*g diperoleh dari pola pertama tampak pada tabel7.7dm7.B
Tabel7.7
Tabel7.B
v
Z"I
Zz
23
1
0.49
-0.31
-0.41
-4.12
Irl.ttrt,, ,
ltlrr,t
22
X1
Xz
1
0.2
0.3
-0.3
0.3
0.1
0.3
-0.1
-0.1
U.J
Langkah 4 : Hitung keluaran turit tersembunyi (z;)
BACK PROPACTATION '115
2
z-net; = v,olLr,r,,
z_netr = -0.3+1(0.2)+0(0.3) = -0.1
z-netz = 0.3+1(0.3)+0(0.1) = 0.6
zJnett = 0.3+1(-0.1)+0C0.1) = 0.2
'/.i=f(z-net,)= .LI r - l+e-t ""''
'r,= jn- =0.48 ) zz=1* n-o.{t
=0.65 ) 23= = 0.557 + e-o2
Langkah 5: Hitungkeluaranunit yr3
y-net r = wko *2, ,*r,j-l
Karena jaringan hanya memiliki sebuah urLit keluaran y maka y-net r3
y-net = wto *Zt,wri = -0.12+ 0.48 (0.a9) + 0.65 (-0.31) + 0.55i=l
(-0.41) = -0.31
v-f(vnet)= 1 =-f- =0.42/ ' \./ --'--/ | + e_ ). _nct I + go I
Langkah6 : Hitungfaktor t diunitkeluaran yt
;io : (to - yo) f '(y -neto) = Qo - yo)y* (t - yo). Karena jaringan
lranya memiliki sebuah keluaran y maka 5r = 5 = (t - y) y(l- y) =
(l -0.42) (0.42) (1 -0.42) = 0.14
litrkrr pentbahan bobot wr.i (dengan a = 0.2) :
I
I
i
I
116 Jaringan Syaraf Tiruon dan Pemrogrannnrrya trAengunakon Matlab
Aw,,j =a5oz,= aSzi ; j=0,1,...,3
Lw, = 0.2 (0.14) (1) = 0.03
Aw,, = 0.2(0.1,4) (0.48) = g.g1
LwD= 0.2(0.1.4)(0.65) = 9.92
Lw* = 0.2(0.14) (0.55) = g.g2
Langkah 7 : Hitung peryurnlahan kesalahan dari unit tersembunyi(=d )
n1
5 _net,=L$o*oi. Karena jaringan hanya memiliki sebuah r-rnitk=l
keluaranmaka 5 _net, - S wt i
5 _net,= (0.14) Q.aq = g.g7
5 _netr= (0.14) (-0.31) = -0.04
6 _netr= (0.14) (-0.41) = -0.06
Faktor kesalahan d di urdt tersembturyi :
5 i = 5 -net i f'(, -rnt,) = a
-net i t,(l- t,)
5r= 0.07 (0.48)(1-0.48) = 0.02
5z= -0.04 (0.65) (1-0'65) = -0.01
4 = -0.00 (0.55) (1- 0.55) = -0.01
Sukupenrbahanbobotkeunit tersembunyi Lr,, = a 5, x, (j =
1,2,3 ; i=0,1,2)iI
I
tttBACK PROPAGATION
Langkah 8 : Hitungsemllapenrbahanbobot
Bobotbaruurrit keluaran :
wo,(t +I) = wuQ) + a 50r., + p(*a/t) - wo,Q -\)(k=1 ; i=0,1,...,3)
Sltkt a 5 oz , adalahhasil yang didapat dari langkah 6'
wo,(t) adalah bobot mula-mula pola kedua (hasil dari iterasi pola
pertama contoh 7.1) sedangkan wr,(t - 1) adalah bobot rrmla-mula
pada iterasi pola pertama ftobot awal contoh 7'L) ' t
wr, (baru) = 0.49 + 0.01 + 0.5 (0.49 - 0'5) = 9'495
wrz (baru) = -0.31 + 0'02 + 0.5 (-0.31- C0'3)) = -0'295
w,, (baru) = -0.41+ 0.02 + 0'5 (-0.41- C0'4)) = -0'395
wro (baru) = -0.12+ 0.03 + 0.5 (-0'12 - C0'1)) = -0'L
Tabel7.9
Z"l Zz 23
X1
Xz
1
AV,, = (0.2) (0.02) Lrr,= (0.2) (-0.01) Av,,= (0.2) (-0.01)
(1)=0 (1)=0 (1)=0
Ay,, = (0.2) (0.02) Lrr,= (0.2) (-0.01) AV:r= (0'2) (-0.01)
(0)=0 (0)=0 (0)=0
AV,r = (0.2) (0.02) Lvz,= (0.2) (-0.01) Av,, = (0'2) (-0'01)
(1)=0 (1)=0 (1)=0
v7;(l) adalah bobot awal yang dipakaiv;i pada contoh 7.1), sedangkan v,,(tdipakai dalam contoh 7.1. Kedrranyamomenhrm (r,,(r) - v i,Q- 1)) = O.
I ro Jaringon Syorof[::f dqn lr",f ,,,rS,, unakon Motlot>
Pembahan bobot unit tersembtrnyi :
v,,(t+l) = y..fr)+tr\ -/ ,.ii\Lt r a6,x,+ trt(v,,(t)_v,,(t_\)
(j=7,2,3 ; i=edalam contoh 7.2 (hasi
- I) adalah bobot awalbemilai sama sehingga
1 0\
iterasi
ye.ng
suktr
:''.
t
[ir:
IL
II
I
a 5, x, adalah hasil langkah Z yangbemiiai = 0 V r, j.
Berarti vvi tidak mengarami pembahan. v1i banr hasil iterasi pola keduasama dengan vlitabel 7.7
7.3.2 Detta - Bar _ DeltaDalam standar Backpro,gaqation, laju pemahaman (a ) mempakanstnt* konstanta yang drpakai daram sehrmrr rt"rori.fl.'penrbaha',dapat d'akukan dengan memberikan laju pemahanurn yang berbeda-beda
'nhrk seriao -bobotnya (atau bJrk; ,*;;ffi'*an yangberbeda-beda .-i-* tiap'boboi .il;- dup iterasinya). Apab'apembahan bobot berad-a dalam arah yang sama dalam blberapa poraterakhir (dapat dirihat dari tanda s.*., 4 z i ymgseralu sama), makalaju pemahaman yang bersesuaian dengan bobot w6 ditambah.
fba'knya apabila-arah perubahan rr"rrot d'a pola terakhir berbeda(ditandai dengan suku do z iymg berselang_seling positip _ negatif)n\aka laju pemaharum untukbobot tersebutharus dikurangi.
ffm* borrot daiam aturan delta * bar - delra adarah sebagai
wo,Q +l) = wo,(t) + ao,(t +1)60 z,
rr^.( K I,ROPA( llON 1'19
f 33 Perubahan Bobot BerkelomPok
\',rri,rsi lain yang dapat dilakukan pada standar Backpropagation
.r,l,rl,rh rnc,rtrbah bobohrya sekaligr-rs seteiah semua pola dimasttkkatr'
t lrrtrrk tiap poia yang dimasukkan, dilakukan langkah 4 - 7 stanclar
It,rt klrropagation. Nilai Aw*, dan Av,, untuk tiap pola dijurnlahkan.
l,rrrr,,kah B (perhitungan bobot bam) dilakukan berdasarkan hasil
;r rrrrl,rhatr Awo, dan Avtr tersebttt.
l,r,r:;t,ciur ini memberikan efek yang iebih hah,rs dalam perubahan
l',,1rot. Dalam beberapa kasus, variasi penrbahan ini akan
rrr,.rringkatkan kemungkinan konvergensi ke titik minimum lokal.
7.4 Aplil<asi Bacl<proPagation DalamPeramalan
,,rt,rh sahr biclang dimana Backpropagation dapat diaplikasikan
rtr,ilgc)ll baik adalah bidang peramalan (Jbrecnsthtg). Peramalan yang.,,.,ing kita dengar adalah peramalan besamya penjualan, nilai tr"rkar
,,,ltrta asing, prediksi besamya aliran air sungai, dl1. Sebagai contotU
,l,rlirrn penjualan barang, diketahui record data penjualan suattt
l,r,,.luk pada beberapa buian/tahun terakhir. Masalahnya adalah
,,'.'rnperkirakan berapa perkiraan produk yang ,terjual datram
| 'r rl,rn/tahtrn yang akan datang'
,,r,t.irra Lunrrm, masalah perarnalan dapat dinyatakan sebagai berikut :
I rikctahrri sejturdah data mntlur wakhr (tittte series) Xt, xz , '.'. ,Xn.
\l.l;.rlahnya adalah memperkirakan berapa harga X.+r berdasarkan x1,
.',....,Xn.
| 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
F190 :anngon Syaraf liruan don l>errrrt{rrorrrorrrryo Mcngunakan Motlab
.
,ililr
,l'
data btrlanan' periode data dapat diambil selama sahr tahun karenapergantian mtuim terjadi selama safu tahtrn.
Jurnlah data daram sahr periode ini dipakai sebagai ju'lah masukan_litit" backglof-'aearion *.lrgar ilig"hlyu diambit dara bulan
9fl]ffi:tm|;n'oe berakhii. Padaiata rr.,r*u' a*frn perioae
12 mas'kan. ""r'"rff*illTffi;o"t"rion
yang aipurui't".airi dari
Bagian tersulit adalah menenfr-rkan jrunlah rayar (dan'niturya). Tidak,111::"
yang lensin,pirF.g"plt dtpakai. rapi secara prakris dicobaJanngan yang kecil terlebih
-dahdu (misai terdiri dari'1 rayartersemburyi dengan beb"r:po .*it rupl. Jika gagal (kesarahan tidakturwr dalam epoch yang besar), *oku'iarir.,g;"arpJ;;; dengan
il::ffi#m uLir teriembunp ut*- rrurf,"" ,i"rr"rnirrr, hyar
Contoh 7.3
Diketahtri data buranan penj'alan suahr produk makanan kalengselama 2 tahun terafli r"p".ti t"-p"t p"aa tabel 7.10. B'atrah model
ffi"mtion unhrk m*perkirur.ri i.,o,rur-, p;;;;g terjual
Tabel7.10
Penjualan tiap bulan
2o4s r6e6 r34r t rct- tit-iza26L61 70437 9590 52gI 3081 214717 6i 1466 loeo rozo -llss-s:za7167 13780 70629 7725 3284 2400
r9lIln("K PROPAGATION
I't'nyclcsaian
(,,rrnlr;rr 7.5 adalah grafik penjualan contoh 7.3. Tampak bahwa Pola
,l,rt.rrrya periodik dalam jangka waktu 12 bulan' Maka mtxlcl
tr,rckliropigation yang dipakai memiliki 12 'nit
mas'kan dan 'lruah
kt'lltirran.
1 6000
1 4000
1 2000
c 10000gS sooo
O nnnn(L OUUU
4000
2000
0
Bulan co-3333434 --=
Gambar 7.5
Jika ingin menggunakan fungsi aktivasi sigmoid Oit:t), data harus
clitranslormasikan dulu karena range keluaran furgsi aktivasi sigmoid
adalah [0,1]. Data bisa ditransfonnasikan ke interval [0,L]. Tapi akan
lebih baik jika ditransformasikan ke interval yang lebrh kecil, misal
pada interval [0.1, 0.9]. hd mengingat fungsi sigmoid mempakan
FLrngsi asimtotik yang nilainya tidak pemah mencapai 0 ataupun 1'
Jika a adalah data minimum dan b adalah data maksimum,
transformasi linier yang dipakai untr-rk mentransformasikan data ke
interval [0.1,0.91 adalah
0.8(x-a)-r- ' '-f {} |
b-a
/129
Dalam taberT'10, a = 1070 dan b = 737g0.Dengan transformasi inimaka data terkec'akan menjadi o.t a* data terbesa, akan menla,ii0'9' Tabel 7.rr adarahhas'transfo.r""rt a"1i taber 2.10 yang nantinyadipakai sebagai data pelatih* n^.tp-pagatron
Tabei 7.11
Tahun penjualan tiap bulan
0.1674 0.73g40.4204 0.6896 0.6363 0.3657 o'.rzaa o.16780 -1439 0 .12490.4838 0.9 0.7077 0.5189 o'.zzg+ 0.1837
2003
2004
Pola yang dipakai mempakan dutu *UffiSff;:"1:*o1l-11u"'t t;-;;' rz f "r"
l;; ilfi sebuahepochnva seperri vang tampak dalarri -;{i-r:;"
ffi*i"}T::[];ffi bisadicobJ-cobo-''iai;;;*sebuahruyu.i".ru*rr""yi
I
i
193rr""r K I'R()PAGATION
Tabel7.12
I'ol;r
ol.r Il'
ItI
tlI
I'
I'
t rl.t-2
olit-3
olir-4
ola-5
Itrla-6
l'ola-7
P"1"€
DataMasukan (xr, -., xtz)
0.161-4 0.1394 0.1-1?l- o'1070 0.1342 0'17380.4204 0.6896 0.6363 0.3657 0-2266 0'1578
0.1394 0.LL71 0.1070 0.L342 0 ' 1738 0 '42040.6896 0.6353 0.36s7 0.2266 0 ' 1678 0 'L439
Target
0.1439
0.1-249
0.LL7L 0.1070 0 .L342 0.l-738 0 .4204 0 ' 6896
0.6363 0.3657 0.2266 0.1678 0.L439 0 'L2490.1013
0 . l-0700.3657
0.1342u . zzoo
, -tt3t0.1678
0.42040.1439
0.68960.1249
I 0.6363
| 0.1013I
| 0.36s7I
l0.l-I
i-lu . zzoo| 0.1179I
t.-l+I 0.1678
| 0.3678
0.L3420.2266
0.1_7380.1678
0.42040.L439
0.68960.L249
0.63630. r_013
0 .36570.1
-
u . zzoo0.tr]9
0.1_6780.3678
0.14390 .4838
0.17380 . 1678
0 .42040 . 1439
0.68960.L249
0.63630. r-013
-
u. Jo) /
0.1
0.22660.LL19
0.16780.3678
0 . l-4390.4838
0.L2490.9
0.4204 0.6896 0.63630.1439 0.L249 0.1013
0.6896 0.6363 0.36s70.L249 0.1013 0.1
0.6363 0.36s7 0.22660.l-013 0.1 0.Lr79
0.36s7 0.2266 0.16780. r- 0.rr79 0.3678
0.2266 0.l-6780 .1-L'79 0 .3678
0. L67B 0.l-4390 .3678 0 .4838
0 .1-4390 .4838
o.L2490.9
0.1439 0.L249 0;.10130 .4838 0 .9 0 .7017
0.L249 0.101-3 0.1-0.9 0.'70L1 0.51-89
0. r-013 0.1 0.1,L190.1017 0.5189 0 .2394
0.1
0.L1-79
0 .3678
0 .4838
0.9
Pola-90
0
0
'7 0I1
s1B9
n%
Poia-10
Pola-11
Pola-120 . 1_837
Apabila data yang tersedia cukup banyak, data bisa dibagi menjadi 2
uagu. yaitu data yang dipakai turtr-rk pelatihan dan data yang dipakai
v1?4 Jaringon Syarof Tiruan don pemrQjronrorrnyo
Mengunokan Matrob
unhrk pengujian' visa]t_a1 sebagai data pelatihan diamb'data yang:t;.T": pertamanya.3dlfan buf; ganjit (pota _L, 3, 5,... dalam rabel,,.1\.?uu sisanya dipakai ,ebugui?uL pengujian. perubahan bobordilakukan berdasarkan daJa
" peratihan. Akan tetapi kriteriapenghentian didasarkan atas data pengujian.
Proses pelatihan dilakukan unhrk beberapa epoch (misal tiap 10epoch)' setelah itu kesarahan dihihrng berdasarkan bobot yangdiperoleh yang drkenakan pada data pengujian. Jika kesarahan data ujimasih h*un, pelatihan aiun,uttcan- petattran dihentikan apabilakesalahannya mulai "u* y berarti jaringan m'rai mengamb'sifaty"ang spesifik terjadi pada dara pelatihan, Jan bukan g;;;;li""ri sifatdata.
t;i
tl.'liri,ill,t , ,
i,
SOAL-SOAL LATIHAN1. Buktikan bahwa tun_rnan ftrngsi
2
l+ e-'
aktivasi sigmoid bipolar
.f(x) =:=-1 adalah .f,(x) -0+ ffa)(r- ffxl)a
2' Mengapa tungsi :ll]_Tt yang dipakai dalam backpropagation
harus merupakan fungsi yurlg tirr._annya mudah dlhi-tLrrg Z
3. Bytlahlterasi poia kedua (xr = 1, x2 = 0, t = 1) frurgsi logika XORsebagai kelanjutan contoh 2.1
4' Gunakan backpropagation 'ntuk melatih pola pertama fungsilogika (biner) AND 7^, = 1, y,z= I, t = 1) dengan mengg'nakan
:t""h layar tersembunp yang terdiri dal 2trnit. Gunakan e, =0.5 dan bobot awal sebagaiberilut :
Z1 22
X1
X2
1
-0.4
0.1
-0.1
0.3
-0.2
0.3
ItA[K PROPAGATION
rr. Lanjutkansoal#4 diatasuntukpola kedua (xr = 1, xz = 0, t= 0)
(r. Ulangisoal #5, tapimenggunakanmomentumdengan H =0.2
'195
v
21
Zz
1
0.7
-0.2
0.4
Recommended