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 iackpropagation, mernbuat JST semakin diminati orang. I
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.
98
Jannsan
sfraf
Tiruan
BACK PROPAGANON
d
7.1.2 FungsiAktivasi
7.1.1 Arsitektur Backpropagation Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layar tersembunyi. Garnbar 7.1 adalah arsitektr-r backpropagation 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 layar tersembturyi z; (v;o mempakan bobot garis yang menghubtrngkan bias di urdt masukan ke unit layar tersembunF ri).w5 merupakan bobot dari unit layar tersembwty. zi ke unit keluaran yt (wr.o merupakan bobot dari bias di layar tersembunyi ke unit keluaran zr.)
Dalam backpropagatiory f'ngsi aktivasi yang dipakai harus me1e1tfti beberapa syarat yaihr : kontinu, terdiferensiar dengan mudah dan merupakan f'ngsi yang tidak turun. salah satu {un-gsi
yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi 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
llin yang sering dipakai adalah fungsi sigmoid l*g:i benhrk. fungsinya
;,,&",
(v Gambar
+\
range C1,1).
bipolar yang
mirip dengan fungsi sigmoid-biner, tapi dengan
\l
(xn/
.f
(r)=#-,
dengantun*ran
(t+/(r)Xl-/(n)) f ,(*)-
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 -semua st1'rcrti f*ngsi sigmoid 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 adalah fuurgsi identitas : f(x) = a
Berikubrya, keluaranjaringan (= yr) dibandingkan dengan target yang han-n dicapai (= 1u;. yo adalah k tes.-atatran ying terjadi. Jika -frh"th kesalahan ini lebih kecil dari batas tolerarni dit".,"tuk*, maka
y*g
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 kesalahan
tr. - 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
tunit keluaran.
Gambar 7.3
7.1.3 Pelatihan Standar Backpropagation i
Ir'ii
Pelatihan Backpropagation meliputi 3 fase. Fase pertama adalah fase maju. Pola masukan dihitung maju mulai dari layar masukan hingga
layar keluaran menggrmakan ftrngsi aktivasi yang ditentukan. Fase kedua adalah fase murdtu. Selisih antara keluaran jaringan dengan target yang diinginkan menqpakan kesaiahan yang terjadi. Kesaiahan tersebut dipropagasikan mundur, dimtrlai dari garis yang berhubungan langsung dengan trnit-unit di layar keluaran. Fase ketiga adalah modifikasi bobot untuk menunurkan kesalahan yang terjadi.
.
l)engan cara yang sama, dihit'ng faktor d, di setiap urLit di layar tcrsembrurp sebagai dasar pembahan bobot semua garrs yang berasal tlari unit tersembunyi di layar di bawahnya. Deriikian seterusnya hingga semua faktor d di tersembruryi yang berhubungan langsung dengan unit masukan'nit dihitr_rng.
o
Fase
III: Perubahanbobot
futelah semua faktor d dihitL*rg, bobot semua garis dimodifikasi
lrcrsamaan. Perubahan bobot suatu garis didasuriur, atas faktor rc'ron di layar atasnya. sebagai contoh, perubahan bobot garis
rncmrju ke layar keluaran didasarkan atas Fase
kcluaran.
I : Propagasi maju
Selama propagasi maju, sinyal masttkan (=
x) dipropagasikan
ke layar
tersembunyi menggrrnakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit Iayar tersembunyi (= zi) tersebut selanjuhrya
dipropagasikan maju lug ke layar tersembunyi di atasnya rnenggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan (= yt).
d
yang
.d
k yang aa"a al unit
l(ctiga fase terebut di'Iang-'lang terus hingga kondisi penghentian tlipenr*ri. umumnya-kondisi penghentian yang sering dipakii adalah jrrrnlah iterasi atau kesalahan. Iterasi akan Jihenuiur,'litu iumlah rtcmsi yang dilaktrkan sujah merebihi jurnlah maksimumiterasi yang rlitctapkan, atau jika kesalahan yang terjadi sudah lebih kecii dari batas Iolcransi yang diijinkan.
r Jaringan Syaraf Tiruan dan Pemrogramannya Mengunakan Matlab
109
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:
Langkah
7 :
:
llitung suku penrbahan bobot wq (yang akan dipakai nanti untuk rrrcnrbahbobot wg) dengan laju percepatan a
lrisialisasi semua bobot dengan bilangan acak kecil
Jika kondisi penghentian belum terpent*ri, lakukan
iangkah 2 -9
Lw,,i
Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3 - 8
Fasel :Propagasimaju
Lang!
4:
HitLrng semua keluaran di unit tersembunyi
5 _net,
zi (j = 1,,2,
6,=5
+-
= v,o I 2x,v r=l
:
^t
:
f'(z _net j) = a_ net, z,(t - t,) vii ;
(yang akan dipakai nanti untuk
j=1,2,...,P ; i=0,1,...F
Hitung semua keluaran jaringan di unit yr l',rsc
v netr
= wko +
\--
Lz
I
jwk j I 1
-:,r) .['(.v _.ttct^) =
8:
Bobot
Hiturng semua perubahanbobot
i'r r rb;rhan bobot garis yang menuju ke unit keluaran
= 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 ,,
berdasarkan kesalahan di
setiap r.rnit keluaran
5o =(to
ltrgkah
^,(lmru)
II : Propagasi mundur 6 : Hitung faktor t unit keluaran /r (k = 1,2, ... ,m)
III : Perubahan
tt
Yt=f(Y-nett)=,--"* t+e
Langkah
^
Av.1i=a5,x,
p
Fase
net,
O,w,,
lliltrng suku penrbahan bobot rru'rtrbahbobot vii)
yi
zj=f(zset)= --4,*, l+e Langkah 5 m)
sa^
= L))
unit tersembunyi
"''p) z_neti
=a5oz,
Ltngkah 7 : Hitung faktor d r.urit tersembunyiberdasarkan kesalahan tli setiap urLit tersembunyi zi (j =1,2, ... ,p)
Langkah 3 : Tiap unit masukan menerima sinyal dan menemskarrrya ke turit tersembturyi di atasnya
r',!t
'103
I]ACK PROPAGATION
(r,
-
r',
)
r',
(l
]'^ )
'*'lt'l,rlr pclatihan selesai dilakukan, jaringan dapat dipakai untuk 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 langkah 4 dan 5 harus disesuaikan. Demikian juga turunannya pada langkah 6 dan 7
Tabel7.1 Zt
22
23
Contoh 7.1
X1
0.2
0.3
-0.1
Gunakan Backpropagation dengan sebuah layar tersembunyi (dengan 3 uni| untuk mengenali fungsi logika XOR dengan 2 masukan xr dan xz. Buatlah iterasi untuk menghitung bobot jaringan untr-rk pola pertama (xr = 1,xz= 1 dant= 0). Gunakanlajupemahaman d = 0'2
X2
0.3
0.1
-0.1
'1.
-0.3
0.3
0.3
Penyelesaian
TabeI7.2
Arsitektur Backpropagation dengan 1 layar tersembunyi y*8 terdiri dari 3 unit untr.rk mengenali fungsi XOR tampak pada garnbar 7.4 tll' rl iri
1'lili i.,..
A
v 21
0.5
22
-0.3
23
-0.4
1
-0.1
Langkah4 :Hihmg keluaran unit tersembunyr (z) .sr z_net; = via+
2
\x,vii ;-l
z:nett = -0.3+1,(0.2)+1(0.3) = 0.2
= 0.3+1(0.3)+L(0.1) = 0.7 z_net: = 0.3+1(-0.1)+1C0.1) = 0.1 z_netz 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)
t.t= [(z net,)
I
= tr
l+c
+
0.55 "?
e-t
;
"n"
z, =
i
, = 0.67 ;
1
Zz=___---:_=0.52 I + c-"'
Tiruan dan
Langkah
5:
Hitungkeluaranun-it yr
.sa y-netk ='wko*
6
3
6
Lziwri= j=l
Karena jaringan hanya memiliki sebuah unit keluaran y maka y_net 3
= /-net
=
wto
*2r,w,., = -0.1. + 0.55 (0.5) + 0.62 (-0.2)+ 0.52 (-0.a) r
d
-netr=
-netr=
tl,= 5
bo.24
Langkahd : Hihrngfaktor 5o
-
=(to
yo)
f
t
'(y *netk)
diunitkeluaran
=
Sukuperubahanbobot*u, 1d"
L*,0 --
0.2 (-0.11)
ddz, ;
g*
-
yr.
yo)
q =0.2\ j=0,1,...,9
(-0.11) (-0.+;
= g.g4
=
(0.55) (1 - 0.55)
;
6
unit tersembunyi Lv
:
-9.91
Hitung penlturnlahan kesalahan dari unit tersembunyi
AV,,
= (0.2) (-0.01) .Lvr,=
Lv,z= (0.2)
(-0.01)
3-
Karena jaringan hanya memiliki sebuah unit
*=l
keluaran maka
d_ net, = 6 w,,
Lvrz= (0.2)
1i
0=
= a 5 , x,
=
(0.2)
(-0.01)
Lrro=
:
(0.2)
(0.01)
,
(0.01)
wrr Oam) = 0.5
- 0'0L = 0.49
-0,3
0.01
= -0,31'
(1)=0
Lvrr=
(0.2) (0.01)
(1)=0 Av,o
Hitung semuaperubahanbobot :
wn,(buru)=w*i(lama)+ Lwo., (k= 1
wrz (ban0
,
AVr'= (0'2) (0'01)
(1)=0
(1)=0
iingkah 8
(0.01)
(1)=0
(1)=0 Avro
(0.2)
(1)=0
(1)=0
Perubahan bobot unit keluaran
_net,=L|o*oi.
'
i=0,1,2)
Awn = 0,2 Cg.U) (0.52) = -991
r:
= -0'0L
0.6n
Srrktr perubahan bobot ke
1,2,3
:
f '(, -n,t,) = a -net, ',(t- ',)
Lw' = 0.2 (-0.11) (0.55) = -9.91
I,angkah (=d )
di unit tersembunyi
O.oe (0.64 (1 -
(1) = -0.02
Lw; = 0.2 (-0.11) Q.67) =
t
= 0.01 r)',, = 9.94 (0.52) (1 - 0.52) = 0.01"
d:
yrQ- yo) . Karena jaringan maka 6r : d = (t - y) y (t - y) =
(to
hanya memfiki sebuah keluaran (0,-0.44) Q.M) (1,-0.44) = -0.11
Owt)=a5oz,=
= 0.44
= g'93
-net,
= -0.05
= -9.95
(-0.11) (-0.e)
Faktor kesalahan
dr
= =-]_ I + e-)'_net -j==. 1+
(-0.11) (0.5)
-net,,=
-0:u
y = f(y_net ') =
1W
EACK PROPAGATION
; i=0,1, "',3)
= (0'2) (0'01)
(1)=0
BACK PROPAGATION
wra0raru) =-0.4-0.01 = -0.41 ll1o (baru) = -0.1- 0.02 = -0.12
7.2.1 Pemilihan Bobot dan Bias Awal Bobot awal akan mempenganrhi apakah jaringan mencapai titik minimum lokal atau global, dan seberapa cepat konvergensinya.
Perubahan bobot unit tersembunyi
v,,(baru) =v,,(lama)+
:
Avii (j=1,2,3 ;
Bobot yang menghasilkan nilai turunan aktivasi yang kecil sedapat mungkin dihindari karena akan menyebabkan perubahan bobotrya menjadi sangat kecil. Demikian pula nilai bobot awai tidak boleh terlalu besar karena nilai tunrnan fungsi aktivasinya menjadi sangat kecil juga. Oleh karena itu dalam standar Backpropagatiory bobot dan bias diisi denganbilangan acak kecil.
i=0,1,2)
Tabel7.4
vrr Oaru) = 0.2 +
= 0.2
vrz(banr) =0.3+
= 0.3
lr
vro
'lrL
0
Oaru) = -0.3 + 0
= -0.3
vn (bam) = 0.3 + 0
= 0.3
0
vzz0am) =0.1+0
= 0.1 vzo
(baru) = 0.3 + 0
=
0.3
v:r 0aru) = -0.1 + 0
= -0.1
Misal
n = iumlahunitmasukan p = jumlah unit tersembunyi
v:o (baru) = 0.3 + 0 = 0.3
0 = faktorskala =
0.7
Algoritrna inisialisasi Nguyen Widrow adalah sebagai berikut
l,
xz
'2 optimaritas Arsiter.ur Backpropagation
Masalah utama vang dihadapi dalam Backpropagation adarah lamTya.-iterasi yang hu.u" arukutan. Backpropagation tidak dapat memberikan kepastian teltang berapa epoch y*g;".* dilalur t*rhrk mencLqal kondisi yang diingink*. ot"rt karena"itu o.*gt".*uhu meneliti bagaimana parameterparameter jaringan dibu; sehingga
menghasilkan jumiah iterasi yang relatif lebih sedikit.
Nguyen dan Widrow (1990) mengusulkan cara membuat inisialisasi bobot dan bias ke unit tersembunyi sehingga menghasilkan iterasi lebih cepat
v:z (bam) = -0.1 + 0 = -0.1
Pembaca dapat mencoba membuat iterasi untuk pola kedua (xt = =O t=1)
7
109
:
a.
hrisialisasi semua bobot (v;i (lama)) dengan bilangan acak dalam interval [-0.5, 0.5]
b.
Hitung
c.
Bobot yang dipakai sebagai inisialisasi
d.
Bias yang dipakai sebagai inisialisasi
-f
llrrll:
dur. F
,',r+vlr+...+v21,,
= vii =
=
vjo
f
v
"(la-ma) lluill
= bilangan acak antara
!!q ",."".
ioringan Syaraf Tiruan dan Pemrogramannya Mengu
111
BACK PROPAGATION
Tabel7.6
('orttoh 7.2 Buatlah bobot awal ke unit tersembunyi contoh 7.1 menggtrrakan modifikasi bobot Ngr:yen Widrow
23
ZI X1
(1,.21"0.2)/0.36
/0.32
=
(1.21.(-0'1)) /0.14 = 0.86
(1..21"0.1) / 0.32
=
(1'.2I.(-0.1)) /0.14
(L.21"0.3)
1.1,3
= A.67
Penyelesaian Dalam contoh 7.1, n = junlah unit masukan = 2 dan p = jumlah urLit tersernbuny"i = 3. Bobot lama (v1i lama) yang didapat secara acak tampak dalam tabel7.5
Xz
(1.21"0.3)
-1 Bias yang
/0.35
0.3B
=0.86
dipakai adalahbiiangan acak antara -i.21 hingga
1'-21
Tabei 7.5
7.2.2 Jumlah Unit Tersembunyi
0.2 0.3 -0.3
i l:
," F =0.7
ill = 1'.21
llu,ll =
vl, + vi,
ll.,ll_ ll "2ll ll,,ll
=
,12 ,21
+ vl" vl, J | -\-
0.3 0.x 0.3
-0.1
0.3
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 perlu dihitung untuk tiap layar tersembunyi, dimulai dari layar keluaran
0.22 +0.32
= J0.3t
+
0.1r = A32
(-0.1)'+(-0.1)'? =
y*g didapat menunjukkan bahwa iaringan dengan layar tersembunyi sudah cukup bagi Backpropagation untr-rk sebuah mengenali sembarang perkawanan antara masukan dan target dengan tingkat ketelitian yang ditentr-rkan. Akan tetapi penambahan jurnlah layar tersernbunyi kadangkala membuat pelatihan lebih mudah. Hasil teoritit
-0.1
0.14
Tabel 7.6 mempakan bobot yang dipakai sebagai inisialisasi
7.2.3 Jumlah Pola Pelatihan 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
untuk jaringan dengan B0 bobot dan tingkat akurasi 0.1, maka g00 pola masukan diharapkan akan malnpu mengenali dengan benar 9a "/o poia diantaranya.
7.3.1 Momentum l']ada standar Backpropagafiory perubahan bobot didasarkan atas gradien yang terjadi untr.rk pola yang dimasukkan saat itu. Modifikasi
7.2.4 Lama Iterasi Ttrjuan utama penggunaan Backpropagation adalah mendapatkan keseimbangan antara pengenalan pola pelatihan secara benar dan respon yang baik u'rtr-rk pola lain yang sejenis (disebut data pengujian). Jaringan dapat dilatih terus menenu hingga semlra pola pelatihan dikenali dengan benar. Akan tetapi hal itLr tidak menjamin jaringan akan mamprl mengenali pola pengLrjian dengan tepat. Jadi tidaklah bermanfaat trntuk menemskan iterasi hingga semua kesalahan pola pelafihan = 0. I
l;l
IL
,,1,i tl
umumnya data dibagi menjadi 2baglan saling asing, yaitu poia data yang dipakai sebagai pelatihan dan data yang dipakai unhrk pengujian. Perubahan bobot dilakukan berdasarkan pora pelatihan. Akan tetapi selama pelatihan (misal setiap 10 epoch), kesalahan yang terjadi dihitung berdasarkan semua data (pelatihan dan pengujianl selama kesalahan ini menurun, pelatihan tems dijalankan. Akan tetapi jika kesalahannya sudah meningkat, pelatihan tidak ada gunanya unfuk diteruskan lagr. Jaringan sudah mulai mengambil sifat yang hanya dimiliki secara spesifik oleh data pelatihan (tapi tidak dimiliki oleh data pengujian) dan sudah m'lai kehilangan kemampuan
yang dapat dilakukan adalah melakukan perubahan bobot yang c'lidasarkan atas arah gradien pola terakhir dan pola sebeltimnya (clisebut momenhrm) yang dimasukkan. Jadi tidak hanya pola rnasukan terakhir saja yang diperhihrrgkan.
l'cnambahan momentum dimaksudkan unhrk menghindari lrcnrbahan bobot yang mencolok akibat adanya data yang sangat lrcrbeda dengan yang lain (outlier). Apabila beberapa data terakhir yang diberikan ke jaringan memiliki pola serupa (berarti arah gradien sudah benar), maka penrbahan bobot dilakukan secara cepat. Namrur ,rpabila data terakhir yang dimasukkan memiliki pola yang berbeda r 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 momenhrm rrrrbnk 2 iterasi terakhir. lka trtadalah konstanta (0< p <1) yang rrrcnyatakan parameter momentum maka bobot baru dihitung I
rcrdasarkan persamaan
,
+1) =
v,,(t
+l) = v,,(t) + a 5,x,+ 1t(v,,(t)- v,,(r - 1))
wo,Q) + a 5oz
,+ trt(wr,(t1-;,w,,(t
-l))
lirrt
7.3 Variasi Backpropagation teknik modifikasi bobot untr-rk mempercepat pelatihan dalam kasus tertentr-r. Beberapa variasi diimtaranya dijelaskan dalambab ini.
:
wo,(t
mela kLrkan generalisasi.
Disamping modei standar Backpropagatiorg kini sudah berkembang berbagai variasinya. variasi tersebut bisa berupa model Backpropagation yang digunakan untr-rk keperluan khusus, atau
113
('ontoh 7.2 I'r,rfiatikan kcmba[ iterasi pola pertama fungsi logrka XOR dengan untuk pola kcc-lua
ll,rt kPnrP;tgabion pada contoh 7.1. Lakukan iterasi
tt
+
.J.rl"S.n
'115
BACK PROPACTATION
Sya raf Tiru
(xr = 1, xz= 0, dan t = 1) dengan menggunakan suku momenturn
(p
=
2
v,olLr,r,,
0.5)
z-net; =
Penyelesaian
z_netr = -0.3+1(0.2)+0(0.3) = -0.1
Iterasi untuk pola kedua sebenamya sama dengan iterasi contoh 7.1. Hanya saja perhitunganbobotbam pada langkah B dilakukan dengan menambahkan momentum @obot pada waktu (t-t; = bobot awal)
z-netz
Hasil iterasi dm7.B
y*g
diperoleh dari pola pertama tampak pada tabel7.7
zJnett
'/.i=f(z-net,)= .L r I -
'r,=
Tabel7.7
= 0.3+1(0.3)+0(0.1) = 0.6 = 0.3+1(-0.1)+0C0.1) = 0.2 l+e-t
jn-
)
=0.48
""''
zz=
1*
n-o.{t
=0.65
)
23= 7
+ e-o2
=
0.55
22
l'ru il
X1
0.2
0.3
-0.1
Langkah
Irl
Xz
0.3
0.1
-0.1
y-net
1
-0.3
0.3
U.J
5:
Hitungkeluaranunit yr 3
.ttrt,, lt
,
r = wko *2, ,*r, j-l
Karena jaringan hanya memiliki sebuah urLit keluaran y
lrr, t
maka y-net r
3
y-net =
Tabel7.B
wto
*Zt,wri = -0.12+ 0.48 (0.a9) + 0.65
(-0.31) + 0.55
i=l
(-0.41)
=
-0.31
v
v-f(vnet)= / ' --'--/ \./
1
0.49
Zz
-0.31
23
-0.41
Langkah6 : Hitungfaktor
1
-4.12
;io
:
(to
-
yo)
f
=-fI I + go
| + e_ ). _nct
Z"I
'(y
t
-neto)
diunitkeluaran yt
=
Qo
lranya memiliki sebuah keluaran y
(l Langkah 4 : Hitung keluaran turit tersembunyi (z;)
=0.42
- yo)y*
(t
-
yo). Karena jaringan
maka 5r = 5 = (t - y)
-0.42) (0.42) (1 -0.42) = 0.14
litrkrr pentbahan bobot wr.i (dengan
a
= 0.2)
:
y(l- y) =
116
Jaringan Syaraf Tiruon dan Pemrogrannnrrya trAengunakon Matlab
Tabel7.9
=a5oz,= aSzi ; j=0,1,...,3
Aw,,j
LwD= 0.2(0.1.4)(0.65) =
9.92
Lw* =
g.g2
0.2(0.14) (0.55)
=
Langkah 7 (=d )
:
=
(0.2)
(0.02) Lrr,= (0.2) (-0.01) Av,,= (0.2) (-0.01)
(1)=0
(1)=0
Ay,, = (0.2)
Xz
AV,r
1
=
(0.2)
(0.02)
(0.2)
Lvz,= (0.2)
(1)=0
Hitung peryurnlahan kesalahan dari unit tersembunyi
(1)=0
(-0.01) AV:r= (0'2) (-0.01) (0)=0 (0)=0
(0.02) Lrr,=
(0)=0
I
i
AV,,
X1
Aw,, = 0.2(0.1,4) (0.48) = g.g1
23
Zz
Z"l
Lw, = 0.2 (0.14) (1) = 0.03
I
ttt
BACK PROPAGATION
(-0.01)
Av,, = (0'2) (-0'01)
(1)=0
(1)=0
I
n1
5
_net,=L$o*oi.
Karena jaringan hanya memiliki sebuah r-rnit
k=l
keluaranmaka 5 _net,
Q.aq =
-
g.g7
wo,(t
_net,=
(0.14)
5
_netr=
(0.14) (-0.31)
= -0.04
6
_netr=
(0.14) (-0.41)
=
5
i = 5 -net i
5r=
d
=
I
I
+I) = wuQ) + a 50r., + p(*a/t) - wo,Q -\) 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)
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))
4=
-0.00 (0.55) (1- 0.55)
=
w,, (baru) = -0.41+
-0.01
Sukupenrbahanbobotkeunit tersembunyi Lr,, = a 5, 1,2,3 ; i=0,1,2) i
:
Sltkt a 5 oz , adalahhasil yang didapat dari langkah
f'(, -rnt,) = a -net i t,(l- t,)
0.07 (0.48)(1-0.48)
Hitungsemllapenrbahanbobot
(k=1 ; i=0,1,...,3)
-0.06
di urdt tersembturyi
8:
Bobotbaruurrit keluaran
S wt i
5
Faktor kesalahan
Langkah
x,
(j
=
0.02 + 0'5 (-0.41- C0'4))
wro (baru) = -0.12+ 0.03 + 0.5 (-0'12
-
C0'1))
=
-0'295
= -0'395 =
-0'L
t
I
ro
Jaringon
Syorof[::f
Pembahan bobot unit tersembtrnyi
dqn lr",f
,,,rS,,
unakon Motlot>
:
1'19
I,ROPA( llON
33
f
v,,(t+l) ,.ii\Lt r a6,x,+ trt(v,,(t)_v,,(t_\) tr\ -/ = y..fr)+ (j=7,2,3
rr^.( K
Perubahan Bobot BerkelomPok
\',rri,rsi lain yang dapat dilakukan pada standar Backpropagation
; i=e
1 0\
v7;(l) adalah bobot awal yang dipakai dalam contoh 7.2 (hasi iterasi v;i pada contoh 7.1), sedangkan v,,(t - I) adalah bobot awal ye.ng dipakai dalam contoh 7.1. Kedrranya bemilai sama sehingga suktr momenhrm (r,,(r) - v i,Q- 1)) = O. a 5, x, adalah hasil langkah yangbemiiai Z = 0 V r, j. Berarti vvi tidak mengarami pembahan. v1i banr hasil iterasi pola kedua sama dengan vlitabel 7.7
.r,l,rl,rh rnc,rtrbah bobohrya sekaligr-rs seteiah semua pola dimasttkkatr'
-
7 stanclar It,rt klrropagation. Nilai Aw*, dan Av,, untuk tiap pola dijurnlahkan. l,rrrr,,kah B (perhitungan bobot bam) dilakukan berdasarkan hasil
t lrrtrrk tiap poia yang dimasukkan, dilakukan langkah 4
rrrrl,rhatr Awo,
;r
dan
Avtr tersebttt.
ini memberikan efek yang iebih hah,rs dalam perubahan l',,1rot. Dalam beberapa kasus, variasi penrbahan ini akan l,r,r:;t,ciur
rrr,.rringkatkan kemungkinan konvergensi ke titik minimum lokal.
:''. t
[ir: IL
I I I
7.3.2 Detta - Bar _ Delta
7.4 Aplil
Dalam standar Backpro,gaqation,
laju pemahaman (a mempakan ) stnt* konstanta yang drpakai daram sehrmrr rt"rori.fl.'penrbaha', dapat
d'akukan dengan memberikan laju pemahanurn yang berbedabeda seriao (atau bJrk; ,*;;ffi'*an 'nhrk .-i-*-bobotnya yang berbeda-beda tiap'boboi .il;- dup iterasinya). Apab'a
pembahan bobot berad-a dalam arah yang sama dalam blberapa pora terakhir (dapat dirihat dari tanda s.*., 4 z i ymgseralu sama), maka laju 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 wo,Q
*
bar
-
+l) = wo,(t) + ao,(t +1)60 z,
delra adarah sebagai
Peramalan ,,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 adalah l,r,,.luk pada beberapa buian/tahun terakhir. Masalahnya datram yang produk ,terjual ,,'.'rnperkirakan berapa perkiraan | rl,rn/tahtrn yang akan datang' 'r ,,r,t.irra Lunrrm, masalah perarnalan dapat dinyatakan sebagai
berikut
:
rikctahrri sejturdah data mntlur wakhr (tittte series) Xt, xz , '.'. ,Xn. \l.l;.rlahnya adalah memperkirakan berapa harga X.+r berdasarkan x1, .',....,Xn.
I
| lt.rrgan Backpropagation, record data dipakari sebagai data pelatihan
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 ,,,rluk
*"rl.ori bobot yang
F 190
:anngon Syaraf liruan don l>errrrt{rrorrrorrrryo Mcngunakan Motlab
r9l
Iln("K PROPAGATION
data btrlanan' periode data dapat diambil selama sahr tahun karena
I't'nyclcsaian
Jurnlah data daram sahr periode ini dipakai sebagai backglof-'aearion *.lrgar
(,,rrnlr;rr 7.5 adalah grafik penjualan contoh 7.3. Tampak bahwa Pola ,l,rt.rrrya periodik dalam jangka waktu 12 bulan' Maka mtxlcl mas'kan dan 'lruah tr,rckliropigation yang dipakai memiliki 12 'nit kt'lltirran.
pergantian mtuim terjadi selama safu tahtrn.
_litit"
9fl]ffi:tm|;n'oe 12
mas'kan.
ju'lah masukan ilig"hlyu diambit dara bulan berakhii. Padaiata rr.,r*u' a*frn perioae yang aipurui't".airi dari
""r'"rff*illTffi;o"t"rion
Bagian tersulit adalah menenfr-rkan jrunlah rayar (dan'niturya). Tidak yang dtpakai. rapi secara prakris dicoba ,111::" lensin,pirF.g"plt -dahdu Janngan yang kecil
terlebih (misai terdiri dari'1 rayar tersemburyi dengan beb"r:po .*it rupl. Jika gagal (kesarahan tidak turwr dalam epoch yang besar),
*oku'iarir.,g;"arpJ;;;
il::ffi#m
uLir teriembunp ut*- rrurf,"" ,i"rr"rnirrr,dengan hyar
gc
1
6000
1
4000
1
2000
10000
S O
(L
sooo nnnn
OUUU
4000
.
2000
,ili lr
,l'
0
Contoh 7.3
Bulan
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 model unhrk m*perkirur.ri i.,o,rur-, terjual
p;;;;g
ffi"mtion
Tabel7.10 Penjualan tiap bulan
2o4s r6e6 r34r t rct- tit-iza2 6L61 70437 9590 52gI 3081 17
6i 1466 loeo
rozo
2147
-llss-s:za
7167 13780 70629 7725 3284
2400
c o
3333434
--=
-
Gambar 7.5
data harus Jika ingin menggunakan fungsi aktivasi sigmoid Oit:t), sigmoid aktivasi furgsi keluaran clitranslormasikan dulu karena range akan Tapi adalah [0,1]. Data bisa ditransfonnasikan ke interval [0,L]. lebih baik jika ditransformasikan ke interval yang lebrh kecil, misal pada interval [0.1, 0.9]. hd mengingat fungsi sigmoid mempakan 1' FLrngsi asimtotik yang nilainya tidak pemah mencapai 0 ataupun
adalah data minimum dan b adalah data maksimum, transformasi linier yang dipakai untr-rk mentransformasikan data ke interval [0.1,0.91 adalah
Jika
a
-r-
0.8(x-a)'-f '
b-a
{}
|
/ 129 193
rr""r K I'R()PAGATION
Dalam taberT'10, a 1070 = dan b = 737g0.Dengan transformasi ini maka data terkec'akan menjadi o.t a* data terbesa, akan menla,ii 0'9' Tabel 7.rr adarahhas'transfo.r""rt a"1i taber 2.10 yang nantinya dipakai sebagai data pelatih*
Tabel7.12
l' ol.r
Tabei 7.11
Tahun
2003 2004
penjualan tiap bulan
0.7077 0.5189 o'.zzg+ 0.1837
Pola yang dipakai mempakan dutu
*Uffi
l;; Sff;:"1:*o1l-11u"'t t;-;;' -;{i-r:;" "r"
epochnva seperri vang tampak dalarri
::[];ffi
I
rl.t-2
I
t
tl
olit-3
I
0 -1439 0 .1249
0.4838 0.9
I
It
0.1674 0.73g4 0.4204 0.6896 0.6363 0.3657 o'.rzaa o.1678
rz f
ilfi
DataMasukan
I'ol;r
n^.tp-pagatron
ffi*i"}T
-.,
Target
xtz)
0.161-4 0.1394 0.1-1?l- o'1070 0.1342 0'1738 0.4204 0.6896 0.6363 0.3657 0-2266 0'1578
0.1439
0 ' 1738 0 '4204 0 ' 1678 0 'L439
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 'L249
0.1013
0.L342 0.1738 0.4204 0.6896 0.6363 0.3657 0.2266 0 . 1678 0.1439 0.L249 0.1013
0.1
0.6896 0.6363 0.36s7 0.L249 0.1013 0.1
0.L1-79
0.1394 0.LL71 0.1070 0.L342 0.6896 0.6353 0.36s7 0.2266
I' olir-4
0 . l-070
I' ola-5
0.1342 0.1_738 u . zzoo 0.1678
Itrla-6
, -tt3t 0.4204 0.6896 0.6363 0.36s7 0.2266 0.Lr79 0.1678 0.L439 0.L249 0.l-013 0.1
0
.3678
l'ola-7
0.4204 0.6896 0.6363 0.36s7 0.2266 0.1678 0.rr79 0.3678 0.1439 0.L249 0. r-013 0. r-
0
.4838
P"1"€
0.6896 0.6363 u. Jo) 0.1249 0. r_013 0.1
sebuah
bisadicobJ-cobo-''iai;;;*sebuahruyu.i".ru*rr""yi
(xr,
i
Pola-9
0 .4204 0 . 1439
/
0.2266 0.l-678
0
.1-439
.3678
0
.4838
0 .1-L'79 0
0.6363 0 .3657 0.2266 0. L67B 0.l-439 o.L249 0.LL19 0 .3678 0 .4838 0.9 | 0.1013 0.1
0.9 0I1
0
'7
0.1678 0.1439 0.L249 0;.1013 0 .7017 0.3678 0 .4838 0 .9
0
s1B9
0.L249 0.101-3 0.10.'70L1 0.51-89 0.9
0
n%
I I
Poia-10
| I
0.36s7
l0.lI
iPola-11
lu . zzoo
u . zzoo
0.tr]9 -0.1_678
0 . l-439
| 0.1179 0.3678 0.4838 I
t.-l+
Pola-12
0.1,L19 0.1678 0.1439 0.L249 0. r-013 0.1 0 .2394 0.5189 0.1017 | 0.3678 0 .4838 0.9
0 . 1_837
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 Mengunokan Matrob
unhrk pengujian' visa]t_a1 sebagai data pelatihan diamb'data yang pertamanya.3dlfan buf; ganjit (pota _L, 3, 5,... dalam rabel :t;.T": ,,.1\.?uu sisanya dipakai ,ebugui?uL pengujian. perubahan bobor dilakukan berdasarkan daJa " peratihan. Akan tetapi kriteria penghentian didasarkan atas data pengujian. Proses pelatihan dilakukan unhrk 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 kesalahannya mulai berarti jaringan m'rai mengamb'sifat y "u* y"ang data.
t;
i
tl
.'lir i,i ll,t
,
,
i,
spesifik terjadi pada dara pelatihan, Jan bukan
g;;;;li""ri
sifat
SOAL-SOAL LATIHAN 1. Buktikan bahwa tun_rnan ftrngsi aktivasi sigmoid bipolar 2 .f(x) =:=-1 adalah .f,(x) -0+ ffa)(r- ffxl) l+ e-' a
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 'ntuk logika (biner) AND y,z= 1, I, 7^, = t = 1) dengan mengg'nakan layar tersembunp yang terdiri dal 2trnit. Gunakan e, = :t""h 0.5 dan bobot awal sebagaiberilut : Z1
22
X1
-0.4
0.3
X2
0.1
-0.2
1
-0.1
0.3
'195
ItA[K PROPAGATION
v 21
0.7
Zz
-0.2
1
0.4
rr.
Lanjutkansoal#4 diatasuntukpola kedua (xr = 1, xz = 0, t= 0)
(r.
Ulangisoal #5, tapimenggunakanmomentumdengan H =0.2