SlideShare a Scribd company logo
BACK PROPAGATION
Arsitektur Jaringan
• Salah satu metode pelatihan terawasi pada
jaringan syaraf adalah metode Backpropagation,
di mana ciri dari metode ini adalah
meminimalkan error pada output yang
dihasilkan oleh jaringan.
• Dalam metode Backpropagation, biasanya
digunakan jaringan multilayer.
• Sebagai contoh pada gambar berikut diberikan
jaringan dengan sebuah hidden layer.
Arsitektur Jaringan
Arsitektur Jaringan
• Pada gambar, unit input dilambangkan dengan X, hidden unit
dilambangkan dengan Z, dan unit output dilambangkan
dengan Y.
• Bobot antara X dan Z dilambangkan dengan v sedangkan
bobot antara Z dan Y dilambangkan dengan w.
Algoritma Metode Backpropagation
• Pada intinya, pelatihan dengan metode backpropagation
terdiri dari tiga langkah, yaitu:
• Data dimasukkan ke input jaringan (feedforward)
• Perhitungan dan propagasi balik dari error yang bersangkutan
• Pembaharuan (adjustment) bobot dan bias.
Algoritma Metode Backpropagation
• Saat umpan maju (feedforward), setiap unit
input (Xi) akan menerima sinyal input dan akan
menyebarkan sinyal tersebut pada tiap hidden
unit (Zj).
• Setiap hidden unit kemudian akan menghitung
aktivasinya dan mengirim sinyal (zj) ke tiap unit
output.
• Kemudian setiap unit output (Yk) juga akan
menghitung aktivasinya (yk) untuk menghasilkan
respons terhadap input yang diberikan jaringan.
Algoritma Metode Backpropagation
• Saat proses pelatihan (training), setiap unit output
membandingkan aktivasinya (yk) dengan nilai target (tk)
untuk menentukan besarnya error.
• Berdasarkan error ini, dihitung faktor k, di mana
faktor ini digunakan untuk mendistribusikan error dari
output kembali ke layer sebelumnya.
• Dengan cara yang sama, faktor j juga dihitung pada
hidden unit Zj, di mana faktor ini digunakan untuk
memperbaharui bobot antara hidden layer dan input
layer.
• Setelah semua faktor  ditentukan, bobot untuk semua
layer diperbaharui.
Algoritma Metode Backpropagation secara
detail
• Step 0 : Inisialisasi bobot dan bias
• Baik bobot maupun bias dapat diset dengan sembarang angka
(acak) dan biasanya angka di sekitar 0 dan 1 atau -1 (bias positif
atau negatif)
• Step 1 :Jika stopping condition masih belum terpenuhi,
jalankan step 2-9.
• Step 2 :Untuk setiap data training, lakukan step 3-8.
Algoritma Metode Backpropagation secara
detail
Umpan maju (feedforward)
• Step 3 : Setiap unit input (Xi,i=1,…,n) menerima sinyal input xi dan
menyebarkan sinyal tersebut pada seluruh unit pada hidden layer.
Perlu diketahui bahwa input xi yang dipakai di sini adalah input
training data yang sudah diskalakan.
• Step 4 : Setiap hidden unit (Zj,j=1,…,p) akan menjumlahkan sinyal-
sinyal input yang sudah berbobot, termasuk biasnya
Algoritma Metode Backpropagation secara
detail
dan memakai fungsi aktivasi yang telah
ditentukan untuk menghitung sinyal output dari
hidden unit yang bersangkutan,
lalu mengirim sinyal output ini ke seluruh unit
pada unit output
Algoritma Metode Backpropagation secara
detail
• Step 5 : Setiap unit output (Yk,k=1,…,m) akan menjumlahkan
sinyal-sinyal input yang sudah berbobot, termasuk biasnya,
Algoritma Metode Backpropagation secara
detail
dan memakai fungsi aktivasi yang telah ditentukan untuk
menghitung sinyal output dari unit output yang bersangkutan:
Algoritma Metode Backpropagation secara
detail
Propagasi error (backpropagation of error)
• Step 6: Setiap unit output (Yk,k=1,…,m) menerima
suatu target pattern (desired output) yang sesuai
dengan input training pattern untuk menghitung
kesalahan (error) antara target dengan output yang
dihasilkan jaringan:
Algoritma Metode Backpropagation secara
detail
• Faktor k ini digunakan untuk menghitung
koreksi error (wjk) yang nantinya akan dipakai
untuk memperbaharui wjk, di mana:
wjk=kzj
• Selain itu juga dihitung koreksi bias w0k yang
nantinya akan dipakai untuk memperbaharui w0k,
di mana:
w0k=k
• Faktor k ini kemudian dikirimkan ke layer yang
berada pada step 7.
Algoritma Metode Backpropagation secara
detail
• Step 7 : Setiap hidden unit (Zj,j=1,…,p) menjumlah input delta
(yang dikirim dari layer step 6) yang sudah berbobot.
Algoritma Metode Backpropagation secara
detail
• Faktor j ini digunakan untuk menghitung
koreksi error (vij) yang nantinya akan dipakai
untuk memperbaharui vij, di mana:
vij=jxi
• Selain itu juga dihitung koreksi bias v0j yang
nantinya akan dipakai untuk memperbaharui v0j,
di mana:
v0j=j
Algoritma Metode Backpropagation secara
detail
• Kemudian hasilnya dikalikan dengan turunan dari fungsi
aktivasi yang digunakan jaringan untuk menghasilkan faktor
koreksi error j, di mana:
j= _inj f’(z_inj)
Algoritma Metode Backpropagation secara
detail
Pembaharuan bobot dan bias:
• Step 8:
• Setiap unit output (Yk,k=1,…,m) akan memperbaharui
bias dan bobotnya dari setiap hidden unit.
wjk(baru)=wjk(lama) + wjk
• Demikian pula untuk setiap hidden unit akan
memperbaharui bias dan bobotnya dari setiap unit
input.
vij(baru)=vij(lama) + vij
Algoritma Metode Backpropagation secara
detail
• Step 9 : Memeriksa stopping condition
• Jika stop condition telah terpenuhi, maka pelatihan jaringan
dapat dihentikan.
Algoritma Metode Backpropagation secara
detail
• Untuk menentukan stopping condition terdapat
dua cara yang biasa dipakai, yaitu:
• Membatasi iterasi yang ingin dilakukan.
• Misalnya jaringan akan dilatih sampai iterasi yang ke-500.
• Yang dimaksud dengan satu iterasi adalah perulangan step 3
sampai step 8 untuk semua training data yang ada.
• Membatasi error.
• Misalnya menentukan besar Mean Square Error antara output
yang dikehendaki dan output yang dihasilkan oleh jaringan.
Algoritma Metode Backpropagation secara
detail
• Jika terdapat sebanyak m training data, maka untuk
menghitung Mean Square Error digunakan persamaan berikut:
• MSE=0,5x{(tk1-yk1)2
+ (tk2-yk2)2
+…+ (tkm-ykm)2
}
Algoritma Metode Backpropagation secara
detail
• Setelah pelatihan selesai, jika kemudian jaringan
diberi input, jaringan akan menghasilkan output
seperti yang diharapkan.
• Cara mendapatkan output adalah dengan
mengimplementasikan metode backpropagation,
tetapi hanya pada bagian umpan majunya saja,
yaitu dengan langkah-langkah sebagai berikut:
Algoritma Metode Backpropagation secara
detail
• Step 0: Inisialisasi bobot sesuai dengan bobot
yang telah dihasilkan pada proses pelatihan di
atas.
• Step 1: Untuk setiap input, lakukan step 2-4.
• Step 2: Untuk setiap input i=1,…,n skalakan
bilangan dalam range fungsi aktivasi seperti yang
dilakukan pada proses pelatihan di atas.
Algoritma Metode Backpropagation secara
detail
• Step 3: untuk j=1,…,p:
Algoritma Metode Backpropagation secara
detail
• Step 4 : Untuk k=1,…,m:
Algoritma Metode Backpropagation secara
detail
• Variabel yk adalah output yang masih dalam skala menurut
range fungsi aktivasi.
• Untuk mendapatkan nilai output yang sesungguhnya, yk harus
dikembalikan seperti semula.
Contoh aplikasi
• Berikut ini adalah contoh cara pelatihan jaringan
syaraf tiruan sederhana menggunakan metode
Backpropagation.
• Misalkan, jaringan terdiri dari 2 unit input, 1 hidden
unit (dengan 1 hidden layer), dan 1 unit output.
• Jaringan akan dilatih untuk memecahkan fungsi XOR.
• Fungsi aktivasi yang digunakan adalah sigmoid biner
dan learning rate () = 0,01.
• Arsitektur jaringan yang akan dilatih adalah sebagai berikut:
• Training data yang digunakan terdiri dari 4 pasang input-
output, yaitu:
• Sebelum pelatihan, harus ditentukan terlebih dahulu stopping
conditionnya.
• Misalnya dihentikan jika error telah mencapai 0,41.
Langkah-langkah pelatihan
• Step 0: Misalnya inisialisasi bobot dan bias adalah:
v01=1,718946
v11=-1,263178
v21=-1,083092
w01=-0,541180
w11=0,543960
• Step 1: Dengan bobot di atas, tentukan error untuk
training data secara keseluruhan dengan Mean Square
Error:
• z_in11=1,718946+{(0 x -1,263178)+(0x-1,083092)}=1,718946
• z11=f(z_in11)=0,847993
• z_in12=1,718946+{(0x-1,263178)+(1x-1,083092)}=0,635854
• z12=f(z_in12)=0,653816
• z_in13=1,718946+{(1x-1,263178)+(0x-1,083092)}=0,455768
• z13=f(z_in13)=0,612009
• z_in14=1,718946+{(1x-1,263178)+(1x-1,083092)=-0,627324
• z14=f(z_in14)=0,348118
• di mana indeks zjn berarti hidden unit ke-j dan training data
ke-n.
• y_in11=-0,541180+(0,847993x0,543960)=0,079906
• y11=f(y_in11)=0,480034
• y_in12=-0,541180+(0,653816x0,543960)=-0,185530
• y12=f(y_in12)=0,453750
• y_in13=-0,541180+(0,612009x0,543960)=0,208271
• y13=f(y_in13)=0,448119
• y_in14=-0,541180+(0,348118x0,543960)=-0,351818
• y14=f(y_in14)=0,412941
• Maka E=0,5x{(0-0,480034)2
+ (1-0,453750)2
) + (1-
0,448119)2
+ (0-0,412941)2
}=0,501957
• Step2. Karena error masih lebih besar dari 0,41 maka
step 3-8 dijalankan.
• Step 3. x1=0; x2=0 (iterasi pertama, training data
pertama)
• Step 4.
• z_in1=1,718946+{(0x-1,263126)+(0x-1,083049)}=1,718946.
• z1=f(z_in1)=0,847993
• Step 5.
• y_in11=-0,541180+(0,847993x0,543960)=0,079906
• y11=f(y_in11)=0,480034
• Step 6.
• 1=(0-0,480034)f ’(0,079906)=-0,119817
• w11=0,01x-0,119817x0,847993=-0,001016
• w01=0,01x-0,119817=-0,00119817
• Step 7.
• _in1=-0,00119817x0,543960=-0,00065176
• 1=-0,00065176xf’(1,718946)=-0,00008401
• v11=0,01x-0,00008401x0=0
• v21=0,01x-0,00008401x0=0
• v01=0,01x-0,00008401=-0,0000008401
• Step 8.
• w01(baru)=-0,541180+(-0,00119817)=-0,542378
• w11(baru)=0,543960+(-0,001016)=0,542944
• v01(baru)=1,718946+(-0,0000008401)=1,718862
• v11(baru)=-1,263178+0=-1,263178
• v21(baru)=-1,083092+0=-1,083092
• Saat ini v11 dan v12 masih belum berubah karena kedua
inputnya =0. Nilai v01 dan v02 baru berubah pada iterasi
pertama untuk training data yang kedua
• Setelah step 3-8 untuk training data pertama dijalankan,
selanjutnya kembali lagi ke step 3 untuk training data yang kedua
(x1=0 dan x2=1).
• Langkah yang sama dilakukan sampai pada training data yang
keempat.
• Bobot yang dihasilkan pada iterasi pertama, training data ke-2,3,
dan 4 adalah:
• Training data ke-2:
• w01=-0,541023
• w11=0,543830
• v01=1,718862
• v11=-1,263178
• v21=-1,083092
• Training data ke-3:
• w01=-0,539659
• w11=0,544665
• v01=1,719205
• v11=-1,263002
• v21=-1,082925
• Training data ke-4:
• w01=-0,540661
• w11=0,544316
• v01=1,719081
• v11=-1,263126
• v21=-1,083049
• Setelah sampai pada training data ke-4, maka iterasi
pertama selesai.
• Berikutnya, pelatihan sampai pada step9, yaitu
memeriksa stopping condition dan kembali pada step 2.
• Demikian seterusnya sampai stopping condition yang
ditentukan terpenuhi.
• Setelah pelatihan selesai, bobot yang didapatkan adalah:
• v01=12,719601
• v11=-6,779127
• v21=-6,779127
• w01=-5,018457
• w11=5,719889
• Jika ada input baru, misalnya x1=0,2 dan x2=0,9 maka outputnya
dapat dicari dengan langkah umpan maju sebagai berikut:
• Step 0. Bobot yang dipakai adalah bobot hasil pelatihan di atas.
• Step 1. Perhitungan dilakukan pada step 2-4
• Step 2. Dalam contoh ini, bilangan telah berada dalam interval 0
sampai dengan 1, jadi tidak perlu diskalakan lagi.
• Step 3.
• z_in1=12,719601+{(0,2x-6,779127)+(0,9x-6,779127)}=5,262561
• z1=f(5,262561)=0,994845
• Step 4.
• y_in1=-5,018457+(0,994845x5,719889)=0,671944
• y1=f(0,671944)=0,661938
• Jadi jika input x1=0,2 dan x2=0,9; output yang dihasilkan jaringan
adalah 0,661938

