Penggunaan Faktor Momentum Pembelajaran Jaringan Sembang Acylic Algoritma Backpropagation

setelah mengatur kembali bentuk persamaan di atas dan menggunakan δ j untuk menotasikan − = ∂E d , didapatkan ∂net j δ j = o j 1 − o j δ k w kj k ∈Downstream j 3.12 dan ∆w ji = ηδ j x ji 3.13

3.3. Penggunaan Faktor Momentum

Banyak variasi yang dapat dikembangkan dari penggunaan algoritma backpropagation, salah satunya adalah mengubah aturan perubahan bobot pada algoritma backpropagation persamaan 3.13, yaitu membuat perubahan bobot pada n iterasi yang secara parsial bergantung pada update yang terjadi selama n-1 iterasi, dengan persamaan: ∆w ji n = ηδ j x ji + α∆w ji n − 1 3.14 ∆w ji n adalah weight-update yang dilakukan selama n iterasi dan ≤ α 1 merupakan konstanta yang disebut momentum. Dengan menambah variabel α ke dalam rumus perubahan bobot mengakibatkan konvergensi akan lebih cepat untuk mendekati itersasi yang dilakukan sesuai tahapan sampai bobot mencapai solusinya. 26

3.4. Pembelajaran Jaringan Sembang Acylic

Pada algoritma backpropagation yang telah dijelaskan dengan menggunakan dua lapisan unit tersembunyi pada jaringan. Namun, jika algoritma backpropagation menggunakan lebih dari dua lapisan unit tersembunyi pada jaringan maka aturan perubahan bobot Persamaan 3.13. tetap digunakan, dan hanya mengubah cara perhitungan nilai δ . Secara umum, nilai δ r untuk r unit pada m lapisanr dihitung dari nilai δ pada lapisanr m+1. δ r = o r 1 − o r w sr δ s s ∈layer m+1 3.15 Pembelajaran tersebut sama-sama mengeneralisasi algoritma untuk graph langsung acyclic, tanpa memperhatikan apakah unit jaringan yang ditetapkan ada pada lapisan uniform. Aturan untuk menghitung δ untuk unit internal adalah δ r = o r 1 − o r w sr δ s s ∈downstream r 3.16 dimana Downstreamr adalah himpunan dari unit-unit yang turun dari unit r pada jaringan, yaitu semua unit yang input-inputnya termasuk dalam output dari unit r.

3.3 Algoritma Backpropagation

