PENGERTIAN PERCEPTRON



DEFINISI PERCEPTRON

Perceptron adalah salah satu metode Jaringan Syaraf Tiruan (JST) sederhana yang menggunakan algoritma training untuk melakukan klasifikasi secara linier. Perceptron digunakan untuk melakukan klasifikasi sederhana dan membagi data untuk menentukan data mana yang masuk dalam klasifikasi dan data mana yang missclasifikasi (diluar klasifikasi). Perceptron dapat kita gunakan untuk memisahkan data yang dapat kita bagi menjadi 2 kelas, misalnya kelas C1 dan kelas C2.

Perceptron dalam Jaringan Syaraf Tiruan memiliki bobot yang bisa diatur dalam suatu ambang batas (threshold). Melalui proses pembelajaran (learning), Algotirma Perceptron akan mengatur parameter-parameter bebasnya. 

Agar tidak bingung, dibawah ini adalah gambaran dari pengklasifikasian kelas C1 dan C2 :

Tanda x (biru) dan tanda o (merah) pada gambar diatas dicontohkan adalah dua buah data yang akan diklasifikasi. Dimana kedua data tersebut akan dipisahkan dengan suatu garis hyperplane yang membagi data menjadi dua klasifikasi. Dimana ( g(x) ) merupakan vektor hyperplane yang memisahkan kelas C1 (data x) dan C2 (data o). Apabila nilai g(x) < 0 (g(x) lebih kecil dari nol) maka data tersebut termasuk dalam kelas C2, sedangkan apabila g(x) > 0 (g(x) lebih besar dari nol) maka data tersebut termasuk kedalam kelas C1.

Untuk algoritma pembelajaran perceptron adalah seperti berikut :
1. Inisialisasi semua inputan, matriks vector, target, dan learning rate.
2. Kita lakukan pengecekan untuk semua vector yang misclassification dengan menggunakan rumus berikut :
3. Misclassification dapat juga dicari dengan rumus aktivasi, seperti berikut :   

  • Jaringan terdiri dari beberapa unit masukan ( ditambah sebuah bias ), dan memiliki sebuah unit keluaran. Hanya saja fungsi aktivasi merupakan fungsi biner ( atau bipolar ), tetapi memiliki kemungkinan nilai -1, 0 atau 1.
  • Dengan ketentuan untuk suatu harga threshold θ yang ditentukan sebagai berikut :
4. Jika hasilnya bernilai negatif, maka terjadi miss classification dan kalikan hasilnya dengan negatif learning rate. Kemudiah hasilnya disimpan dalam bentuk matriks untuk seluruh inputan yang miss clasification.
5. Kemudian lakukan perubahan bobot yang baru dengan menggunakan rumus :
6. Kemudian ulangi langkah 2 hingga tidak terdapat lagi vector misclassification.

Beberapa hal yang perlu diperhatikan dalam algoritma Perceptron :
  1. Iterasi dilakukan terus menerus sehingga semua pola memiliki keluaran jaringan yang sama dengan targetnya (jaringan sudah memahami pola).
  2. Pola perubahan bobot hanya dilakukan pada pola yang mengandung kesalahan (output/keluaran jaringan = target). Perubahan yang dilakukan adalah hasil kali unit masukan dengan target. Perubahan bobot hanya terjadi jika masukan != 0).
  3. Kecepatan iterasi ditentukan oleh laju pemahaman (learning rate -alpha)( 0 <= alpha (a) <= 1 ) yang digunakan. Semakin besar nilai a (alpha) maka semakin sedikit iterasi yang diperlukan untuk pembelajaran. Namun sebaliknya jika nilai a (alpha) terlalu besar maka akan merusak pola yang sudah benar sehingga pembelajaran menjadi lambat.

Algoritma pelatihan perseptron lebih baik dibandingkan model Hebbian karena:
 a.  Setiap kali pola dimasukkan, hasil keluaran jaringan dibandingkan dengan target yang sesungguhnya. Jika terdapat perbedaan, maka bobot akan dimodifikasi. Jadi tidak semua bobot selalu dimodifikasi dalam setiap iterasinya
b. Modifikasi bobot tidak hanya ditentukan oleh perkalia antara target dan masukan, tetapi juga melibatkan suatu laju pembelajaran yang besar dapat diatur.
c.  Pelatihan dilakukan berulang-ulang untuk semua kemungkinan pola yang ada hingga jaringan dapat mengerti polanya (ditandai dengan samanya semua  keluaran  jaringan  dengan  target  keluaran  yang  diiinginkan).  Satu siklus pelatihan yang melibatkan semua pola disebut  Epoch. Dalam jaringan Hebbian, pelatihan hanya dilakukan dalam satu Epoch saja.
d.  Teorema  konvergensi  perseptron  menyatakan  bahwa  apabila  ada  bobot yang tepat, maka proses pelatihan akan konvergen ke bobot yang tepat tersebut.

Komentar

Posting Komentar

Postingan populer dari blog ini

perbedaan antara rangkaian kontrol close loop dan open loop

Pengertian PLC, SCADA, BAS, BMS, dan RTU

Simulasi PLC rangkaian Mesin Cuci Mobil Otomatis dengan Menggunakan kombinasi CX Programmer dengan CX Designer