Anda di halaman 1dari 15

Bab 7

BACK PROPAGATION

7.1

Standar Backpropagation
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

Kelemahan

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

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.

7.1.2 FungsiAktivasi
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).

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.)

f (r) =Ci

dengan

turunan

(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
7.1

+\
\l

range C1,1).

mirip dengan fungsi sigmoid-biner, tapi dengan

bipolar yang

(xn/

.f

(r)=#-,

dengantun*ran

(t+/(r)Xl-/(n)) f ,(*)-

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

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.

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

Fase

II : Propagasi mundur

Gambar 7.3

tunit keluaran.

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

llerdasarkan kesalahan

7.1.3 Pelatihan Standar Backpropagation


i

'ii Ir

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 'nit langsung dengan unit masukan dihitr_rng.

Fase

III: Perubahanbobot

rncmrju ke layar keluaran didasarkan atas


Fase

lrcrsamaan. Perubahan bobot suatu garis didasuriur, atas faktor rc'ron di layar atasnya. sebagai contoh, perubahan bobot garis
.d

futelah semua faktor d dihitL*rg, bobot semua garis dimodifikasi

yang

I : Propagasi maju

kcluaran.

k yang aa"a al unit

Selama propagasi maju, sinyal masttkan (=

x) dipropagasikan

ke layar

dipropagasikan maju lug ke layar tersembunyi di atasnya rnenggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya
hingga menghasilkan keluaran jaringan (= yt).

tersembunyi menggrrnakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit Iayar tersembunyi (= zi) tersebut selanjuhrya

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
109 Jaringan Syaraf Tiruan dan Pemrogramannya Mengunakan Matlab
I]ACK PROPAGATION '103

Algoritma pelatihan untuk jaringan dengan satu layar tersembunf


(dengan ftrngsi aktivasi sigmoid biner) adaiah sebagaiberikut I-angkah
:

r\ mempakan unit kesalahan yang akan dipakai dalam penrbahan


lrobot layar di bawahnya (langkah 7)

0:

lrisialisasi semua bobot dengan bilangan acak kecil

Langkah

7 :

Jika kondisi penghentian belum terpent*ri, lakukan

llitung suku penrbahan bobot wq (yang akan dipakai nanti untuk rrrcnrbahbobot wg) dengan laju percepatan a
Lw,,i

iangkah 2 -9 Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3 - 8

=a5oz,

Fasel :Propagasimaju
Langkah 3 : Tiap unit masukan menerima sinyal dan menemskarrrya ke turit tersembturyi di atasnya
Lang!<ah
r',!t

Ltngkah 7 : Hitung faktor d r.urit tersembunyiberdasarkan kesalahan tli setiap urLit tersembunyi zi (j =1,2, ... ,p)
5 _net,

) = L)

sa^

O,w,,
^ ^t
:

4:

HitLrng semua keluaran di unit tersembunyi