More Related Content

Similar to Back Propagation dan implementasinya dalam bahasa python (7)

PPTX
KECERDASAN__BUATAN_KELOMPOK_4.pptx
MuhSiddikDaming
 
PDF
Metode Komputasi "Adaptive Network"
Bilyan Ustazila
 
PDF
Jst part5
Rendy Ardiwinata
 
DOC
Aplikasi jaringan syaraf tiruan dengan program matlab (bp, ga, dan som)
Siti Julaiha
 
PPTX
JST_Backpropagation_Nanang_Fahrurozi-1.pptx
kamajati
 
PPTX
Jaringan syaraf tiruan
LarasWiranti2
 
PPTX
03-Deep_Learning_penjelasan Overview.pptx
chyanphie
 
KECERDASAN__BUATAN_KELOMPOK_4.pptx
MuhSiddikDaming
 
Metode Komputasi "Adaptive Network"
Bilyan Ustazila
 
Jst part5
Rendy Ardiwinata
 
Aplikasi jaringan syaraf tiruan dengan program matlab (bp, ga, dan som)
Siti Julaiha
 
JST_Backpropagation_Nanang_Fahrurozi-1.pptx
kamajati
 
Jaringan syaraf tiruan
LarasWiranti2
 
03-Deep_Learning_penjelasan Overview.pptx
chyanphie
 

