Anda di halaman 1dari 18

BACK PROPAGATION

Disusun Oleh :
Dwi Wahyu Nugroho 18507134038
Ferdian Wijanarko 18507134029
Febrian Noor Rohim 18507134028
Pengertian

Backpropagation adalah algoritma pembelajaran untuk memperkecil


tingkat error dengan cara menyesuaikan bobotnya berdasarkan
perbedaan output dan target yang diinginkan. Backpropagation juga
merupakan sebuah metode sistematik untuk pelatihan multilayer JST.
Dikatakan sebagai algoritma pelatihan multilayer karena memiliki tiga
layer dalam proses pelatihannya, yaitu input layer, hidden layer dan
output layer. Dimana backpropagation ini merupakan perkembangan
dari single layer network yang memiliki dua layer, yaitu input dan
output layer. Hidden layer pada backpropagation dapat membuat
tingkat error pada backpropagation lebih kecil dibanding tingkat error
pada single layer network. Hal itu dikarenakan hidden layer pada
backpropagation berfungsi sebagai tempat untuk mengupdate dan
menyesuaikan bobot, sehingga didapatkan nilai bobot yang baru yang
bisa diarahkan mendekati dengan target output yang diinginkan.
Arsitektur

Backpropagation terdiri dari tiga layer, yaitu input layer, hidden layer
dan output layer. Pada input layer tidak terjadi proses komputasi,
namun pada input layer terjadi pengiriman sinyal input X ke hidden
layer. Pada hidden dan output layer terjadi proses komputasi terhadap
bobot dan bias dan dihitung pula besarnya output dari hidden dan
output layer tersebut berdasarkan fungsi aktivasi tertentu. Dalam
algoritma backpropagation ini digunakan fungsi aktivasi sigmoid biner,
karena output yang diharapkan bernilai antara 0 sampai 1
Arsitektur Backpropagation Secara Horizontal Arsitektur Backpropagation Secara Vertical

Tiga layer backpropagation adalah input layer, hidden layer dan output layer. Pada input layer, inputan
divariabelkan dengan Xn. Pada hidden layer, terdapat bobot (Vij) dan bias (Voj), serta Z sebagai data
hidden layer. Pada output layer juga demikian, terdapat bobot (Wij) dan bias (Woj) dengan data output
divariabelkan dengan Y.
Algoritma

Algoritma backpropagation adalah sebuah algoritma untuk memperkecil tingkat


error dengan menyesuaikan bobot berdasarkan perbedaan output dan target
yang diinginkan.

Secara umum algoritmanya terdiri dari tiga langkah utama, yaitu :


1. Pengambilan input
2. Penelusuran error
3. Penyesuaian bobot

Pada pengambilan input, terlebih dahulu dilakukan inisialisasi bobot, kemudian


masuk ke dalam algoritma proses backpropagation yang terdiri dari komputasi
maju yang bertujuan untuk menelusuri besarnya error dan komputasi balik
untuk mengupdate dan menyesuaikan bobot. Dalam mengupdate bobot daapat
dilakukan dengan dua cara, yaitu tanpa momentum dan dengan momentum.
Algoritma Komputasi Maju

Algoritma lengkap sebuah pembelajaran ANN adalah sebagai berikut :


Inisialisasi bobot

Ada dua cara untuk menginisialisasi bobot, yaitu inisialisasi secara random dan
inisialisasi dengan menggunakan Nguyen-Widrow.

Inisialisasi acak merupakan cara yang paling sering digunakan dalam inisialisasi bobot.
Pada inisialisasi bobot secara random, bobot diinisialisasi secara acak tanpa
menggunakan faktor skala, sedangkan pada inisialisasi Nguyen-Widrow, inisialisasi
dilakukan dengan memodifikasi inisialisasi acak dengan menggunakan faktor skala β
dengaan tujuian untuk mempercepat proses pelatihan.
Di bawah dijelaskan mengupdate bobot yang dilakukan tanpa memperhatikan
besarnya momentum. Dengan demikian dalam metode backpropagation, algoritma
yang harus dilakukan adalah inisialisasi bobot, komputasi feed forward dan
backpropagation dan inisialisasi kondisi stopping berdasarkan nilai batas error atau
jumlah batas epoch.
Algoritma lengkap sebuah pembelajaran ANN
1. Inisialisasi bobot
Ada dua cara untuk menginisialisasi bobot, yaitu inisialisasi secara random dan
inisialisasi dengan menggunakan Nguyen-Widrow.