zi (j = 1,,2,

unit tersembunyi

"''p)
z_neti

= v,o I 2x,v r=l

+-

6,=5
yi

net,

f'(z _net j) = a_ net, z,(t - t,)


vii ;
(yang akan dipakai nanti untuk

lliltrng suku penrbahan bobot rru'rtrbahbobot vii)


Av.1i=a5,x,

zj=f(zset)= --4,*, l+e


Langkah 5 m)

j=1,2,...,P ; i=0,1,...F

Hitung semua keluaran jaringan di unit yr


l',rsc

III : Perubahan

Bobot

v netr

= wko +

\--

Lz

jwk j
I
1

ltrgkah

8:

Hiturng semua perubahanbobot


:

i'r r rb;rhan bobot garis yang menuju ke unit keluaran


tt

Yt=f(Y-nett)=,--"* t+e
Fase

^,(lmru)

= wo,(lama) + Lwo, (k = 1, 2, ... ,rn

; j=0,1, ... ,p)


:

li,r'rrbahan bobot garis yang menuju ke unit tersembunyi


r'

II : Propagasi mundur
6 : Hitung faktor t unit keluaran /r (k = 1,2, ... ,m)
5o =(to berdasarkan kesalahan di

,,(lxrru) = v ,,(lama) + Av ,,

Langkah

setiap r.rnit keluaran

-:,r) .['(.v _.ttct^) =

(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 Contoh 7.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 Penyelesaian
X1

Tabel7.1
Zt
22 23

0.2 0.3 -0.3

0.3
0.1

-0.1

X2
'1.

-0.1 0.3

0.3

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.,..

v
21 22 23
1

0.5

-0.3
-0.4

-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,)

=
tr

e-t

"n"

l+c

0.55
"?

z, =

, = 0.67 ;

Zz=___---:_=0.52 I + c-"'

Tiruan dan

EACK PROPAGATION

1W

Langkah

5:

Hitungkeluaranun-it yr
3

6 6 d

-net,,=

(-0.11) (0.5)

= -9.95 = g'93 = g.g4


:

.sa y-netk ='wko*

Lziwri= j=l

-netr=

(-0.11) (-0.e) (-0.11) (-0.+;

Karena jaringan hanya memiliki sebuah unit keluaran y maka y_net

-netr=

= /-net -0:u

wto

*2r,w,., = -0.1. + 0.55 (0.5) + 0.62 (-0.2)+ 0.52 (-0.a) r

Faktor kesalahan

di unit tersembunyi

tl,= 5
dr

-net,

f '(, -n,t,) = a -net, ',(t- ',)


= -0'0L
0.6n

= -0.05

(0.55) (1 - 0.55)

y = f(y_net ') =

= =-]_ I + e-)'_net -j==. 1+


bo.24

= 0.44

d:

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


=
O.oe (0.64 (1 -

'

Langkahd : Hihrngfaktor
5o

diunitkeluaran

yr.

Srrktr perubahan bobot ke

unit tersembunyi Lv

1i

= a 5 , x,

0=

=(to

yo)

'(y *netk)

(to

hanya memfiki sebuah keluaran (0,-0.44) Q.M) (1,-0.44) = -0.11

yrQ- yo) . Karena jaringan maka 6r : d = (t - y) y (t - y) =

yo)

1,2,3

i=0,1,2)

Sukuperubahanbobot*u, 1d"

Owt)=a5oz,=
L*,0 -0.2 (-0.11)

ddz, ;
(1) = -0.02

q =0.2\ j=0,1,...,9

g*

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)
(0.01)

Lvrr=

(1)=0
(0.2) (0.01)

Lw' = 0.2 (-0.11) (0.55) = -9.91


Lw; = 0.2 (-0.11) Q.67) =
-9.91

(1)=0
Avro

(1)=0
Av,o

(0.2)

(-0.01)

Lrro=

(0.2)

= (0'2) (0'01)

Awn = 0,2 Cg.U) (0.52) = -991

(1)=0
:

(1)=0

(1)=0

I,angkah (=d )
6

r:
3*=l

Hitung penlturnlahan kesalahan dari unit tersembunyi

iingkah 8

Hitung semuaperubahanbobot

Perubahan bobot unit keluaran

_net,=L|o*oi.

Karena jaringan hanya memiliki sebuah unit

wn,(buru)=w*i(lama)+ Lwo., (k= 1


wrr Oam) = 0.5
wrz (ban0

; i=0,1, "',3)

keluaran maka

d_ net, = 6 w,,

- 0'0L = 0.49
0.01

-0,3

= -0,31'

BACK PROPAGATION

109

wra0raru) =-0.4-0.01 = -0.41 ll1o (baru) = -0.1- 0.02 = -0.12


Perubahan bobot unit tersembunyi

7.2.1 Pemilihan Bobot dan Bias Awal


Bobot awal akan mempenganrhi apakah jaringan mencapai titik minimum lokal atau global, dan seberapa cepat konvergensinya.
:

v,,(baru) =v,,(lama)+

Avii (j=1,2,3 ;
Tabel7.4

i=0,1,2)

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.

vrr Oaru) = 0.2 +

= 0.2

0 0

vn (bam) = 0.3 + 0

= 0.3
vzz0am) =0.1+0

v:r 0aru) = -0.1 + 0

= -0.1
v:z (bam) = -0.1 + 0 = -0.1 v:o (baru) = 0.3 + 0 = 0.3

Nguyen dan Widrow (1990) mengusulkan cara membuat inisialisasi bobot dan bias ke unit tersembunyi sehingga menghasilkan iterasi
lebih cepat

vrz(banr) =0.3+

= 0.3

= 0.1
vzo

Misal

n = iumlahunitmasukan p = jumlah unit tersembunyi


0 = faktorskala =
0.7 <l p
:

lr

'lrL

vro

Oaru) = -0.3 + 0

= -0.3

(baru) = 0.3 + 0

0.3

Pembaca dapat mencoba membuat iterasi untuk pola kedua (xt = =O t=1)

Algoritrna inisialisasi Nguyen Widrow adalah sebagai berikut

