1
Fokus pd desain fungsi pembeda (discriminant function) atau decision surface scr langsung yang membedakan satu kelas dengan kelas yg lain berdasarkan kriteria yg telah ditentukan. Pada dasarnya lebih sulit drpd classifier berdasar teori bayes, terutama untuk data dimensi tinggi. Menguntungkan krn tdk hrs menentukan fungsi PDF, dan lebih disarankan jika data yg tersedia tdk cukup banyak. 2
Dimulai dgn pers linear sederhana: atau dpt jg dinyatakan sbg: dalam hal ini dipilih utk bekerja dalam ruang R l+1, bukan R l dengan menambahkan w 0. Begitu w dpt diestimasi, maka utk kasus 2 kelas, suatu vektor dpt diklasifikasikan dgn cara: 3
Classifier jenis ini membuat sebuah permukaan hyperplane yang membatasi kelas-kelas yang ada. Dalam kasus 2 kelas, maka permukaan hyperplane akan memisahkan kelas satu di satu sisi hyperplane dan kelas 2 pada sisi hyperplane yg lain. Untuk kemudahan notasi maka utk selanjutnya hanya akan digunakan notasi w dan x yg keduanya diasumsikan sdh dinaikkan dimensinya satu derajat lebih tinggi. 4
Lineary separable : dpt dipisahkan dgn permukaan hyperplane yg linear. Contoh: 5
Non lineary separable Contoh: 6
Algoritma Perceptron sesuai utk kasus 2 kelas yg lineary separable (dpt pisah scr linear) Algoritma Perceptron menghitung nilai-nilai bobot w dari classifier linear yg memisahkan kedua kelas yg ada. Perceptron menggunakan cara iteratif. Iterasi dimulai dari estimasi bobot awal dan konvergen ke suatu penyelesaian akhir melalui sejumlah iterasi yang tertentu (finite) Bobot akhir penyelesaian mengklasifikasikan data yg ada menjadi 2 kelas (asumsi bahwa data adl lineary separable) 7
Perceptron konvergen ke salah satu penyelesaian yg mungkin dari tak-hingga penyelesaian yg ada. Dengan estimasi bobot awal yg berbeda maka akan dihasilkan permukaan hyperplane yg berbeda pula. Iterasi ke-t mpy bentuk: w : vektor yg telah diaugmentasi dgn w 0 Y : data yg diklasifikasi scr salah oleh bobot saat ini yaitu w(t) x = -1 jika x 1 dan x = +1 jika x 2 t : parameter utk mengendalikan kecepatan konvergensi (ditentukan user), dpt dipilih sbg bilangan konstan Algoritma konvergen jika Y mrpk himpunan kosong 8
Jika bobot akhir tlh ditemukan, suatu vektor x dpt diklasifikasikan melalui operasi berikut: Fungsi f(.) dpt berupa fungsi apa saja. Yg plg sederhana adl fungsi step (fungsi undak satuan) dua kutub yaitu: 1 jika f ( z) 1 jika z 0 z 0 atau dpt jg fungsi step satu kutub saja. Secara umum fungsi f(.) disebut dgn istilah fungsi aktivasi. 9
Model jaringan paling dasar disebut perceptron atau neuron Arsitekturnya diperlihatkan pd gambar berikut. 10
Bangkitkan 4 data set 2 dimensi yaitu X1, X2, X3, dan X4, masing-masing terdiri atas 2 kelas. Dlm setiap data kelas 1 (dinyatakan dgn -1) terdiri atas 100 vektor data yg terdistribusi scr seragam dlm area bujur sangkar [0,2]x[0,2]. Data kelas 2 (dinyatakan dgn +1) jg terdiri atas 100 vektor data yg terdistribusi scr seragam dlm area bujur sangkar [3,5]x[3,5], [2,4]x[2,4],[0,2]x[2,4], dan [1,3]x[1,3] masing-masing utk X1, X2, X3, dan X4. Setiap data diaugmentasi dgn koordinat ke-3 yg sama dgn 1. 11
Plot datanya. Bgmn jenis sebaran data utk X1 hingga X4? Buatlah script utk menjalankan algoritma perceptron utk X1 hingga X4 dgn parameter learning rate 0,01 dan 0,05 serta estimasi awal bobot [1 1-0,5] T Ulangi utk data set X3 dgn learning rate 0,05 dan estimasi bobot awal [1 1-0,5] dan [1 1 0,5] T Berikan kesimpulannya 12
Penyelesaian Bangkitkan dataset X1 dan plot dgn script berikut hasil eksekusinya sbb: 13
4.5 4 3.5 3 2.5 Sebaran X1 2 1.5 1 0.5 0 1 2 3 4 5 Bangkitkan X2, X3, dan X4 dg script yg serupa namun dg mengganti baris ke-4 masing-masing dg: x = [2 2] x = [0 2] x = [1 1] 14
3.5 3 2.5 2 1.5 Sebaran X2 1 0.5-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 3.5 3 2.5 Sebaran X3 2 1.5 1 0.5-1.5-1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 15
2.5 2 1.5 Sebaran X4 1 0.5 0 0.5 1 1.5 2 2.5 3 Dari grafik sebaran data X1 hingga X4 terlihat bahwa dataset X1 dan X2 mempunyai sebaran yang lineary separable. Dataset X3 terllihat sangat berdekatan antar kelasnya, perlu dibuktikan scr langsung apakah lineary separable atau tdk menggunakan klasifikasi. Sedangkan dataset X4 terlihat jelas sbg sebaran yg non lineary separable. 16
Buat script fungsi utk algoritma perceptron sbb 17
Simpan fungsi dg nama perceptron.m Utk menjalankan algoritma perceptron utk X1 dgn parameter learning rate 0,01 dan estimasi awal bobot [1 1-0,5] T, buatlah script utk memanggil fungsi sbb: 18
Hasil eksekusinya adl: Iterasi Pertama: # Titik-titik salah kelas = 95 w = [0.2990 0.2936-1.0718] iter = 134 salah_kelas = 0 Artinya: Pd iterasi pertama ada 95 data yg salah kelas, bobot akhir (w) diperoleh stlh dilakukan 134 iterasi dan pd jml iterasi tsb tdk ada lagi data yg salah kelas. Bobot akhir (w) yg nantinya akan digunakan utk menentukan kelas suatu vektor baru yg blm diketahui kelasnya 19
Misalnya ada data baru x = [5 4] maka dpt ditentukan kelasnya sbb (menggunakan fungsi aktivasi step dua kutub pada halaman 9). z = w 1 x 1 + w 2 x 2 + w 0 = (0,2990)(5) + (0,2936)(4) + (-1,0718) = 1,495 + 1,1744-1,0718 = 1,5976 z > 0 maka x = [5 4] masuk ke kelas +1 TUGAS Kerjakan permasalahan pada halaman 12 selengkapnya. 20