Anda di halaman 1dari 17

PRAKTIKUM VIII

ALGORITMA BACKPROPAGATION UNTUK


PENGENALAN POLA
LAPORAN PRAKTIKUM TEKNIK KLASIFIKASI

DAN PENGENALAN POLA

Disusun Oleh:

Rayuh Dhilah Hanggara

1501022088

LABORATORIUM KOMPUTER DAN INFORMATIKA


PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS AHMAD DAHLAN
2017
PRAKTIKUM VIII

ALGORITMA BACK PROPAGATION UNTUK PENGENALAN POLA

A. TUJUAN PRAKTIKUM

1. Mahasiswa mampu memahami algoritma backpropagation

B. DASAR TEORI
Backpropagation (BP) merupakan algoritma pembelajaran yang terdiri dari tiga
bagian yaitu: umpan maju pola pelatihan, perhitungan perambatan balik dan
pengaturan bobot. Algoritma ini menggunakan error output untuk mengubah nilai
bobot-bobotnya dalam arah balik (backward). Nilai error diperoleh dari proses
sebelumnya yaitu pada tahap perambatan maju (forward). Inti dari algoritma
belajar propagasi balik ini terletak pada kemampuannya mengubah nilai-nilai
bobotnya untuk merespon adanya error.
Untuk dapat menghitung error, sampel data yang digunakan sebagai pembelajaran
harus mengandung serangkaian pola-pola input beserta pasangan pola-pola output
yang menjadi targetnya. Dengan pengertian lain bahwa perlu adanya pola-pola
referensi bagi JST. Hal ini penting sehingga setiap JST mengeluarkan output, ia
akan membandingkan dengan hasil yang diharapkan tadi. Propagasi balik error
inilah yang yang memberi nama JST sebagai JST BP.
Algoritma:
L0. Inisialisasi bobot (tetapkan dengan nilai acak kecil)
L1. Selama syarat kondisi false kerjakan langkah 2-9
L2. Untuk setiap pasangan yang akan dilakukan pembelajaran, kerjakan langkah 3
sampai 8
Umpan maju
L3. Setiap unit input (xi, i=1,2,...,n) menerima sinyal input xi dan meneruskan
ke semua unit dalam lapis tersembunyi
L4. Setiap unit tersembunyi (zj, j=1,2,...,p) menjumlahkan sampel input
terbobotnya,

Hitung sinyal output dengan fungs aktivasinya

Kirimkan sinyal ini ke semua unit pada lapisan output.


L5. Setiap unit output (yk, k=1,2,...,m) menjumlahkan sinyal input
terbobotnya

Hitung sinyal output dengan fungsi aktivasinya


Perambatan batik
L6. Setiap unit output (yk k=1, ,m) menerima pola target yang sesuai
dengan
pola input pembelajaran, hitung suku informasi error nya
k = (tk - yk )f(y _ink)
Hitung suku koreksi bobot (digunakan untuk perbaruan Wjk ),
wjk = kz j
Hitung suku koreksi bias (digunakan untuk perbaruan Wok ),
wok = k
Kirimkan k ke unit-unit dilapis bawahnya
L7. Setiap unit tersembunyi (zj , j =1, , p) menjumlahkan delta inputnya
(dari
unit-unit yang berada pada lapis diatasnya)

Hitung suku informasi error,

Hitung suku koreksi bobot (untuk perbaruan vij )

Hitung suku koreksi bias (untuk perbaruan voj),

Perbaruan bobot dan bias:


L8. Setiap unit output (yk, k=1,,m) perbarui bobot-bobot dan bias nya:
wjk (baru ) = wjk (lama) + wjk
Setiap unit tersembunyi (zj, j=1,.., p) perbarui bobot-bobot dan bias nya
(i=0,, n):
vij (baru) = vij (lama) + vij
L9. Uji syarat berhenti
Catatan:
Fungsi aktivasi sigmoid