l,

xz

a.

hrisialisasi semua bobot (v;i (lama)) dengan bilangan acak dalam interval [-0.5, 0.5]

'2 optimaritas Arsiter.ur Backpropagation

b.
c. d.

Hitung

menghasilkan jumiah iterasi yang relatif lebih sedikit.

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

llrrll:

,',r+vlr+...+v21,,

Bobot yang dipakai sebagai inisialisasi

= vii =
vjo

"(la-ma) lluill

Bias yang dipakai sebagai inisialisasi

-f

= bilangan acak antara

dur. F

!!q ",."".
('orttoh 7.2

ioringan Syaraf Tiruan dan Pemrogramannya Mengu

BACK PROPAGATION

111

Tabel7.6
ZI
X1

Buatlah bobot awal ke unit tersembunyi contoh 7.1 menggtrrakan modifikasi bobot Ngr:yen Widrow 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
Tabei 7.5
Xz

23

(1,.21"0.2)/0.36

(L.21"0.3)

= A.67
(1.21"0.3)

1.1,3 0.3B

/0.32

= =

(1.21.(-0'1)) /0.14 = 0.86 (1'.2I.(-0.1)) /0.14

-1
Bias yang

/0.35

(1..21"0.1) / 0.32

=0.86
1'-21

dipakai adalahbiiangan acak antara -i.21 hingga

7.2.2 Jumlah Unit Tersembunyi

,"
F =0.7
llu,ll =

l:

0.2 0.3 -0.3


ill = 1'.21
vl, + vi,
,12 ,21

0.3 0.x 0.3

-0.1
-0.1

0.3

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
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

ll.,ll_ ll "2ll ll,,ll


=

= J0.3t

0.1r = A32
0.14

+ vl" vl, J | -\-

(-0.1)'+(-0.1)'? =

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

Tabel 7.6 mempakan bobot yang dipakai sebagai inisialisasi

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 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

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;l
tl

,,1,i

IL

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
mela kLrkan generalisasi.

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 wo,(t

+1) =

wo,Q) + a 5oz

,+ trt(wr,(t1-;,w,,(t

-l))

lirrt

7.3 Variasi Backpropagation


Disamping modei standar Backpropagatiorg kini sudah berkembang berbagai variasinya. variasi tersebut bisa berupa model Backpropagation yang digunakan untr-rk keperluan khusus, atau teknik modifikasi bobot untr-rk mempercepat pelatihan dalam kasus tertentr-r. Beberapa variasi diimtaranya dijelaskan dalambab ini.

v,,(t

+l) = v,,(t) + a 5,x,+ 1t(v,,(t)- v,,(r - 1))

('ontoh 7.2
ll,rt kPnrP;tgabion pada contoh 7.1. Lakukan iterasi

I'r,rfiatikan kcmba[ iterasi pola pertama fungsi logrka XOR dengan 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


0.5)

(p

z-net; =

v,olLr,r,,

Penyelesaian 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_netr = -0.3+1(0.2)+0(0.3) = -0.1 z-netz zJnett

= 0.3+1(0.3)+0(0.1) = 0.6 = 0.3+1(-0.1)+0C0.1) = 0.2


l+e-t
""''

Hasil iterasi dm7.B

y*g

diperoleh dari pola pertama tampak pada tabel7.7 Tabel7.7


22

'/.i=f(z-net,)= .L r I
'r,=

jn5:

=0.48

zz=

1*

n-o.{t

=0.65

23=
7

+ e-o2

0.55

l'ru
il

X1

0.2 0.3 -0.3

0.3 0.1 0.3

-0.1 -0.1
U.J

Langkah y-net

Hitungkeluaranunit yr
3

Irl
.ttrt,,
lt
lrr,
t
,

Xz
1

r = wko *2, ,*r, j-l


maka y-net r
(-0.31) + 0.55

Karena jaringan hanya memiliki sebuah urLit keluaran y


3

Tabel7.B

y-net =
(-0.41)

wto

*Zt,wri = -0.12+ 0.48 (0.a9) + 0.65


i=l

-0.31

v
Z"I

0.49 -0.31
-0.41

v-f(vnet)= / ' --'--/


\./

| + e_ ). _nct

=-fI I + go

=0.42

Zz 23 1

Langkah6 : Hitungfaktor
;io

diunitkeluaran yt

-4.12

(to

yo)

'(y

-neto)

Qo

- yo)y*

(t

yo). Karena jaringan

lranya memiliki sebuah keluaran y

maka 5r = 5 = (t - y) a
= 0.2)
:

y(l- y) =

(l
Langkah 4 : Hitung keluaran turit tersembunyi (z;)

-0.42) (0.42) (1 -0.42) = 0.14

litrkrr pentbahan bobot wr.i (dengan

116

Jaringan Syaraf Tiruon dan Pemrogrannnrrya trAengunakon Matlab

BACK PROPAGATION

ttt

Aw,,j

=a5oz,= aSzi ; j=0,1,...,3


Z"l X1

Tabel7.9
Zz 23

Lw, = 0.2 (0.14) (1) = 0.03


Aw,, = 0.2(0.1,4) (0.48) = g.g1
AV,,

(0.2)

(0.02) Lrr,= (0.2) (-0.01) Av,,= (0.2) (-0.01)

(1)=0 (0)=0
(0.2)

(1)=0
(0.2)

(1)=0

LwD= 0.2(0.1.4)(0.65) =
I

9.92 g.g2
Xz

Lw* =
I

0.2(0.14) (0.55)

Ay,, = (0.2)

(0.02) Lrr,= (0.02)

(-0.01) AV:r= (0'2) (-0.01) (0)=0 (0)=0 (-0.01)


Av,, = (0'2) (-0'01)

i
I

Langkah 7 (=d )
5

:
n1

AV,r

Hitung peryurnlahan kesalahan dari unit tersembunyi

Lvz,= (0.2)

(1)=0

(1)=0

(1)=0

_net,=L$o*oi.
k=l

Karena jaringan hanya memiliki sebuah r-rnit

Langkah

8:

Hitungsemllapenrbahanbobot
:

keluaranmaka 5 _net,
5 5 6

S wt i

Bobotbaruurrit keluaran
wo,(t

_net,= _netr= _netr=

(0.14)

Q.aq =

g.g7

+I) = wuQ) + a 50r., + p(*a/t) - wo,Q -\)


(k=1 ; i=0,1,...,3)
6'

(0.14) (-0.31) (0.14) (-0.41)

= -0.04
=
-0.06
:

Sltkt a 5 oz , adalahhasil yang didapat dari langkah

Faktor kesalahan
5

di urdt tersembturyi

i = 5 -net i

f'(, -rnt,) = a -net i t,(l- t,)


=
0.02

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)

'

5r=

0.07 (0.48)(1-0.48)

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))