Inisialisasi acak merupakan cara yang paling sering digunakan dalam inisialisasi bobot.
Pada inisialisasi bobot secara random, bobot diinisialisasi secara acak tanpa
menggunakan faktor skala, sedangkan pada inisialisasi Nguyen-Widrow, inisialisasi
dilakukan dengan memodifikasi inisialisasi acak dengan menggunakan faktor skala β
dengaan tujuian untuk mempercepat proses pelatihan.
Algoritma inisialisasi dengan Nguyen-Widrow adalah sebagai berikut :
i. Menentukan besarnya skala β.
β=0.7(p)1/n 
dengan p : jumlah unit hidden dan n : jumlah unit input.
i. Inisialisasi bobot Vij secara random dengan nilai inisialisasi Vij
adalah -0.5 ≤ Vij ≤ 0.5.

ii. Menghitung besarnya magnitude bobot Vij.


iii.
iv. Mengupdate bobot Vij.
v. Mengatur nilai bias Voj sebesar -β ≤ V0j ≤ β
1. Proses feed forward dan backpropagation
Pada dasarnya proses algoritma backpropagation terdiri dari komputasi maju (feed forward) dan
komputasi balik (backpropagation).
Komputasi maju digunakan sebagai algoritma untuk menghitung nilai aktivasi yang ada pada
semua neuron baik yang ada di lapis tersembunyi atau hidden layer taupun lapis keluaran atau
output layer. Berikut ini merupakan algoritma yang digunakan dalam komputasi maju.
i. Neuron yang berada pada lapisan tersembunyi melakukan perhitungan nilai total masukan
dari lapisan tersembunyi dengan cara menjumlahkan perkalian sinyal masukan dengan bobot
antara lapisan masukan (input layer) dan lapisan tersembunyi (hidden layer) dan nilai bias.
ii. Neuron tersebut melakukan perhitungan nilai aktivasi.
iii. Sinyal keluaran dari lapisan tersembunyi berguna sebagai lapisan masukan pada lapisan
keluaran. Kemudian neuron yang berada pada lapisan keluaran melakukan perhitungan
untuk menghitung nilai keluaran.
iv. Neuron keluaran tersebut menghitung nilai aktivasi dengan menerapkan fungsi aktivasi pada
lapisan keluarannya.
Algoritma proses feed forwardnya adalah :

i. Unit input (Xi, i=1,2,…..,n)


a. Menerima input Xi
b. Mengirimkannya ke semua unit layer diatasnya (Hidden layer).

ii. Unit Hidden (Zj, j=1,2,….,n)


a. Menghitung semua sinyal input dengan bobotnya :
z_inj = voj + S
xi vij                              (3.4)

b. Menghitung nilai aktivasi setiap unit hidden


sebagai output unit hidden
zj = f(z_inj)           
1. Mengirim nilai aktivasi sebagai input untuk unit output.

i. Unit Output (Yk, k=1,2,…..,n)

a. Menghitung semua sinyal inputnya dengan bobotnya :


y_ink = wok + S
zj wjk                         (3.7)

b. Menghitung nilai aktivasi setiap unit output sebagai output jaringan.

yk = f(y_ink)   
Algoritma Komputasi Balik

Dengan komputasi balik ini nilai error atau kesalahan bisa dikurangi dengan cukup
baik. Berikut ini adalah gambaran kasar dari algoritma komputasi balik yang digunakan
pada Artificial Neural Network.
1. Sinyal keluaran yang dihasilkan pada komputasi maju kemudian dicocokkan dan
dilakukan perhitungan untuk menghitung selisih antara target dengan sinyal
keluaran yang ada pada neuron keluaran.
2. Hasil perhitungan ini kemudian digunakan untuk menyesuaikan bobot hubungan
antara lapisan keluaran dengan semua neuron yang berada pada lapisan
tersembunyi.
3. Setelah itu kirimkan sinyal kesalahan ke dalam lapisan tersembunyi sehingga
setiap neuron yang berada pada lapisan tersembunyi bisa menyesuaikan beban
yang ada agar niali keluarannya mempunyai nilai yang mendekati dengan target.
Algoritma proses backpropagationnya adalah sebagai berikut :

1. Unit Output (Yk, k=1,2,…..,m)


i. Menerima pola target yang bersesuaian dengan pola input
ii. Menghitung informasi error :
dk = (tk – yk) f'(y_ink)
iii. Menghitung besarnya koreksi bobot unit output :
1. Menghitung besarnya koreksi bias output :
Dw0k = a
dk
2. Mengirimkan dk ke unit-unit yang ada pada layer di bawahnya, yaitu ke hidden layer.
1. Unit Hidden (Zj, j=1,2,….,p)

i. Menghitung semua koreksi error :


d_inj = S
dk wjk            

ii. Menghitung nilai aktivasi koreksi error :


dj = d_inj f'(z_inj)                           