C. ALAT DA BAHAN
1. Komputer
2. Matlab 2014b
D. HASIL DAN PEMBAHASAN
1. Neural Network Toolbox
Pemahaman mengenai NN Toolbox MATLAB ini dilakukan
dengan membuat m-file dengan nama Prak81a.m seperti pada Gambar
4.1.1 di bawah ini. M-file ini dibuat sebagai langkah pelatihan serta
pengujian untuk fungsi XOR dengan laju pembelajaran serta iterasi yang
sudah ditentukan.

Gambar 4.1.1 Program Prak81a.m


Secara garis besar program ini dituliskan kedalam tiga bagian yaitu
pemberian data, pelatihan serta pengujian. Bagian pendataan dimulai dari
baris ke empat hingga sembilan dengan diberikan variabel-variabel yang
diikuti nilai dari tiap variabel itu sendiri. Setelahnya yaitu bagian pelatihan
diawali dari baris kesebelas sampai enambelas dengan dibantu oleh fitur
pada MATLAB untuk pelatihan yang perlu diperhatikan adalah banyaknya
iterasi serta laju pembelajaranya. Pada bagian akhir berupa pengujian yang
hanya diwakili oleh dua baris program. Baris pertama merupakan
permitaan kepada pengguna progam untuk menuliskan atau memasukkan
nilai pola yang dikehendaki untuk diuji cobakan, sedangkan baris
berikutnya akan melakukan simulasi terhadap parameter-parameter yang
sudah diberikan tadi serta variabel net merujuk kepada hasil atau data dari
pelatihan sebelumnya.
(a) (b)
Gambar 4.1.2 Hasil eksekusi (a) Prak81a dan (b) pola [0 0]

(a) (b) (c)


Gambar 4.1.3 Hasil eksekusi Prak81a untuk (a) pola [1 0], (b) pola [1 0]
dan (c) pola [1 1]

Pada hasil yang diperoleh dengan merujuk pada gambar 4.1.2 dan
4.1.3 ditunjukan bahwa nilai pola yang diberikan dipahami oleh program
dengan memunculkan nilai yang mendekati nilai target atau diharapkan.
Program ini sudah mampu membuktikan bahwa antara parameter sumber
yang dalam hal ini merupakan fungsi XOR dapat didekati dengan baik
meski masih ada pendekatan pola yang cukup jauh.
Selain itu ketika eksekusi awal dari program ini dilakukan akan
dimunculkan jendela Neural Network Training yang disediakan oleh
MATLAB ketika kita memanggil fungsi-fungsinya pada program dan
menyiapkan proses pelatihan atau pengujiannya. Penampakan dari jendela
Neural Network Training yang dalam hal ini diberi nama fungsi
nntraintool tadi seperti pada gambar 4.1.4 di lembar selanjutnya.
Gambar 4.1.4 Neural Network Training(nntraintool)

2. Menuliskan program fungsi Prak82a.m


Setelah dilakukan percobaan untuk fungsi atau program Prak81a
dengan memahami fungsi Neural Network Training yang disediakan,
maka berikutnya adalah bentuk implementasi untuk sistem pengenalan
wajah dengan menuliskan program atau fungsi Prak82a. Berikut pada
gambar 4.2.1 sampai pada gambar 4.2.4 diperlihatkan penulisan program
implementasi sistem pengenalan wajah dibantu fitur neural network
training matlab.
Program fungsi Prak82a.m secara keseluruhan merupakan listing
program yang di dalamnya terbagi ke dalam langkah-langkah dengan
terdiri dari inisialisasi awal termasuk pemberian nilainya, setelahnya
diikuti pemrosesan awal hingga ekstraksi cirinya. Sedangkan pada baris-
baris berikutnya merupakan proses pelatihan dengan menggunakan fitur
neural network training matlab. Kemudian tahapan terakhirnya ialah
proses pengujian terhadap bahan uji ke hasil data pelatihan tadi.
Gambar 4.2.1 program Prak82a.m untuk inisialisasi dan pemrosesan awal
serta ekstraksi ciri

