• Tidak ada hasil yang ditemukan

Pembimbing 2 : Prof. Dr. Ir. Yusuf Latief

2. TINJAUAN PUSTAKA

2.5. Jaringan Syaraf Tiruan (Artificial Neural Network)

2.5.5. Penggunaan Algoritma Back Propagation

Jaringan back propagation merupakan salah satu algoritma yang sering digunakan dalam menyelesaikan masalah-masalah yang rumit. Algoritma propagasi balik, pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart dan McClelland untuk dipakai pada ANN. Algoritma telah diaplikasikan di berbagai bidang, diantaranya diterapkan di bidang finansial, pengenalan pola tulisan tangan, pengenalan pola suara, sistem kendali, pengolah citra medika dan masih banyak lagi keberhasilan BP sebagai salah satu metoda komputasi yang handal.

Algoritma ini juga banyak dipakai pada aplikasi pengaturan karena proses pelatihannya didasarkan pada hubungan yang sederhana, yaitu: Jika keluaran memberikan hasil yang salah, maka penimbang (weight) dikoreksi supaya galatnya dapat diperkecil dan respon jaringan selanjutnya diharapkan akan lebih mendekati harga yang benar. BP juga berkemampuan untuk memperbaiki penimbang pada lapisan tersembunyi (hidden layer).

Ketika Jaringan diberikan pola masukan sebagai pola pelatihan maka pola tersebut menuju ke unit-unit pada lapisan tersembunyi untuk diteruskan ke unit-unit lapisan keluaran. Kemudian unit-unit lapisan keluaran memberikan tanggapan yang disebut sebagai keluaran jaringan. Saat keluaran jaringan tidak sama dengan keluaran yang diharapkan maka keluaran akan menyebar mundur (backward) pada lapisan tersembunyi diteruskan ke unit pada lapisan masukan. Oleh karenanya maka mekanisme pelatihan tersebut dinamakan backpropagation/ propagasi balik. Tahap pelatihan ini merupakan langkah bagaimana suatu jaringan saraf itu berlatih, yaitu dengan cara melakukan perubahan penimbang (sambungan antar lapisan yang membentuk jaringan melalui masing-masing unitnya). Sedangkan pemecahan masalah baru akan dilakukan jika proses pelatihan tersebut selesai, fase tersebut adalah fase mapping atau proses pengujian/testing.

Prosedur pembelajaran algoritma backpropagation ialah sebagai berikut: a. Inisiasi bobot (ambil bobot awal dengan nilai acak yang cukup kecil)

b. Tetapkan : Nilai maksimum Epoch, Target Epoch dan Learning Rate (a) c. Inisialisasi Epoch = 0

d. Kerjakan langkah-langkah berikut selama (Epoch < Maksimum Epoch) dan (MSE < Target Error):

Epoch = Epoch + 1

Untuk tiap-tiap pasangan elemen yang akan dilakukan pembelajaran, dimulai dengan mengerjakan :

Feedforward :

e. Tiap-tiap unit input (Xi i= 1,2,3,……..,n) menerima sinyal xi dan meneruskan sinyal tersebut kesemua unit pada lapisan yang ada diatasnya (hidden layer) f. Tiap-tiap unit pada suatu hidden layer (Zi j= 1,2,3, ……, p) menjumlahkan

(2.4) Gunakan fungsi aktifasi untuk menghitung sinyal outputnya:

(2.5) Dan kirim sinyal tersebut kesemua unit dilapisan atasnya (unit-unit outputnya).

g. Tiap-tiap unit outputnya (Yk, k= 1,2,3,….. ,m) menjumlahkan sinyal-sinyal input terbobotnya.

(2.6)

Gunakan fungsi aktifasi untuk menghitung sinyal outputnya :

(2.7)

Dan kirim sinyal tersebut ke semua unit dilapisan atasnya (unit-unit output). Catatan :

Langkah (b) dilakukan sebanyak jumlah hidden layer Back Propagation

h. Tiap-tiap unit outputnya (Yk, K = 1,2,3, ….. ,m) menerima target pola yang berhubungan dengan pola input pembelajaran , hitung informasi errornya:

(2.8)

(2.9)

(2.10)

Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk ) dengan fungsi gradient descent:

(2.11) Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai b2k ) dengan fungsi gradient desent :

(2.12) Langkah (d) ini juga dilakukan sebanyak jumlah hidden layer, yaitu dengan menghitung informasi error dari suatu hidden layer ke hidden layer sebelumnya.

i. Tiap-tiap unit tersembunyi (Zj, j= 1,2,3,…, p) menjumlahkan delta inputnya (dari unit-unit yang berada pada lapisan diatasnya):

(2.13) Kalikan nilai ini dengan turunan dari fungsi aktifasinya untuk menghitung informasi error:

(2.14) (2.15)

(2.16)

Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij ) dengan fungsi gradient descent :

(2.17) Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai b1j) dengan fungsi gradient descent :

(2.18) j. Tiap-tiap output (Yk, k= 1,2,3,….,m) memperbaiki bias dan bobotnya

(j=0,1,2,…..,p):