iii. Menghitung koreksi bobot unit hidden :


Dvij = a
dj xi                           

iv. Menghitung koreksi error bias unit hidden :


Dv0j = a
dj                     
2. Update bobot dan bias

i. Unit Output (Yk, k = 1,2,…,m)

Mengupdate bobot dan biasnya (j = 0,…,p) :


wjk(baru) = wjk(lama) + Dwjk                    
w0k(baru) = w0k(lama) + Dw0k                

3. Unit hidden (Zj, j = 1,…,p)

Mengupdate bobot dan biasnya (i = 0,…,n) :

vij(baru) = vij(lama) + Dvij                     (3.19)


v0j(baru) = v0j(lama) + Dv0j                     (3.20)
1. Stopping
Terdapat dua kondisi stopping pada algoritma backpropagation ini, yaitu :
i. Error < Error maksimum

ii. Error adalah perbedaan yang terjadi antara ouput terhadap target yang diinginkan. Proses
ANN akan berhenti jika bessarnya error yang terjadi telah bernilai lebih kecil dari nilai error
maksimum yang telah ditetapkan. Besarnya nilai error dihitung dengan menggunakan fungsi
error kuadratis.
Fungsi eror tersebut merupakan bagian dari algoritma backpropagation yang menggunakan
gradient descent yaitu dengan cara menuruni lembah permukaan error untuk mencapai nilai
error yang convergen.

a. Epoch > Epoch maksimum


Epoch adalah suatu langkah yang dilakukan dalam pembelajaran pada ANN. Jika besarnya
epoch lebih besar dari besarnya epoch maksimum yang telah ditetapkan, maka proses
pembelajaran akan berhenti.

Kedua kondisi stopping di atas digunakan dengan logika OR. Jadi kondisi stopping adak terjadi jika
besarnya Error < Error maksimum atau Epoch > Epoch maksimum.
• Pengenalan Kapal pada Citra Digital Menggunakan Image Processing dengan
Jaringan Syaraf Tiruan Backpropagation

• Negara Indonesia merupakan negara dengan potensi perikanan yang besar, tetapi
potensi besar tersebut belum dapat dinikmati sepenuhnya karena beberapa faktor,
salah satunya illegal fishing. Untuk mengurangi illegal fishing, TNI Angkatan Udara
melakukan pantauan laut melalui pesawat yang dilengkapi dengan foto udara
untuk membantu dalam perekaman kegiatan illegal fishing diperairan dan
dilakukan analisa visual secara manual oleh manusia. Oleh sebab itu pada
penelitian ini dibuat aplikasi pengenalan kapal pada citra digital dengan
menggunakan image processing dan algoritma jaringan syaraf tiruan
Backpropagation. Arsitektur jaringan yang digunakan dalam pelatihan terdiri dari
400 neuron pada layerinputsesuai jumlah pixel gambar, satu layer tersembunyi
yang terdiri dari 40 neuron, dan 1 neuron pada layer output yang terdapat 2
kemungkinan yaitu apakah citra kapal atau citra bukan kapal. Proses pelatihan
dengan jaringan Backpropagation untuk mengenali citra kapal dengan nilai α 0,2;
sistem mampu mencapai error 0,000001 pada epoch ke-6687 dengan tingkat
akurasi 85%. [5]
• Prediksi Nilai Tukar Petani Menggunakan Jaringan Syaraf Tiruan Backpropagation

• Nilai Tukar Petani (NTP) merupakan salah satu indikator untuk mengukur tingkat
kesejahteraan atau kemampuan daya beli petani. Nilai indeks NTP untuk periode
yang akan datang perlu di lakukan prediksi yang dapat dimanfaatkan pihak terkait
dalam mempersiapkan tindakan-tindakan pencegahan apabila indeks NTP turun
dari periode sebelumnya. Penelitian ini bertujuan untuk mengukur unjuk kerja
algoritma jaringan syaraf tiruan Backpropagation dalam memprediksi Nilai Tukar
Petani (NTP) Provinsi Jawa Timur satu bulan mendatang. Jaringan yang dibangun
terdiri atas 12 neuron input, dan 1 neuron output. Data yang digunakan yaitu data
tahun 2008-2012 untuk proses pelatihan jaringan. Proses pengujian dilakukan
dengan membandingkan hasil pengujian dengan data aktual tahun 2013 dan 2014.
Hasil pengujian menunjukkan bahwa persentase error terkecil apabila jumlah node
lapisan tersembunyi 7 dan nilai laju pembelajaran 0.1 dengan rata-rata error
sebesar 0.61% atau tingkat akurasi mencapai 99.39% [10].

Anda mungkin juga menyukai