170 likes | 574 Views
Klasifikasi ( Season 3 ) ANN Perceptron. Pengenalan Pola Materi 3. Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012. Artificial Neural Network.
E N D
Klasifikasi (Season 3)ANN Perceptron PengenalanPola Materi 3 Eko Prasetyo TeknikInformatika UPN “Veteran” JawaTimur 2012
Artificial Neural Network • ANN merupakansuatukonseprekayasapengetahuandalambidangkecerdasanbuatan yang didesaindenganmengadopsisistemsarafmanusia • Pemrosesanutamasistemsyarafmanusiaadadiotak. • Bagianterkecildariotakadalahselsaraf yang disebutsebagai unit dasarpemrosesinformasi (neuron). • Adasekitar 10 milyar neuron dalamotakmanusia, sekitar60 trilyunkoneksi (disebutsynapse) antar neuron dalamotakmanusia (Shepherd dan Koch, 1990). • Penggunaanneuron-neoruntersebutsecarasimultan, otakmanusiadapatmemprosesinformasisecaraparaleldancepat • bahkanlebihcepatdarikomputertercepatsaatini • Elemen neuron: badansel (disebutsoma), sejumlahserat yang menyalurkaninformasike neuron (disebutdendrite), dansebuahserattunggalkeluardari neuron (disebutaxon)
Artificial Neural Network • ANN terdiridari: • Sebuahunit pemroses, disebutneuron (axon kalaudalamotakmanusia) yang berisipenambah (adder) danfungsiaktivasi, • Sejumlahbobot (synapse dalamotakmanusia) • Sejumlahvektormasukan (dendrite dalamotakmanusia). • Fungsiaktivasi, bergunauntukmengaturkeluaran yang diberikanolehneuron. • Sepertihalnyamanusia yang otaknyaselalubelajardarilingkungan, ANN membutuhkanprosespelatihan agar ANN dapatmelakukanprediksikelassuatu data ujibaru yang ditemukan. • AlgoritmaprosespelatihanANN: Perceptron, Backpropagation, Self Organizing Map (SOM), Delta, Associative Memori, Learning Vector Quantization, dsb.
Fungsiaktivasi • Fungsiaktivasilinear • Fungsiaktivasistep • Step biner • Step bipolar • Fungsiaktivasi sigmoid biner • Fungsiaktivasisigmoid bipolar
Artificial Neural Network • Ditinjaudarijumlah layer, ANN bisadibagimenjadi 2 macam: ANN layer tunggaldan ANN layer jamak. • ANN dengan layer tunggalmempunyaisatu lapis neuron pemroses. • Satulapis bisaberisibanyak neuron. • Contohalgoritma ANN layer tunggal: Perceptron, Delta, dsb. • ANN dengan layer jamakmempunyaisejumlah neuron perantara yang menghubungkanvektormasukandengan layer keluar, layer perantarainidisebutsebagai layer tersembunyi (hidden layer). • Contohalgoritma ANN layer jamak: Back-propagation, ConstruktiveBackpropagation, Recurrent Neural Network, dsb. ANN layer tunggal ANN layer jamak
Perceptron • Perceptrommerupakansalahsatujenis ANN dengan layer tunggal. • Pertamakali diperkenalkanoleh Frank Rosenblatt yang berisialgoritmapelatihan yang digunakanuntukmembangun model ANN (Rosenblatt, 1958). • Perceptronyang paling sederhanamenggunakansatu neuron pemroses • Karenahanyasatu neuron pemrosesmakaperceptrondengansatu neuron hanyabisamelakukanklasifikasiduakelas. • Jikainginklasifikasidenganjumlahkelaslebihdaridua, digunakanjumlah neuron samadenganjumlahkelasnya, misaluntukklasifikasitigakelasdigunakantiga neuron, untukklasifikasiempatkelasdigunakanempat neuron, danseterusnya.
AlgoritmaPelatihanperceptron D = {(xi, yi)|i = 1,2,3...,n} adalahhimpunan data latih Inisialisasibobotawal w(0) repeat for setiap data latih do Hitung v = jumlahhasil kali setiapfiturdenganbobotmasing-masing Hitung y’ denganfungsiaktivasi Hitung error sebagaihasilselisihantara target kelas y dengan y’ if error masihada then Ubahbobot, w(k+1) = w(k) + .error.X end if end for until kondisiberhentitercapai
Perceptron • adalahkonstantalajupembelajaran (learning rate) nilainyamulai 0 sampai1. • Nilai error adalahselisihantara target kelas yang diinginkanydengannilaikeluaran yang didapatkany’, jikanilainyamasihmelebihbatasmakadilakukanperubahanbobot. Sedangkan X adalahvektormasukan (data) yang sedangdiproses. • Kondisiberhentinyaprosespelatihan: • Tidakadanya error padanilaikeluaransemuavektormasukan • Sum of Square Error (SSE) • Jumlahiterasipelatihan • Contohkasussederhanapenyelesaianmasalahpengenalanpola data masukandengankelassebagaikeluaranhasilprediksiadalahmasalahmemodelkanoperasilogika AND denganANN w1 = 2 w2= 2 T = 3
Contoh • Klasifikasiperkiraankebangkrutankeuanganorang. • Fitur yang digunakan: hartadanutang. • Data set ada 5, hartadanutang (dalamsatuanjuta). • Jikaadaorangdenganharta (x1) sebesar 0.7 juta, utang (x2) sebesar 0.6 juta. Apakahdiabangkrutatautidak ? Representasi status: 1= Tidakbangkrut 0 = Bangkrut
PenyelesaiandenganPerceptron • Bobotawaluntuk w1 dan w2 masing-masing -1.8 dan 2.9 • Lajupembelajaran = 0.9, T untukfungsiaktivasi step = 0 Bobotakhir
PenyelesaiandenganPerceptron • Setelah 4 kali iterasi, ternyatatidakditemukan error, makaiterasidihentikan • Didapatkanbobotakhir (sebagai model) perceptron [w1 w2] = [0.5400 -0.2500] • Menggunakanbobotakhirtersebutuntukmendapatkanhasilprediksi data uji [0.7 0.6] • v= x1*w1+x2*w2 = 0.7*0.5400+0.6*(-0.2500) = 0.2280 • y = sign(v) = sign(0.2280) = 1 • Karena y = 1 (Tidakbangkrut) makaorangtersebutdikategorikantidakbangkrut. Gariskeputusanperceptron Kelasbangkrut Kelastidakbangkrut
Nama file: perceptron_bangkrut.m % jaringanPerceptron AND data_latih = [ %x1 x2 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 end display(['Bobotpadaiterasi ke-',num2str(iterasi),' = ',mat2str(bobot')]); End %Menggambar diagram data latihdangariskeputusanperceptron % -----BERLAKUHANYAUNTUK DATA 2 FITUR----- plot(data_latih(logical(kelas_latih),1), data_latih(logical(kelas_latih),2),'kx', 'MarkerSize', 8); axis([0 2 0 2]); hold on plot(data_latih(logical(1-kelas_latih),1), data_latih(logical(1-kelas_latih),2),'k+', 'MarkerSize', 8); axis([0 2 0 2]); %Menggambarfungsibobot 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)
Untukfungsiaktivasi Nama file: fa_threshold.m function y = fa_threhold(v) if v >= 0 y = 1; else y = 0; end Bagaimanajikaadaorangdengankeuangansepertidibawahini ? Model gariskeputusan yang didapatsebelumnya
To Be Continued … Clustering ANY QUESTION ?