Recently uploaded (18)

PPTX
Keamanan_Informasi_SIM sampel aja ini kawan
lestercalanasan09129
 
PDF
Analisis Jaringan Ventilasi Tambang Lanjut.pdf
CavintGirsang
 
PPT
keperluan perundangan peraturan elektrik 1994.ppt
JanSpeckurosaklagis
 
PPTX
PERANCANGAN-DAN-IMPLEMENTASI-WEB-SERVICE-PERGIMMIKAN.pptx
tunggulbayu24
 
DOCX
PRESENTASI+TOT+L3+TO.pdf.docxnnnnnnnnnnnn
winniompusunggu471
 
PPTX
PPT PEKERJAAN REWORK TIP BANYUGLUGUR.pptx
SunartomoIr
 
PDF
Pert. 13_Analisis Jaringan Ventilasi Tambang Lanjut.pdf
CavintGirsang
 
PPTX
Ppt Skripsi tugas akhir Ppt Skripsi tugas akhir
Jonathan471030
 
PPTX
SETTLEMENT PLATE Monitoring Geoteknik Engineer.pptx
SunartomoIr
 
PPTX
Paparan SWOT Bayu nafta untag semarang.pptx
bemftuntagsmgppkorma
 
DOCX
Modul ilmu pengetahuan alam bab 5 kurikulum merdeka
ummimufidah100
 
