Klasifikasi Season 3 ANN Perceptron Pengenalan Pola Materi














- Slides: 14
Klasifikasi (Season 3) ANN Perceptron Pengenalan Pola Materi 3 Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012
Artificial Neural Network � ANN merupakan suatu konsep rekayasa pengetahuan dalam bidang kecerdasan buatan yang didesain dengan mengadopsi sistem saraf manusia ◦ Pemrosesan utama sistem syaraf manusia ada di otak. � Bagian terkecil dari otak adalah sel saraf yang disebut sebagai unit dasar pemroses informasi (neuron). ◦ Ada sekitar 10 milyar neuron dalam otak manusia, sekitar 60 trilyun koneksi (disebut synapse) antar neuron dalam otak manusia (Shepherd dan Koch, 1990). � Penggunaan neuron-neorun tersebut secara simultan, otak manusia dapat memproses informasi secara paralel dan cepat ◦ bahkan lebih cepat dari komputer tercepat saat ini � Elemen neuron: badan sel (disebut soma), sejumlah serat yang menyalurkan informasi ke neuron (disebut dendrite), dan sebuah serat tunggal keluar dari neuron (disebut axon) 2
Artificial Neural Network � ANN terdiri dari : ◦ Sebuah unit pemroses, disebut neuron (axon kalau dalam otak manusia) yang berisi penambah (adder) dan fungsi aktivasi, ◦ Sejumlah bobot (synapse dalam otak manusia) ◦ Sejumlah vektor masukan (dendrite dalam otak manusia). ◦ Fungsi aktivasi, berguna untuk mengatur keluaran yang diberikan oleh neuron. Seperti halnya manusia yang otaknya selalu belajar dari lingkungan, ANN membutuhkan proses pelatihan agar ANN dapat melakukan prediksi kelas suatu data uji baru yang ditemukan. � Algoritma proses pelatihan ANN: Perceptron, Backpropagation, Self Organizing Map (SOM), Delta, Associative Memori, Learning Vector Quantization, dsb. � 3
Fungsi aktivasi � Fungsi aktivasi linear � Fungsi aktivasi step ◦ Step biner ◦ Step bipolar � Fungsi aktivasi sigmoid biner bipolar 4
Artificial Neural Network Ditinjau dari jumlah layer, ANN bisa dibagi menjadi 2 macam: ANN layer tunggal dan ANN layer jamak. � ANN dengan layer tunggal mempunyai satu lapis neuron pemroses. � ◦ Satu lapis bisa berisi banyak neuron. ◦ Contoh algoritma ANN layer tunggal: Perceptron, Delta, dsb. � ANN layer tunggal ANN dengan layer jamak mempunyai sejumlah neuron perantara yang menghubungkan vektor masukan dengan layer keluar, layer perantara ini disebut sebagai layer tersembunyi (hidden layer). ◦ Contoh algoritma ANN layer jamak: Back -propagation, Construktive Backpropagation, Recurrent Neural Network, dsb. ANN layer jamak 5
Perceptron � Perceptrom merupakan salah satu jenis ANN dengan layer tunggal. � Pertama kali diperkenalkan oleh Frank Rosenblatt yang berisi algoritma pelatihan yang digunakan untuk membangun model ANN (Rosenblatt, 1958). � Perceptron yang paling sederhana menggunakan satu neuron pemroses ◦ Karena hanya satu neuron pemroses maka perceptron dengan satu neuron hanya bisa melakukan klasifikasi dua kelas. ◦ Jika ingin klasifikasi dengan jumlah kelas lebih dari dua, digunakan jumlah neuron sama dengan jumlah kelasnya, misal untuk klasifikasi tiga kelas digunakan tiga neuron, untuk klasifikasi empat kelas digunakan empat neuron, dan seterusnya. 6
Algoritma Pelatihan perceptron D = {(xi, yi)|i = 1, 2, 3. . . , n} adalah himpunan data latih Inisialisasi bobot awal w(0) repeat for setiap data latih do Hitung v = jumlah hasil kali setiap fitur dengan bobot masing-masing Hitung y’ dengan fungsi aktivasi Hitung error sebagai hasil selisih antara target kelas y dengan y’ if error masih ada then Ubah bobot, w(k+1) = w(k) + . error. X end if end for until kondisi berhenti tercapai 7
Perceptron adalah konstanta laju pembelajaran (learning rate) nilainya mulai 0 sampai 1. � Nilai error adalah selisih antara target kelas yang diinginkan y dengan nilai keluaran yang didapatkan y’, jika nilainya masih melebih batas maka dilakukan perubahan bobot. Sedangkan X adalah vektor masukan (data) yang sedang diproses. � Kondisi berhentinya proses pelatihan: � ◦ Tidak adanya error pada nilai keluaran semua vektor masukan ◦ Sum of Square Error (SSE) ◦ Jumlah iterasi pelatihan � Contoh kasus sederhana penyelesaian masalah pengenalan pola data masukan dengan kelas sebagai keluaran hasil prediksi adalah masalah memodelkan operasi logika AND dengan ANN x 1 1 1 0 0 x 2 1 0 kelas (y) 1 0 0 0 w 1 = 2 w 2= 2 T=3 8
Contoh � Klasifikasi perkiraan kebangkrutan keuangan orang. � Fitur yang digunakan: harta dan utang. � Data set ada 5, harta dan utang (dalam satuan juta). FITUR STATUS HARTA UTANG 1. 2 0. 3 Tidak Bangkrut 0. 8 0. 6 Tidak Bangkrut 1. 1 1 Tidak Bangkrut 0. 4 1 Bangkrut 0. 5 1. 5 Bangkrut Representasi status: 1= Tidak bangkrut 0 = Bangkrut � Jika ada orang dengan harta (x 1) sebesar 0. 7 juta, utang (x 2) sebesar 0. 6 juta. Apakah dia bangkrut atau tidak ? 9
Penyelesaian dengan Perceptron Bobot awal untuk w 1 dan w 2 masing-masing -1. 8 dan 2. 9 � Laju pembelajaran = 0. 9, T untuk fungsi aktivasi step = 0 � ite masukan v [x 1 x 2] 1 2 3 4 [1. 2 0. 3] [0. 8 0. 6] [1. 1 1] [0. 4 1] [0. 5 1. 5] -1. 2900 1. 3260 2. 3780 2. 8820 2. 8650 -1. 5600 0. 3540 0. 6950 1. 0100 0. 0300 -1. 8300 -0. 6180 0. 3440 -0. 0340 -0. 1050 0. 5730 0. 2820 0. 3440 -0. 0340 -0. 1050 kelu targe aran t y' d Inisialisasi 0 1 1 1 0 1 0 0 1 1 1 0 0 error 1 0 1 -1 -1 1 0 0 -1 -1 1 1 0 0 0 0 delta bobot baru [ w 1 w 2] [-1. 8 2. 9] [-0. 7200 3. 1700] [-1. 0800 2. 2700] [-1. 5300 0. 9200] [-0. 4500 1. 1900] [-0. 8100 0. 2900] [-1. 2600 -1. 0600] [-0. 1800 -0. 7900] [0. 5400 -0. 2500] [0. 5400 -0. 2500] [1. 0800 0. 2700] [0 0] [-0. 3600 -0. 9000] [-0. 4500 -1. 3500] [1. 0800 0. 2700] [0. 7200 0. 5400] [0 0] [0 0] Bobot akhir 10
Penyelesaian dengan Perceptron Setelah 4 kali iterasi, ternyata tidak ditemukan error, maka iterasi dihentikan � Didapatkan bobot akhir (sebagai model) perceptron [w 1 w 2] = [0. 5400 -0. 2500] � Menggunakan bobot akhir tersebut untuk mendapatkan hasil prediksi data uji [0. 7 0. 6] � ◦ v= x 1*w 1+x 2*w 2 = 0. 7*0. 5400+0. 6*(-0. 2500) = 0. 2280 ◦ y = sign(v) = sign(0. 2280) = 1 ◦ Karena y = 1 (Tidak bangkrut) maka orang tersebut dikategorikan tidak bangkrut. Kelas bangkrut Garis keputusan perceptron Kelas tidak bangkrut 11
Nama file: perceptron_bangkrut. m % jaringan Perceptron AND data_latih = [ %x 1 x 2 1. 2 0. 3 0. 8 0. 6 1. 1 1 0. 4 1 0. 5 1. 5 ]; kelas_latih = [ 1 1 1 0 0 ]'; bobot = [ -1. 8 2. 9 ]; lr = 0. 9; [M, N]=size(data_latih); for iterasi=1: 6 for i=1: M v = data_latih(i, : ) * bobot'; yk = fa_threshold(v); if target(i) - yk ~= 0 i deltabobot = lr * (kelas_latih(i) - yk) * data_latih(i, : ) bobot = bobot + deltabobot; end display(['Bobot pada iterasi ke-', num 2 str(iterasi), ' = ', mat 2 str(bobot')]); End %Menggambar diagram data latih dan garis keputusan perceptron % -----BERLAKU HANYA UNTUK DATA 2 FITUR----plot(data_latih(logical(kelas_latih), 1), data_latih(logical(kelas_latih), 2), 'kx', 'Marker. Size', 8); axis([0 2 0 2]); hold on plot(data_latih(logical(1 -kelas_latih), 1), data_latih(logical(1 -kelas_latih), 2), 'k+', 'Marker. Size', 8); axis([0 2 0 2]); %Menggambar fungsi bobot a(1, 1) = 1; a(1, 2) = a(1)*bobot(1) / (-bobot(2)); b(1, 1) = -5; b(1, 2) = b(1)*bobot(1) / (-bobot(2)); garis = [a; b]; plot(garis(: , 1), garis(: , 2)); %Prediksi data_uji = [0. 5400 -0. 2500]; v = data_uji * bobot'; y = fa_threshold(v) 12
Untuk fungsi aktivasi Nama file: fa_threshold. m function y = fa_threhold(v) if v >= 0 y = 1; else y = 0; end Bagaimana jika ada orang dengan keuangan seperti dibawah ini ? FITUR STATUS HARTA UTANG 1 1. 6 ? 0. 3 0. 4 ? 0. 65 1. 44 ? 0. 87 1. 25 ? 0. 21 0. 5 ? Model garis keputusan yang didapat sebelumnya 13
To Be Continued … Clustering ANY QUESTION ? 14