Langsung ke konten utama

Langkah – langkah Pembelajaran Multi Layer Perceptron dengan Back Propagation



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)
o   ; artinya bobot antara node 1 layer 0 dan node 2 layer 1
-          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.
-          Pola input                            
-          Pola output                         
-          Output yang diharapkan        
-          Error  , adalah error untuk output j ketika input xp digunakan.
Total kuadrat error (SSE)
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 :
  1. 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.
  2. Desain model Neural Network Multi Layer sesuai dengan ketentuan (mis, jumlah hidden layer untuk input bipolar = 2 kali input).
  3. 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.
  4. 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]
  1. Tentukan Learning rate, h, bisanya lebih kecil dari 1, mis 0,2.
  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:




  1. Hitung forward computing untuk sekumpulan data pertama (p=1).
    1. Terapkan input vektor x terhadap node input (x), menghasilkan input untuk hidden node, merupakan perkalian dot yang menghasilkan nilai skalar.
    1. Hitung output vektor x(1)pada hidden layer. Nilai ini merupakan input untuk output layer.

    1. Hitung output vektor
  1. Hitung error BP,
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.
  1. Update nilai w
·                ,merupakan delta w pada node output
·           ,update w pada node output
·                , merupakan  delta w pada node hidden
·           , update w pada node hidden

  1. Gunakan nilai w yang baru untuk melakukan perhitungan dari awal, (langkah 7 – 9).
  2. Periksa apakah nilai output (pada langkah forward computing) sudah sama atau mendekati output yang diharapkan.
  3. 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)
    1. Data : 1 2 3 4 5 berarti mempunyai 4 step
    2. Nilai : -1 s.d 1 , mempunyai 2 step
    3. Step data yang kita peroleh : step = 2/4 = 0,5
    4. Hasil normalisasi didapatkan : -1, -0.5 ,0, 0.5, 1
Jumlah node input lebih mudah jika disesuaikan dengan class output bukan jumlah output. Misalkan suatu output, d, mempunyai class : tinggi, sedang, rendah. Maka lebih mudah jika dibuat 3 node untuk output.

Reference :
  1. http://www.csee.umbc.edu/~ypeng/F11NN/NN.html
  2. http://en.wikipedia.org
  3. Ben Krose, Petrick, an introduction to Neural Network, Amsterdam, 1996
  4. Mr. M. Aziz Muslim, Ph.D, presentation at SKI class of 2012, Wednesday, 3, 10 Oktober 2012.
  5. Kuswara Setiawan, Dr, Ir, MT, Paradigma Sistem Cerdas, Bayu Media, 2003
Sources : areatekno.com

Komentar

Postingan populer dari blog ini

Dasar teknik instalasi listrik untuk teknisi komputer – bagian 1

Oleh : Setiyo Budi Tidak dapat dipungkiri bahwa komputer adalah sebuah perlatan listrik yang membutuhkan sumber daya yang sesuai agar dapat beroperasi dengan baik / maksimal. Salah satu syarat agar daya listrik dari sumber (PLN) dapat mengoperasikan komputer dengan baik maka diperlukan prosedur pengkabelan atau instalasi kabel yang sesuai dengan standar. Simbol – simbol listrik Sebelum melakukan instalasi kelistrikan pada suatu ruang atau laboratorium komputer, maka yang pertama perlu dilakukan adalah melakukan perancangan pengkabelan pada ruang tersebut. Manfaat perencanaan ini diantaranya adalah untuk pengembangan dan troubleshooting di kemudian hari. Perancangan dilakukan dengan menggambar diagram skematik yang menggambarkan semua peralatan yang akan dihubungkan. Untuk itu perlu diketahui simbol – simbol kelistrikan yang digunakan untuk keperluan tersebut. Diagram skematik adal...

Perawatan Stavolt / AVR

Sampai saat ini banyak pengguna PC yang mempercayakan urusan stabilisasi tegangan yang mencatu komputernya kepada perangkat stavolt (stabilisator voltase) atau AVR (Automatic Voltage Regulator). Meskipun jika dirunut dua istilah itu bisa jadi dua perangkat yang berbeda. Kebanyakan pengguna PC menggangap istilah itu sama. Fungsi utama stavolt / AVR memang menjaga agar tegangan AC yang digunakan untuk mencatu unit PC tetap / stabil pada tegangan kerja (220 Volt).

Komponen Elektronika pada Rangkaian Komputer (part 1 of 2)

Bagian 1 : Komponen Pasif Perangkat komputer yang digunakan saat ini merupakan komputer generasi ke 4 yang dapat dikatakan sebagai perangkat elektronika. Hanya hardisk dan CD/DVD rom yang di dalamnya masih terdapat mekanisme mekanik, namun kedua perangkat tersebut tetap dikatakan sebagai perangkat elektronik. Perangkat elektronika mengolah sinyal – sinyal melalui rangkaian – rangkaian elektronik yang bekerja secara bersama / terintegrasi dalam suatu sistem. Satu rangkaian / sistem komputer seperti kita ketahui tersusun dari banyak rangkaian pendukung / penyusun. Rangkaian ini dapat berupa rangkaian yang terintegrasi atau menyatu pada motherboard (on-board) maupun rangkaian yang dapat dipasang terpisah, card – card atau perangkat eksternal. Satu rangkaian dengan fungsi tertentu dapat tersusun dari satu atau lebih rangkaian dasar. Rangkaian – rangkaian tersebut tersusun atas kom...