PPTX
Kipas_Mini_dari_Kardus_P5_BAB1_2_Lengkap.pptx
JovanNathanael3
 
PDF
Analisis Jaringan Ventilasi Tambang Lanjut.pdf
CavintGirsang
 
PPTX
Keamanan_Informasi_SIM_16slides mentahannya
lestercalanasan09129
 
PPTX
estimasi debit puncak dengan menggunakan metode nrcs di das krueng baro
hagialannari
 
PPTX
Rangkaian Flip Flop pada Teknik Digital.pptx
ge240051
 
PDF
25512973-Proposal-Shell-Eco.p hdislkfbsppdndixnxbckococndmrodishwbrkkdianansh...
dvwfd94rsg
 
PPTX
19_9_2022_Materi_Jaringan_Komputer_Dasar_pptx.pptx
AdolJersey
 
Keamanan_Informasi_SIM sampel aja ini kawan
lestercalanasan09129
 
Analisis Jaringan Ventilasi Tambang Lanjut.pdf
CavintGirsang
 
keperluan perundangan peraturan elektrik 1994.ppt
JanSpeckurosaklagis
 
PERANCANGAN-DAN-IMPLEMENTASI-WEB-SERVICE-PERGIMMIKAN.pptx
tunggulbayu24
 
PRESENTASI+TOT+L3+TO.pdf.docxnnnnnnnnnnnn
winniompusunggu471
 