Algoritma backpropagation mempelajari bobot untuk jaringan saraf buatan lapisan banyak dengan himpunan dari unit-unitnya dan saling berhubungan. Algoritma ini menggunakan gradient descent untuk mencoba 27 2 meminimalisasi kuadrat error antara nilai input dan nilai target pada jaringan. Terdapat banyak cara untuk mendefinisikan nilai error dari model vektor bobot. Berbeda dengan persamaan 3.0 definisikan kembali E sebagai penjumlahan error dari semua unit keluaran jaringan. Proses ini merupakan salah satu ukuran yang dapat menurukan nilai error dengan tepat adalah r 1 2 E w ≡ t kd − o kd d ∈D k∈outputs 3.17 D adalah himpunan dari contoh data percobaan, outputnya adalah himpunan dari unit output pada jaringan, t kd dan o k d masing-masing adalah nilai target dan nilai output dengan unit output k dan contoh percobaan d. Permasalahan yang digambarkan oleh algoritma backpropagation adalah untuk mencari ruang hipotesis yang besar dan didefinisikan oleh semua nilai bobot yang mungkin untuk setiap unit pada jaringan. Salah satu perbedaan pokok pada kasus jaringan saraf buatan lapisan banyak yaitu permukaan error dapat memiliki perkalian minimum lokal. Hal ini berarti turunan gradient dapat menjamin kekonvergenan untuk beberapa minimum lokal, dan bukan error minimum global. Walaupun tidak dijaminnya konvergen ke arah global minimum, Algoritma backpropagation merupakan fungsi yang efektif dalam metode pembelajaran [11]. Fungsi error pada gradient descent dapat diilustrasikan sebagai permukaan error dengan n-dimensi, ketika kemiringan gradient 28 descent menurun dalam lokal minimum sehingga akan berpengaruh dalam perubahan bobot. Perbedaan performa ruang hipotesis antara algoritma backpropagation jaringan saraf buatan lapisan banyak dengan performa pembelajaran algoritma pada metode yang lain, yaitu algoritma backpropagation memiliki ruang hipotesis pada n-dimensi dari n-bobot jaringan. Dengan catatan ruang hipotesis memiliki fungsi yang kontinu. Sedangkan hipotesis pada pembelajaran algoritma yang lain seperti pembelajaran decision tree dan metode yang lain memiliki proses pencarian hipotesis yang berbeda-beda. Untuk jelasnya pembelajaran tentang decision tree menggunakan algoritma ID3 dapat ditemukan di [6]. Seperti penjelasan sebelumnya, Algoritma backpropagation diimplementasikan dengan mencari kemiringan gradient descent pada bobot jaringan, nilai error E yang diperoleh akan mengurangi iterasi yang berada diantara nilai target pada contoh percobaan dan hasil output. Karena permukaan jaringan saraf buatan lapisan banyak menggambarkan permukaan yang tidak linear pada lokal minima, Sehingga kemiringan gradient descent terdapat pada permukaan error. Hasil algoritma backpropagation akan menunjukan ke arah konvergen terhadap lokal minimum dalam mencari nilai error dan tidak membutuhkan nilai error ke arah global minimum. Nilai error minimum dapat dicari pada saat jaringan saraf buatan lapisan banyak menginisialisasikan dan dibangkitkan secara random atau 29 acak untuk mentukan bobot koneksi antar unit dari suatu lapisan dengan lapisan sesudahnya, jadi antar unit-unit di lapisan tersembunyi saling terkoneksi satu sama lain dengan unit-unit di lapisan tersembunyi, dan antar unit-unit di tersembunyi lapisan akan saling terkoneksi satu sama lain dengan unit-unit pada lapisan output. Nilai bobot inilah yang akan menentukan proses pembelajaran kecerdasan buatan. Pada saat proses training, nilai bobot tersebut akan terus berubah sehingga didapatkan kesesuaian antara input dengan output dengan error minimum. Dengan kata lain, Pada proses training akan menentukan nilai minimum error yang bisa di tolerir oleh jaringan saraf buatan lapisan banyak seperti yang disampaikan diatas bahwa algoritma backpropagation tidak akan memberikan kepastian jawaban untuk suatu kasus yang tidak pernah dilatihkan, pasti ada nilai error dari jawaban sistem pembelajaran dengan jawaban yang seharusnya, nilai error tersebut yang harus di definisikan sebelum melatih proses pembelajaran sehingga sistem tersebut bisa menjawab dengan tingkat kebenaran semaksimal mungkin misal: tingkat kebenaran sistem 99,9999 dengan nilai Error 0.0001. Algoritma backpropagation merupakan proses pembelajaran yang mampu menjelaskan beberapa fungsi yang terdapat dalam data. Fungsi- fungsi data tersebut dapat digambarkan secara keseluruhan dengan beberapa unit yang digunakan pada lapisannya dan beberapa lapisan yang digunakan dalam jaringan. Fungsi-fungsi ini dapat dibagi menjadi tiga yaitu fungsi boolean, fungsi bernilai kontinu dan fungsi sembarang. Fungsi boolean 30 adalah fungsi yang rangenya hanya memiliki Z elemen, fungsi ini dapat digambarkan dengan model struktur jaringan dengan baik menggunakan jaringan terdiri dari dua lapisan. Sedangkan fungsi kontinu merupakan fungsi yang rangenya berupa interval, fungsi ini juga dapat digambarkan dengan struktur jaringan saraf buatan dengan baik menggunakan jaringan terdiri dari dua lapisan. Terakhir fungsi sembarang adalah sebuah fungsi yang berbeda dari kedua fungsi sebelumnya. fungsi ini dapat menggambarkan model struktur jaringan cukup baik dengan menggunakan tiga lapisan pada unit. Induktif bias merupakan suatu cara yang digunakan algoritma backpropagation dalam menginferensi populasi dari data percobaan. Sample data di proses dalam proses pembelajaran, kemudian performa model dari sample data tersebut diuji kembali ke populasi data percobaan. Hal ini secara praktis biasanya dapat dilakukan dengan membagi dua data menjadi data training dan data test. Tujuan pembelajaran induktif bias untuk mendapatkan performa dari sample data dengan nilai error yang relatif kecil dan dapat dibandingkan dengan performa yang dihasilkan pada data populasi. Algoritma backpropagation menggunakan jaringan lapisanr feedforward yang terdiri dari dua unit lapisan sigmoid dengan lapisan yang dihubungkan ke semua unit dari lapisan yang terdahulu. Notasi yang digunakan pada algoritma ini adalah : 31 a Sebuah index menententukan setiap titik dari jaringan, dimana sebuah ”titik” merupakan salah satu input atau output dari beberapa unit pada jaringan. b x ij menotasikan input dari titik i ke unit j, dan w ij menotasikan hubungan bobot. c δ n menotasikan error dengan unit n. Algoritma Backpropagation BACKPROPAGATION Contoh percobaan, η , n in , n out , n hidden r r r Setiap contoh percobaan merupakan pasangan dari bentuk x , t , dimana x r adalah vektor dari nilai unit input, dan t jaringan target. adalah vektor dari nilai output η adalah learning rate 0,05, n in adalah bilangan dari input jaringan, n tersembunyi adalah bilangan dari unit pada lapisanr tersembunyi, dan n out adalah bilangan dari unit output. input dari unit i sampai j dinotasikan dengan x ji , dan bobot dari i sampai j dinotasikan dengan w ji. 1. Buat jaringan feedforward dengan input n in , unit tersembunyi n hiiden , dan unit output n out . 2. Inisialkan semua bobot awal jaringan ke bilangan acak yang kecil antara -0,05 sampai 0,05. 3. Hitung output onet dari setiap unit k pada jaringan. n o net = w ji x i i =0 + θ j 3.1 4. Hitung fungsi sigmoid σ dari setiap unit k pada jaringan. σ = 1 1 + e −o net 3.2 32 5. Hitung output pada lapisan keluaran o k . n o k = σ i =0 w ji . x i + θ j 3.3 6. Hitung nilai error pada lapisan output o k , dengan bentuk error δ k . δ k ← o k 1 − o k t k − o k 3.9 7. Hitung nilai error pada lapisan tersembunyi h, dengan bentuk error δ h . δ h ← o k 1 − o k w kh δ k 3.12 δ r = o r 1 − o r w sr δ s Untuk jaringan uniform m-lapisan 3.15 s ∈layer m+1 δ r = o r 1 − o r w sr δ s s ∈downstream r Untuk jaringan sembarang n-iterasi 3.16 8. Hitung perubahan setiap bobot jaringan ∆ w ji . ∆w ji = ηδ j x ji j = k , h 3.13 ∆w ji n = ηδ j x ji + α∆w ji n − 1 9. Hitung perubahan bobot jaringan baru. w ji ← w ji + ∆w ji Untuk n-iterasi 3.14 2.8 Algoritma backpropagation akan lebih dipahami dengan melakukan proses perhitungan pada data sederhana dibawah ini. Tabel 3.1. Fungsi XOR Variabel Prediktor Variabel Target x 1 x 2 t 1 1 1 1 1 1 Langkah 1. Membuat Jaringan feedforward dengan unit input n in yaitu x 1 dan x 2 , terdapat 2 lapisan unit tersembunyi n hii den yaitu z 1 , z 2 , z 3 , z 4 dan unit output n out . 33 Y w 50 w 31 w 32 1 z 3 z 4 w 30 1 w 40 z 1 w 21 w 22 w 23 w 24 z 2 w 10 1 w 20 w 11 w 12 x 1 w 13 w 14 x 2 Gambar 3.2. Jaringan feedforward dengan dua lapisan unit tersembunyi Langkah 2. Setelah membuat jaringan feedforward kemudian inisialkan semua bobot jaringan ke bilangan acak yang kecil antara -0,05 sampai 0,05 dan bobot awal ditentukan secara random - Misal bobot awal unit input ke unit tersembunyi w 11 = 0,05 w 13 = 0,03 w 12 = -0,05 w 14 = -0,02 - dan bobot awal unit tersembunyi lapis 1 ke unit tersembunyi lapis 2 w 21 = 0,03 w 23 = 0,04 w 22 = -0,01 w 24 = 0,05. 34 1 2 3 4 - Lebih lanjut lagi bobot awal unit tersembunyi ke unit output w 31 = -0,04 w 32 = 0,05, - Bobot awal bias ke unit tersembunyi lapis 1 w 10 = -0,03 w 20 = 0,04, - Bobot awal bias ke unit tersembunyi lapis 2 w 30 = 0,02 w 40 =0,01 - Serta terakhir bobot awal bias ke unit output adalah w 50 =0,03 Langkah 3. Hitung output onet dari setiap unit k pada unit tersembunyi : n rumus : onet = w ji x i i =0 + θ j o 1 net = 0,051 + 0,031 + -0,03 = 0,05 o 2 net = -0,051 + -0,021 + 0,04 = -0,03 o 3 net = 0,031 + 0,041 + 0,02 = 0,09 o 4 net = -0,011 + 0,051 + 0,01 = 0,05 Langkah 4. Hitung fungsi sigmoid σ dari setiap unit k pada jaringan : σ = 1 1 + e − o net σ net = 1 = 0,51 1 + e − 0 , 05 σ net = 1 = 0,49 1 + e 0 , 03 σ net = 1 = 0,52 1 + e − 0 , 09 σ net = 1 = 0,51 1 + e − 0 , 05 35 = Langkah 5. Hitung output onet dari setiap unit k pada lapisan keluaran output o k : n o k = w ji x i i =0 + θ j = 0,52-0,04+0,510,05+0,03 = 0,0347 1 1 o = = 0,5 k 1 + e − o k 1 + e − 0 , 0347 Langkah 6. Setelah mendapatkan nilai output pada langkah 5, kemudian hitung error berdasarkan kesalahan untuk setiap unit output jaringan k, hitung bentuk error δ k δ k ← o k 1 − o k t k − o k = 0,5 1-0,5 0-0,5 = -0,125 δ k merupakan error yang dipakai dalam perubahan bobot lapisan dibawahnya. o k merupakan nilai output pada jaringan keluaran dan t k adalah target keluaran. Langkah 7. Kemudian cari penjumlahan error berdasarkan error untuk setiap unit tersembunyi h , hitung bentuk error δ h δ h ← o k 1 − o k w kh δ k k ∈outputs Pertama cari penjumlahan delta rule dari unit tersembunyi, dimana dari hasil delta rule pada unit keluaran δ k = -0,125 δ k = w kh δ k k ∈output δ 1 = -0,125 0,05 = -0,006 δ 2 = -0,125 -0,04 = 0,005 δ 3 = -0,125 0,04 + -0,1250,05 = 0,011 δ 4 = -0,125 0,03 + -0,125-0,01 = -0,002 δ h ← o k 1 − o k w kh δ k k ∈outputs δ 1 = -0,006 0,51 1-0,51 = 0,001 36 δ 2 = 0,005 0,52 1-0,52 = -0,001 δ 3 = 0,011 0,49 1-0,49 = 0,002 δ 4 = -0,002 0,51 1-0,51 = -0,0004 Langkah 8. Hitung perubahan setiap bobot jaringan ∆ w ji ∆w ji = ηδ j x ji Suku perubahan bobot keluaran ∆w ji = -0,125 hasil langkah 4. dengan learning rate η = 0,05 , delta rule δ k ∆w ji = ηδ j x ji j=0,1,2,3,... ∆w 50 = 0,05 -0,125 1 = -0,00625 ∆w 31 =0,05 -0,125 0,52 = -0,00325 ∆w 32 =0,05 -0,1250,51 = -0,00318 Suku perubahan bobot ke unit tersembunyi ∆w ji delta rule hasil delta rule langkah 5. dengan learning rate η = 0,05 , ∆w ji = ηδ j x ji j=0,1,2,3,.. Unit tersembunyi lapis 1 ∆w 10 = 0,05 0,001 1 = 0,00005 ∆w 20 = 0,05 -0,001 1 = -0,00005 ∆w 11 = 0,05 0,001 1 = 0,00005 ∆w 12 = 0,05 -0,001 1 = -0,00005 ∆w 13 = 0,05 0,001 1 = 0,00005 ∆w 14 = 0,05 -0,001 1 = -0,00005 Unit tersembunyi lapis 2 ∆w 30 =0,05 -0,0004 1 = -0,00002 ∆w 40 =0,05 0,002 1 =0,0001 ∆w 21 =0,05 -0,0004 1 = -0,00002 37 ∆w 22 =0,05 0,002 1 = 0,0001 ∆w 23 =0,05 -0,0004 1 = -0,00002 ∆w 24 =0,05 0,002 1 = 0,0001 Langkah 9. Hitung perubahan bobot jaringan baru. w ji ← w ji + ∆w ji Perubahan bobot unit keluaran : ∆w 50 = 0,03 + -0,006= 0,024 ∆w 31 = -0,04 + -0,003= -0,043 ∆w 32 = 0,05 + -0,003= 0,047 Perubahan bobot unit tersembunyi layar 1 ∆w 10 = -0,03 + 0,00005 = -0,03 ∆w 20 = 0,04 - 0,00005 = 0,04 ∆w 11 = 0,05 + 0,00005 = 0,05 ∆w 12 = -0,05 - 0,00005 = -0,05 ∆w 13 = 0,03 + 0,00005 = 0,03 ∆w 14 = -0,02 - 0,00005 = -0,02 Perubahan bobot unit tersembunyi layar 2 ∆w 30 = 0,02 – 0,00002 = 0,02 ∆w 40 = 0,01 + 0,0001 = 0,01 ∆w 21 = 0,03 – 0,00002 =0,03 ∆w 22 = -0,01 +0,0001 = -0,01 ∆w 23 = 0,04 – 0,00002 = 0,04 ∆w 24 = 0,05 + 0,0001 = 0,05 lakukan iterasi sampai variabel prediktor menghasilkan unit output. 38 Algoritma backpropagation dimulai dari pembentukan sebuah jaringan dengan unit tersembunyi dan unit output serta menginisialisasi semua bobot jaringan ke nilai random yang kecil. Untuk setiap contoh percobaan menggunakan suatu jaringan untuk menghitung nilai error dari output jaringan, menghitung gradient descent dan kemudian mengupdate semua bobot pada jaringan. Proses ini dilakukan sampai menghasilkan klasifikasi dengan model yang tepat.

3.6. Analisis Multiklasifikasi