5z=

-0.04 (0.65) (1-0'65) -0.00 (0.55) (1- 0.55)

= -0.01
=
-0.01

=
=

-0'295

4=

w,, (baru) = -0.41+

0.02 + 0'5 (-0.41- C0'4))

= -0'395
-0'L

Sukupenrbahanbobotkeunit tersembunyi Lr,, = a 5, 1,2,3 ; i=0,1,2)


i
I

x,

(j

wro (baru) = -0.12+ 0.03 + 0.5 (-0'12

C0'1))

ro

Jaringon

Syorof[::f

dqn lr",f

,,,rS,,

unakon Motlot>

rr^.( K

I,ROPA( llON

1'19

Pembahan bobot unit tersembtrnyi

v,,(t+l) ,.ii\Lt r a6,x,+ trt(v,,(t)_v,,(t_\) tr\ -/ = y..fr)+


(j=7,2,3
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

33

Perubahan Bobot BerkelomPok

\',rri,rsi lain yang dapat dilakukan pada standar Backpropagation

; i=e

1 0\

.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.

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

7.3.2 Detta - Bar _ Delta


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 laju pemahaman (a mempakan ) stnt* konstanta yang drpakai daram sehrmrr rt"rori.fl.'penrbaha', dapat
Dalam standar Backpro,gaqation,

7.4 Aplil<asi Bacl<proPagation Dalam


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
I

[ir:
IL

I I
I

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.

berikut

ffm*

borrot daiam aturan delta


wo,Q

bar

delra adarah sebagai

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

+l) = wo,(t) + ao,(t +1)60 z,

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

Iln("K PROPAGATION

r9l

pergantian mtuim terjadi selama safu tahtrn.

data btrlanan' periode data dapat diambil selama sahr tahun karena

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 mas'kan dan 'lruah tr,rckliropigation yang dipakai memiliki 12 'nit kt'lltirran.

_litit"
12

Jurnlah data daram sahr periode ini dipakai sebagai backglof-'aearion *.lrgar

9fl]ffi:tm|;n'oe
mas'kan.

ju'lah masukan ilig"hlyu diambit dara bulan berakhii. Padaiata rr.,r*u' a*frn perioae
yang aipurui't".airi dari

terlebih (misai terdiri dari'1 rayar tersemburyi dengan beb"r:po .*it rupl. Jika gagal (kesarahan tidak turwr dalam epoch yang besar),

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

""r'"rff*illTffi;o"t"rion

6000 4000 2000

il::ffi#m
.

dengan uLir teriembunp ut*- rrurf,"" ,i"rr"rnirrr, hyar

*oku'iarir.,g;"arpJ;;;

c g
(L
O

10000

sooo
OUUU

nnnn

4000 2000

,ili
lr

,l'

Contoh 7.3
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

Bulan

c o

3333434

--=

Gambar 7.5

ffi"mtion

p;;;;g

Tabel7.10 Penjualan tiap bulan

2o4s r6e6 r34r t rct- tit-iza2


6L61 70437 9590 52gI 3081
17

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

6i 1466 loeo

rozo

-llss-s:za

2147

Jika

adalah data minimum dan b adalah data maksimum, transformasi linier yang dipakai untr-rk mentransformasikan data ke interval [0.1,0.91 adalah

7167 13780 70629 7725 3284

2400

-r-

0.8(x-a)'-f

b-a

'

{}

/
129
rr""r K I'R()PAGATION

193

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 I'ol;r

n^.tp-pagatron

DataMasukan

(xr,

-.,

xtz)

Target 0.1439
0.1-249

Tabei 7.11

l' ol.r
It
I

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

Tahun

penjualan tiap bulan

rl.t-2

2003 2004

0.1674 0.73g4 0.4204 0.6896 0.6363 0.3657 o'.rzaa o.1678 0.4838 0.9
0 -1439 0 .1249

0.1394 0.LL71 0.1070 0.L342 0.6896 0.6353 0.36s7 0.2266

0 ' 1738 0 '4204 0 ' 1678 0 'L439

tl
I

olit-3

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 . l-070

0.1013 0.1
0.L1-79

0.7077 0.5189 o'.zzg+ 0.1837

I' olir-4 I' ola-5

0.L342 0.1738 0.4204 0.6896 0.6363 0.3657 0.2266 0 . 1678 0.1439 0.L249 0.1013 0.1342 0.1_738 u . zzoo 0.1678
0 .4204 0 . 1439

epochnva seperri vang tampak dalarri


I

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


rz f

Pola yang dipakai mempakan dutu

*Uffi

::[];ffi
i

bisadicobJ-cobo-''iai;;;*sebuahruyu.i".ru*rr""yi

ffi*i"}T

ilfi

sebuah

0.6896 0.6363 0.36s7 0.L249 0.1013 0.1

Itrla-6
l'ola-7

, -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.4204 0.6896 0.6363 0.36s7 0.2266 0.1678 0.rr79 0.3678 0.1439 0.L249 0. r-013 0. r0.6896 0.6363 u. Jo) 0.1249 0. r_013 0.1
I
I

.3678 .4838

P"1"
Pola-9 Poia-10 Pola-11

0.2266 0.l-678
0 .1-L'79 0

.1-439

0.9
0
'7

.3678

.4838

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
|
I
I

0I1

0.36s7

u . zzoo

l0.llu . zzoo
I

iPola-12

0.tr]9 0.1_678

0.1678 0.1439 0.L249 0;.1013 0 .7017 0.3678 0 .4838 0 .9


0 . l-439

s1B9

| 0.1179 0.3678 0.4838


I

0.L249 0.101-3 0.10.'70L1 0.51-89 0.9

n%

t.-l+

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

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

ItA[K PROPAGATION

'195

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.

v
21

0.7 -0.2 0.4

Zz 1

rr.

Lanjutkansoal#4 diatasuntukpola kedua (xr = 1, xz = 0, t= 0)

spesifik terjadi pada dara pelatihan, Jan bukan

g;;;;li""ri

sifat

(r.

Ulangisoal #5, tapimenggunakanmomentumdengan H =0.2

t;
tl ll,t
,

.'lir i,i
,

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

i,

2'
3.

:ll]_Tt harus merupakan fungsi yurlg tirr._annya mudah dlhi-tLrrg

Mengapa tungsi

yang dipakai dalam backpropagation


Z

Bytlahlterasi poia kedua (xr 1, x2 = = 0, t = 1) frurgsi logika XOR sebagai kelanjutan contoh 2.1
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
X1

4'

22

-0.4
0.1

0.3 -0.2
0.3

X2

-0.1