back propagation

15
Bab 7 BACK PROPAGATION 7.1 Standar Backpropagation Kelemahan IST yang terdiri dari layar tr*ggul membuat perkembangan JST menjadi terhenti pada sekitar tahun 1970 an. Penemuan backpropagation yang terdiri dari beberapa layar rnembuka kembali cakarawala. Terlebih setelah berhasil ditemukannya berbagai aplikasi yang dapat diselesaikan ctengan I iackpropagation, mernbuat JST semakin diminati orang. fST dengan layar tunggal memiliki keterbatasan dalam pengenalan 1xrla. Kelemahan ini bisa ditanggulangi dengan menambahkan s,rltr/beberapa layar tersembunyi diantara layar masukan dan kt'luaran. Meskipun penggunaan lebih dari satu layar tersembunyi rrrt'miliki kelebihan manfaat untuk beberapa kasus, tapi pelatihannya rru'rnerlukan wakfu yang lama. Maka umumnya "orang mulai rrrt'rrcoba dengan sebuah layar tersernbunyi lebih dahulu. li'pg;1i hahrya model JST larn, Backpropagation melatih jaringan rrnltrk mendapatkan keseimbangan antara kemampuan jaringan rrrrlrrk mengenali pola yang digunakan selama pelatihan serta k.rrranrpuan jaringan untr"rk memberikan respon yang benar terhadap ;,ol,r rnasukan yang serupa (tapi tidak sama) dengan pola yang dipakai r,r'l,r tn.r trclatihan.

Upload: suhendri-saputra

Post on 25-Oct-2015

50 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Back Propagation

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.

Page 2: Back Propagation

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

Page 3: Back Propagation

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.

Page 4: Back Propagation

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

Page 5: Back Propagation

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

Page 6: Back Propagation

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

Page 7: Back Propagation

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

Page 8: Back Propagation

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

Page 9: Back Propagation

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

Page 10: Back Propagation

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

Page 11: Back Propagation

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

Page 12: Back Propagation

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

Page 13: Back Propagation

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

Page 14: Back Propagation

/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

Page 15: Back Propagation

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