PPT PEKERJAAN REWORK TIP BANYUGLUGUR.pptx
SunartomoIr
 
Pert. 13_Analisis Jaringan Ventilasi Tambang Lanjut.pdf
CavintGirsang
 
Ppt Skripsi tugas akhir Ppt Skripsi tugas akhir
Jonathan471030
 
SETTLEMENT PLATE Monitoring Geoteknik Engineer.pptx
SunartomoIr
 
Paparan SWOT Bayu nafta untag semarang.pptx
bemftuntagsmgppkorma
 
Modul ilmu pengetahuan alam bab 5 kurikulum merdeka
ummimufidah100
 
Kipas_Mini_dari_Kardus_P5_BAB1_2_Lengkap.pptx
JovanNathanael3
 
Analisis Jaringan Ventilasi Tambang Lanjut.pdf
CavintGirsang
 
Keamanan_Informasi_SIM_16slides mentahannya
lestercalanasan09129
 
estimasi debit puncak dengan menggunakan metode nrcs di das krueng baro
hagialannari
 
Rangkaian Flip Flop pada Teknik Digital.pptx
ge240051
 
25512973-Proposal-Shell-Eco.p hdislkfbsppdndixnxbckococndmrodishwbrkkdianansh...
dvwfd94rsg
 
19_9_2022_Materi_Jaringan_Komputer_Dasar_pptx.pptx
AdolJersey
 
Ad