Gambar 4.2.2 program Prak82a.m untuk inisialisasi dan pemrosesan awal


serta ekstraksi ciri (Lanjutan)

Beralih ke bagian atau tahapan kedua yang dituliskan pada listing


program Prak82a.m yaitu untuk bagian pelatihan yang dibantu
nntraintool seperti pada potongan gambar 4.2.3 di bawah ini.

Gambar 4.2.3 Bagian pelatihan

Bagian akhir program dituliskan untuk pengujian dengan dilakukan


penyesuaian terlebih dahulu terhadap gambar uji dan baru setelahnya
diberikan simulasi terhadap kedua parameter uji. Bagian ini dapat dilihat
pada gambar 4.2.4 berikut ini.

Gambar 4.2.4 Bagian pengujian


E. TUGAS
Pada penugasan dilakukan percobaan terhadap program atau fungsi
Prak82a.m tadi untuk menguji sistem kenal wajah dengan dibantu
pelatihan menggunakan Neural Networks Training yang disediakan oleh
MATLAB. Pengujian pertama dengan ketentuan iterasi sebanyak 500 kali,
berikut dipaparkan hasil-hasil yang di peroleh.
Gambar 5.1.1 hasil Prak82a untuk f1

Karena pada database atau saat pelatihan digunakan hingga lima


sampel wajah maka diujikan untuk sampel wajah yang lain pula.
Perubahan yang diberikan untuk mengujikan sampel wajah lain
ditunjukkan pada gambar 5.1.2 hingga 5.1.5 berikut ini.

Gambar 5.1.2 modifikasi program untuk f2


Gambar 5.1.3 modifikasi program untuk f3

Gambar 5.1.4 modifikasi program untuk f4

Gambar 5.1.5 modifikasi program untuk f5

Berikut pada halaman selanjutnya, hasil-hasil yang ditampilkan


oleh program tersebut ketika dijalankan untuk melakukan pengujian
terhadap sampel wajah f2 hingga f5.
Gambar 5.1.6 hasil dari Prak82a untuk f2

Gambar 5.1.7 hasil dari Prak82a untuk f3


Gambar 5.1.8 hasil dari Prak82a untuk f4

Gambar 5.1.9 hasil dari Prak82a untuk f5


Serupa dengan pengujian pertama, setelah dilakukan iterasi dengan
ketentuan 500 kali, maka berikutnya adalah pengujian dari fungsi yang
dibuat untuk iterasi sebanyak 1000 kali. Disiapkan terlebih dahulu listing
program seperti pada gambar 5.1.10 berikut.

Gambar 5.1.10 program Prak82a.m untuk 1000 iterasi

Tahapan pengujian dilakukan sama persis seperti pada pengujian


500 iterasi, modifikasi bahan uji pada listing program sampel wajah dari
f1hingga f5. Pengujian ini menghasil lima nilai, untuk lebih jelasnya dapat
di lihat pada gambar 5.1.11 hingga 5.1.15 berikut.

Gambar 5.1.11 hasil dari Prak82a untuk f1 dengan 1000 iterasi


Gambar 5.1.12 hasil dari Prak82a untuk f2 dengan 1000 iterasi

Gambar 5.1.13 hasil dari Prak82a untuk f3 dengan 1000 iterasi


Gambar 5.1.14 hasil dari Prak82a untuk f4 dengan 1000 iterasi

Gambar 5.1.15 hasil dari Prak82a untuk f5 dengan 1000 iterasi


F. KESIMPULAN
1. Pengenalan pola dapat dilakukan dengan menggunakan algoritma
backpropagation.
2. Backpropagation berinti pada kemampuannya merespon eror dengan
melakukan pengubahan terhadap nilai bobot bobotnya.

G. REFERENSI

Fadlil, A. (2016) Petunjuk Praktikum Teknik Klasifikasi & Pengenalan Pola,


Yogyakarta: Universitas Ahmad Dahlan.

Anda mungkin juga menyukai