SUPERVISED LEARNING : CARA KERJA PERCEPTRON

ALGORITMA 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 :
klasifikasi perceptron
klasifikasi perceptron

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.

Nah, bagaimana dengan algoritmanya ?

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 :
rumus vektor missclasifikasi
rumus vektor missclasifikasi perceptron
  • 3. Misclassification dapat juga dicari dengan rumus aktivasi, seperti berikut :
rumus aktivasi perceptron
rumus aktivasi perceptron

  • 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 :
ketentuan treshold perceptron
ketentuan treshold perceptron

  • 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 :
rumus menemukan bobot baru
rumus menemukan bobot baru

  • 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.
Sumber : 
pertemuan 10 machine learning Institut Teknologi PLN
https://medium.com/kelompok1/mengenal-jenis-pembelajaran-mesin-supervised-learning-dan-unsupervised-learning-c588881e8ef5
https://www.ketutrare.com/2013/03/algoritma-perceptron.html