Multi layer perceptron mampu menyelesaikan masalah yang tidak dapat diatasi dengan single layer perceptron yaitu clasifikasi dengan banyak region. Contoh yang akan digunakan adalah pembelajaran untuk menyelesaikan gerbang XOR yang jika dianalogikan dapat dikatakan mempunyai tiga region. Metode back propagation (selanjutnya disingkat BP) akan digunakan pada langkah – langkah pembelajaran ini.
Model dan Notasi
Gambar 1. Contoh Model Multi Layer NN 3-2-2
Untuk menyelesaikan permasalahan pembelajaran NN multi layer perceptron seperti pada contoh model gambar 1, digunakan notasi – notasi sebagai berikut :
- Weight, bobot, w ; merupakan bilangan matrik
o w(1,0) ; artinya bobot antara layer 0 (input) dan layer 1 (hidden)
o w(2,1) ; artinya bobot antara layer 1 (hidden) dan layer 2 (output)
- Training sample, adalah pasangan input (xp) – output (dp), dengan p = 1, 2, 3, …. P. atau dituliskan {(xp, dp)p, p=1, 2, … P}.
Dengan demikian mode pembelajaran disebut supervised learning, karena outputnya sudah ditentukan.
Error ini akan mempengaruhi proses pembelajaran NN karena mempengaruhi bobot w(1,0) dan w(2,1)
Langkah – langkah Pembelajaran
Secara umum langkah pembelajaran Neural Network Multi Layer Perceptron adalah sebagai berikut :
- Susun (dari hasil percobaan) training sample yang terdiri dari nomor (p) input (x) dan output (d). Untuk keperluan latihan ada data jadi yang dapat diperoleh di http://www.ics.uci.edu/~mlearn/ . Jumlah input yang disusun, out-put, serta class dari output akan menentukan jumlah node dalam model NN.
- Desain model Neural Network Multi Layer sesuai dengan ketentuan (mis, jumlah hidden layer untuk input bipolar = 2 kali input).
- Menentukan notasi : input (x), output (o), output yang diharapkan (d), bobot (w), net, dsb. Penentuan harus dilakukan dengan baik, karena notasi ini akan banyak digunakan dalam proses perhitungan, baik menggunakan software yang sudah ada ( scilab, matlab) maupun jika ingin ditulis program secara mandiri.
- Tentukan inisial weight, w, yaitu bobot awal yang digunakan untuk perhitungan awal.
Nilai initial weigh adalah besaran vektor, w=[w1, w2, ….. wn]. Nilai initial weigh ditentukan secara acak (random) dan besarnya antara -1 s.d. 1.
Penulisan bobot w ditujukan untuk node output (hidden dan output) dengan menyebutkan semua w yang menuju kepada node tersebut. Misalkan pada contoh pada gambar 1, pada hidden layer (layer 1,0) node 1 dapat dituliskan
=[-1,1,-1]

- Tentukan Learning rate, h, bisanya lebih kecil dari 1, mis 0,2.
- Tentukan Node Function / fungsi sigmoid yang digunakan untuk aktifasi NN.
Misalnya jika menggunakan tangen hiperbolic jika output yang diharapkan berada antara range -1 s.d. 1. Apabila output yang diharapkan berupa biner non-polar (0, 1) akan digunakan fungsi Sigmoid biner. Untuk Sigmoid bipolar (tangen hiperbolik) dituliskan sebagai berikut:
- Hitung forward computing untuk sekumpulan data pertama (p=1).
- Terapkan input vektor x terhadap node input (x), menghasilkan input untuk hidden node, merupakan perkalian dot yang menghasilkan nilai skalar.
- Hitung output vektor x(1)pada hidden layer. Nilai ini merupakan input untuk output layer.
- Hitung output vektor
Tujuan pembelajaran NN pada dasarnya adalah menurunkan jumlah kuadrat error (SSE, Square Sum Error )
untuk setiap nilai training sample, P, yang yang diberikan sampai suatu nilai sekecil mungkin (mendekati nol). Hal ini dilakukan dengan membandingkan nilai yang diharapkan (desire output), d, dengan nilai output hasil pembelajaran / pelatihan, o.

d, m merupakan koreksi error untuk masing , masing bobot. d untuk koreksi error pada node output dan m merupakan koreksi error pada node hidden.
- Update nilai w
- Gunakan nilai w yang baru untuk melakukan perhitungan dari awal, (langkah 7 – 9).
- Periksa apakah nilai output (pada langkah forward computing) sudah sama atau mendekati output yang diharapkan.
- Untuk jumlah data yang lebih besar, jika langkah 10 sudah dicapai, dilakukan pengujian menggunakan menggunakan pola input selain dari yang digunakan untuk training sample.
Beberapa Catatan :
Nilai hasil percobaan nyata sering kali berupa bilangan riil yang lebih besar dari 1, atau lebih kecil dari -1, sehingga perlu dilakukan normalisasi. Cara normalisasi yang sederhana dapat dilakukan dengan cara sebagai berikut :
Misalkan kita mempunyai data hasil pengukuran [1,2,3,4,5], dan akan kita normalisasi ke dalam bi-polar (-1 s.d. 1)
- Data : 1 2 3 4 5 berarti mempunyai 4 step
- Nilai : -1 s.d 1 , mempunyai 2 step
- Step data yang kita peroleh : step = 2/4 = 0,5
- Hasil normalisasi didapatkan : -1, -0.5 ,0, 0.5, 1
Reference :
- http://www.csee.umbc.edu/~ypeng/F11NN/NN.html
- http://en.wikipedia.org
- Ben Krose, Petrick, an introduction to Neural Network, Amsterdam, 1996
- Mr. M. Aziz Muslim, Ph.D, presentation at SKI class of 2012, Wednesday, 3, 10 Oktober 2012.
- Kuswara Setiawan, Dr, Ir, MT, Paradigma Sistem Cerdas, Bayu Media, 2003
Komentar