(2.19) (2.20) Tiap-tiap tersembunyi (Zj, j = 1,2,3,….,p) memperbaiki bias dan bobotnya (i= 0,1,2,…,n):

(2.21)

(2.22)

k. Hitung MSE

Pemilihan bobot awal sangat mempengaruhi ANN dalam mencapai minimum global (satu local saja) terhadap nilai error, serta cepat tidaknya suatu proses pelatihan menuju kekonvergenan. Apabila nilai bobot awal terlalu besar, maka input ke setiap hidden layer atau lapisan output akan jatuh pada daerah dimana turunan fungsi sigmoidnya akan sangat kecil, sebaliknya apabila nilai bobot awal terlalu kecil, maka input ke setiap hidden layer atau lapisan output akan sangat kecil yang akan menyebabkan proses pelatihan akan berjalan sangat lambat. Biasanya bobot awal diinisialisaikan secara random dengan nilai antara -0,5 sampai 0,5 (atau -1 sampai 1 atau interval lainnya). Ada

alternative lainnya selain inisialisasi secara random, yaitu dengan cara Metode Nguyen-Windrow. Metode Nguyen-Windrow akan menginisialisasi bobot-bobot dari lapisan input ke hidden layer dirancang sedemikian rupa sehingga dapat meningkatkan kemampuan hidden layer dalam melakukan proses pembelajaran. Metode Nguyen-Windrow secara sederhana dapat diimplementasikan dengan prosedur sebagai berikut :

(a) Tetapkan :

n = jumlah neuron (unit) pada lapisan input P = jumlah neuron (unit) pada hidden layer Beta = factor pengskalaan

dimana, beta = 0.7 (p) 1/n (2.23) Kerjakan untuk setiap unit pada hidden layer (j =1,2,….,p):

(b) Inisialisasi bobot bobot dari lapisan input ke hidden layer

Vij = bilangan random antara -0,5 sampai 0,5 (atau antara –g sampai g). (c) Hitung

(2.24)

(d) Inisialisasi ulang bobot-bobot :

(2.25) (e) Set Bias

B1j = bilangan random antara –β sampai β analisis Nguyen –Windrow didasarkan atas fungsi aktifasi tangent hiperbolik.

Fungsi kinerja jaringan yang sering digunakan untuk backpropagation adalah Mean Square Error (MSE), fungsi ini akan mengambil rata-rata kuadrat error yang terjadi antara output, jaringan dan target. Sebagian besar algoritma pelatihan untuk jaringan feedforward menggunakan gradient dari fungsi kinerja untuk menentukan bagaimana mengatur bobot-bobot dalam rangka meminimumkan kinerja. Gradien ini ditentukan dengan menggunakan suatu teknik yang disebut dengan nama backpropagation akan menggerakkan bobot dengan arah gradient negative. Prosedur pembelajaran algoritma backpropagation diatas melakukan perbaikan bobot dengan fungsi pembelajaran gradient descent.

Adakalanya fungsi tersebut hanya merespon gradien lokal saja. Oleh karena itu berkembang modifikasi fungsi tersebut dengan gradient descent with momentum yang tidak hanya merespon gradien lokal saja, namun juga mempertimbangkan kecenderungan yang baru saja terjadi pada suatu permukaan error. Besarnya perubahan bobot ini dipengaruhi oleh suatu konstanta (yang dikenal dengan nama momentum) mc, yang bernilai antara 0 sampai 1) Perubahan bobot pada persamaan (2.11), berubah menjadi :

(2.26) Untuk epoh = 1, dan

(2.27) Untuk epoh >1

Demikian pula untuk bobot bias, persamaan (2.12) berubah menjadi :

(2.28)

Untuk epoh = 1, dan

(2.29)

Untuk epoh >1 ,

Perubahan bobot pada persamaan (2.17), berubah menjadi :

(2.30)

Untuk epoh = 1, dan

(2.31) Untuk epoh > 1 , dan

Demikian pula untuk bobot bias, persamaan (2.18) berubah menjadi :

(2.32)

Untuk epoh = 1, dan

(2.33) Untuk epoh > 1

Pada piranti lunak Matlab yang dapat digunakan untuk analsis ANN, pengalian dengan momentum juga dilakukan terhadap gradient kinerja, yaitu , perubahan bobot pada persamaan (2.11), berubah menjadi:

(2.35) Untuk epoh >1

Demikian pula untuk bobot bias , persamaan (2.12) berubah menjadi ;

(2.36)

Untuk epoh = 1, dan

(2.37) Untuk epoh > 1

Perubahan bobot pada persamaan (2.17), berubah menjadi ;

(2.38)

Untuk epoh = 1, dan

(2.39)

Untuk epoh > 1 dan demikian pula untuk bobot bias, persamaan (2.18) berubah menjadi :

(2.40)

Untuk epoh = 1, dan

(2.41)

Untuk epoh > 1

Dengan demikian apabila nilai mc = 0 maka perubahan bobot hanya akan dipengaruhi oleh gradiennya. Namun apabila mc = 1, maka perubahan bobot akan sama dengan perubahan bobot sebelumnya.

Dokumen terkait