Back Propagation dan implementasinya dalam bahasa python

  • 2. Arsitektur Jaringan • Salah satu metode pelatihan terawasi pada jaringan syaraf adalah metode Backpropagation, di mana ciri dari metode ini adalah meminimalkan error pada output yang dihasilkan oleh jaringan. • Dalam metode Backpropagation, biasanya digunakan jaringan multilayer. • Sebagai contoh pada gambar berikut diberikan jaringan dengan sebuah hidden layer.
  • 4. Arsitektur Jaringan • Pada gambar, unit input dilambangkan dengan X, hidden unit dilambangkan dengan Z, dan unit output dilambangkan dengan Y. • Bobot antara X dan Z dilambangkan dengan v sedangkan bobot antara Z dan Y dilambangkan dengan w.
  • 5. Algoritma Metode Backpropagation • Pada intinya, pelatihan dengan metode backpropagation terdiri dari tiga langkah, yaitu: • Data dimasukkan ke input jaringan (feedforward) • Perhitungan dan propagasi balik dari error yang bersangkutan • Pembaharuan (adjustment) bobot dan bias.
  • 6. Algoritma Metode Backpropagation • Saat umpan maju (feedforward), setiap unit input (Xi) akan menerima sinyal input dan akan menyebarkan sinyal tersebut pada tiap hidden unit (Zj). • Setiap hidden unit kemudian akan menghitung aktivasinya dan mengirim sinyal (zj) ke tiap unit output. • Kemudian setiap unit output (Yk) juga akan menghitung aktivasinya (yk) untuk menghasilkan respons terhadap input yang diberikan jaringan.
  • 7. Algoritma Metode Backpropagation • Saat proses pelatihan (training), setiap unit output membandingkan aktivasinya (yk) dengan nilai target (tk) untuk menentukan besarnya error. • Berdasarkan error ini, dihitung faktor k, di mana faktor ini digunakan untuk mendistribusikan error dari output kembali ke layer sebelumnya. • Dengan cara yang sama, faktor j juga dihitung pada hidden unit Zj, di mana faktor ini digunakan untuk memperbaharui bobot antara hidden layer dan input layer. • Setelah semua faktor  ditentukan, bobot untuk semua layer diperbaharui.
  • 8. Algoritma Metode Backpropagation secara detail • Step 0 : Inisialisasi bobot dan bias • Baik bobot maupun bias dapat diset dengan sembarang angka (acak) dan biasanya angka di sekitar 0 dan 1 atau -1 (bias positif atau negatif) • Step 1 :Jika stopping condition masih belum terpenuhi, jalankan step 2-9. • Step 2 :Untuk setiap data training, lakukan step 3-8.
  • 9. Algoritma Metode Backpropagation secara detail Umpan maju (feedforward) • Step 3 : Setiap unit input (Xi,i=1,…,n) menerima sinyal input xi dan menyebarkan sinyal tersebut pada seluruh unit pada hidden layer. Perlu diketahui bahwa input xi yang dipakai di sini adalah input training data yang sudah diskalakan. • Step 4 : Setiap hidden unit (Zj,j=1,…,p) akan menjumlahkan sinyal- sinyal input yang sudah berbobot, termasuk biasnya
  • 10. Algoritma Metode Backpropagation secara detail dan memakai fungsi aktivasi yang telah ditentukan untuk menghitung sinyal output dari hidden unit yang bersangkutan, lalu mengirim sinyal output ini ke seluruh unit pada unit output
  • 11. Algoritma Metode Backpropagation secara detail • Step 5 : Setiap unit output (Yk,k=1,…,m) akan menjumlahkan sinyal-sinyal input yang sudah berbobot, termasuk biasnya,
  • 12. Algoritma Metode Backpropagation secara detail dan memakai fungsi aktivasi yang telah ditentukan untuk menghitung sinyal output dari unit output yang bersangkutan:
  • 13. Algoritma Metode Backpropagation secara detail Propagasi error (backpropagation of error) • Step 6: Setiap unit output (Yk,k=1,…,m) menerima suatu target pattern (desired output) yang sesuai dengan input training pattern untuk menghitung kesalahan (error) antara target dengan output yang dihasilkan jaringan:
  • 14. Algoritma Metode Backpropagation secara detail • Faktor k ini digunakan untuk menghitung koreksi error (wjk) yang nantinya akan dipakai untuk memperbaharui wjk, di mana: wjk=kzj • Selain itu juga dihitung koreksi bias w0k yang nantinya akan dipakai untuk memperbaharui w0k, di mana: w0k=k • Faktor k ini kemudian dikirimkan ke layer yang berada pada step 7.
  • 15. Algoritma Metode Backpropagation secara detail • Step 7 : Setiap hidden unit (Zj,j=1,…,p) menjumlah input delta (yang dikirim dari layer step 6) yang sudah berbobot.
  • 16. Algoritma Metode Backpropagation secara detail • Faktor j ini digunakan untuk menghitung koreksi error (vij) yang nantinya akan dipakai untuk memperbaharui vij, di mana: vij=jxi • Selain itu juga dihitung koreksi bias v0j yang nantinya akan dipakai untuk memperbaharui v0j, di mana: v0j=j
  • 17. Algoritma Metode Backpropagation secara detail • Kemudian hasilnya dikalikan dengan turunan dari fungsi aktivasi yang digunakan jaringan untuk menghasilkan faktor koreksi error j, di mana: j= _inj f’(z_inj)
  • 18. Algoritma Metode Backpropagation secara detail Pembaharuan bobot dan bias: • Step 8: • Setiap unit output (Yk,k=1,…,m) akan memperbaharui bias dan bobotnya dari setiap hidden unit. wjk(baru)=wjk(lama) + wjk • Demikian pula untuk setiap hidden unit akan memperbaharui bias dan bobotnya dari setiap unit input. vij(baru)=vij(lama) + vij
  • 19. Algoritma Metode Backpropagation secara detail • Step 9 : Memeriksa stopping condition • Jika stop condition telah terpenuhi, maka pelatihan jaringan dapat dihentikan.
  • 20. Algoritma Metode Backpropagation secara detail • Untuk menentukan stopping condition terdapat dua cara yang biasa dipakai, yaitu: • Membatasi iterasi yang ingin dilakukan. • Misalnya jaringan akan dilatih sampai iterasi yang ke-500. • Yang dimaksud dengan satu iterasi adalah perulangan step 3 sampai step 8 untuk semua training data yang ada. • Membatasi error. • Misalnya menentukan besar Mean Square Error antara output yang dikehendaki dan output yang dihasilkan oleh jaringan.
  • 21. Algoritma Metode Backpropagation secara detail • Jika terdapat sebanyak m training data, maka untuk menghitung Mean Square Error digunakan persamaan berikut: • MSE=0,5x{(tk1-yk1)2 + (tk2-yk2)2 +…+ (tkm-ykm)2 }
  • 22. Algoritma Metode Backpropagation secara detail • Setelah pelatihan selesai, jika kemudian jaringan diberi input, jaringan akan menghasilkan output seperti yang diharapkan. • Cara mendapatkan output adalah dengan mengimplementasikan metode backpropagation, tetapi hanya pada bagian umpan majunya saja, yaitu dengan langkah-langkah sebagai berikut:
  • 23. Algoritma Metode Backpropagation secara detail • Step 0: Inisialisasi bobot sesuai dengan bobot yang telah dihasilkan pada proses pelatihan di atas. • Step 1: Untuk setiap input, lakukan step 2-4. • Step 2: Untuk setiap input i=1,…,n skalakan bilangan dalam range fungsi aktivasi seperti yang dilakukan pada proses pelatihan di atas.
  • 24. Algoritma Metode Backpropagation secara detail • Step 3: untuk j=1,…,p:
  • 25. Algoritma Metode Backpropagation secara detail • Step 4 : Untuk k=1,…,m:
  • 26. Algoritma Metode Backpropagation secara detail • Variabel yk adalah output yang masih dalam skala menurut range fungsi aktivasi. • Untuk mendapatkan nilai output yang sesungguhnya, yk harus dikembalikan seperti semula.
  • 27. Contoh aplikasi • Berikut ini adalah contoh cara pelatihan jaringan syaraf tiruan sederhana menggunakan metode Backpropagation. • Misalkan, jaringan terdiri dari 2 unit input, 1 hidden unit (dengan 1 hidden layer), dan 1 unit output. • Jaringan akan dilatih untuk memecahkan fungsi XOR. • Fungsi aktivasi yang digunakan adalah sigmoid biner dan learning rate () = 0,01.
  • 28. • Arsitektur jaringan yang akan dilatih adalah sebagai berikut:
  • 29. • Training data yang digunakan terdiri dari 4 pasang input- output, yaitu:
  • 30. • Sebelum pelatihan, harus ditentukan terlebih dahulu stopping conditionnya. • Misalnya dihentikan jika error telah mencapai 0,41.
  • 31. Langkah-langkah pelatihan • Step 0: Misalnya inisialisasi bobot dan bias adalah: v01=1,718946 v11=-1,263178 v21=-1,083092 w01=-0,541180 w11=0,543960
  • 32. • Step 1: Dengan bobot di atas, tentukan error untuk training data secara keseluruhan dengan Mean Square Error: • z_in11=1,718946+{(0 x -1,263178)+(0x-1,083092)}=1,718946 • z11=f(z_in11)=0,847993 • z_in12=1,718946+{(0x-1,263178)+(1x-1,083092)}=0,635854 • z12=f(z_in12)=0,653816 • z_in13=1,718946+{(1x-1,263178)+(0x-1,083092)}=0,455768 • z13=f(z_in13)=0,612009 • z_in14=1,718946+{(1x-1,263178)+(1x-1,083092)=-0,627324 • z14=f(z_in14)=0,348118 • di mana indeks zjn berarti hidden unit ke-j dan training data ke-n.
  • 33. • y_in11=-0,541180+(0,847993x0,543960)=0,079906 • y11=f(y_in11)=0,480034 • y_in12=-0,541180+(0,653816x0,543960)=-0,185530 • y12=f(y_in12)=0,453750 • y_in13=-0,541180+(0,612009x0,543960)=0,208271 • y13=f(y_in13)=0,448119 • y_in14=-0,541180+(0,348118x0,543960)=-0,351818 • y14=f(y_in14)=0,412941 • Maka E=0,5x{(0-0,480034)2 + (1-0,453750)2 ) + (1- 0,448119)2 + (0-0,412941)2 }=0,501957
  • 34. • Step2. Karena error masih lebih besar dari 0,41 maka step 3-8 dijalankan. • Step 3. x1=0; x2=0 (iterasi pertama, training data pertama) • Step 4. • z_in1=1,718946+{(0x-1,263126)+(0x-1,083049)}=1,718946. • z1=f(z_in1)=0,847993 • Step 5. • y_in11=-0,541180+(0,847993x0,543960)=0,079906 • y11=f(y_in11)=0,480034 • Step 6. • 1=(0-0,480034)f ’(0,079906)=-0,119817 • w11=0,01x-0,119817x0,847993=-0,001016 • w01=0,01x-0,119817=-0,00119817
  • 35. • Step 7. • _in1=-0,00119817x0,543960=-0,00065176 • 1=-0,00065176xf’(1,718946)=-0,00008401 • v11=0,01x-0,00008401x0=0 • v21=0,01x-0,00008401x0=0 • v01=0,01x-0,00008401=-0,0000008401 • Step 8. • w01(baru)=-0,541180+(-0,00119817)=-0,542378 • w11(baru)=0,543960+(-0,001016)=0,542944 • v01(baru)=1,718946+(-0,0000008401)=1,718862 • v11(baru)=-1,263178+0=-1,263178 • v21(baru)=-1,083092+0=-1,083092 • Saat ini v11 dan v12 masih belum berubah karena kedua inputnya =0. Nilai v01 dan v02 baru berubah pada iterasi pertama untuk training data yang kedua
  • 36. • Setelah step 3-8 untuk training data pertama dijalankan, selanjutnya kembali lagi ke step 3 untuk training data yang kedua (x1=0 dan x2=1). • Langkah yang sama dilakukan sampai pada training data yang keempat. • Bobot yang dihasilkan pada iterasi pertama, training data ke-2,3, dan 4 adalah:
  • 37. • Training data ke-2: • w01=-0,541023 • w11=0,543830 • v01=1,718862 • v11=-1,263178 • v21=-1,083092 • Training data ke-3: • w01=-0,539659 • w11=0,544665 • v01=1,719205 • v11=-1,263002 • v21=-1,082925 • Training data ke-4: • w01=-0,540661 • w11=0,544316 • v01=1,719081 • v11=-1,263126 • v21=-1,083049
  • 38. • Setelah sampai pada training data ke-4, maka iterasi pertama selesai. • Berikutnya, pelatihan sampai pada step9, yaitu memeriksa stopping condition dan kembali pada step 2. • Demikian seterusnya sampai stopping condition yang ditentukan terpenuhi. • Setelah pelatihan selesai, bobot yang didapatkan adalah: • v01=12,719601 • v11=-6,779127 • v21=-6,779127 • w01=-5,018457 • w11=5,719889
  • 39. • Jika ada input baru, misalnya x1=0,2 dan x2=0,9 maka outputnya dapat dicari dengan langkah umpan maju sebagai berikut: • Step 0. Bobot yang dipakai adalah bobot hasil pelatihan di atas. • Step 1. Perhitungan dilakukan pada step 2-4 • Step 2. Dalam contoh ini, bilangan telah berada dalam interval 0 sampai dengan 1, jadi tidak perlu diskalakan lagi. • Step 3. • z_in1=12,719601+{(0,2x-6,779127)+(0,9x-6,779127)}=5,262561 • z1=f(5,262561)=0,994845 • Step 4. • y_in1=-5,018457+(0,994845x5,719889)=0,671944 • y1=f(0,671944)=0,661938 • Jadi jika input x1=0,2 dan x2=0,9; output yang dihasilkan jaringan adalah 0,661938