220 likes | 720 Views
Klasifikasi ( Season 1 ) Naive Bayes. Pengenalan Pola Materi 3. Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012. Konsep Klasifikasi.
E N D
Klasifikasi (Season 1)Naive Bayes PengenalanPola Materi 3 Eko Prasetyo TeknikInformatika UPN “Veteran” JawaTimur 2012
KonsepKlasifikasi • Klasifikasimerupakansuatupekerjaan yang melakukanpenilaianterhadapsuatuobyek data untukmasukdalamsuatukelastertentudarisejumlahkelas yang tersedia. • Adaduapekerjaanutama: • Pembangunan model sebagai prototype untukdisimpansebagaimemori • Menggunakan model tersebutuntukmelakukanpengenalan/klasifikasi/prediksipadasuatuobyek data lain masukpadakelasmana • Contohaplikasi: • Klasifikasipengenalanjenishewanspesiesbaru. • Diagnosis penyakirpasien • Pengenalanjenisbunga • Pemeriksaankualitasbungakamboja (bahanteh) • Absensikaryawan (dengansidikjari, mata, wajah, tangan, dsb.)
Model • Klasifikasimerupakanpekerjaan yang melakukanpelatihan/pembelajaranterhadapfungsi target f yang memetakansetiap set atribut (fitur) xkesatudarisejumlah label kelasy yang tersedia. • Akanmenghasilkansuatu model yang kemudiandisimpansebagaimemori. • Model dalamklasifikasisamaartinyadenganblack box • Adasuatu model yang menerimamasukankemudianmampumelakukanpemikiranterhadapmasukandanmemberikanjawabansebagaikeluarandarihasilpemikirannya. • Pembangunan model selamaprosespelatihanmenggunakanalgoritmapelatihan (learning algorithm)
AlgoritmaKlasifikasi • Dibagimenjadiduamacam: eager learnerdanlazy learner. • Eager learner • Didesainuntukmelakukanpembacaan/ pelatihan/ pembelajaranpada data latihuntukdapatmemetakandenganbenarsetiapvektormasukanke label kelaskeluarannya. • Model (berupabobot / sejumlahnilaikuantitastertentu) disimpansebagaimemori, sedangkansemua data latihnyadibuang. • Prediksidilakukanmenggunakan model yang tersimpan, tidakmelibat data ujisamasekali • Trade-off: • Prosesprediksiberjalandengancepat • Prosespelatihan lama • Contoh: Artificial Neural Network (ANN), Support Vector Machine (SVM), Decision Tree, Bayesian, dansebagainya.
AlgoritmaKlasifikasi • Lazy learner • Hanyasedikitmelakukanpelatihan (bahkantidaksamasekali) • Hanyamenyimpansebagianatauseluruh data latih, kemudianmenggunakan data latihtersebutketikaprosesprediksi. • Trade-off • Prosesprediksimenjadi lama karena model harusmembacakembalisemua data latihnyauntukdapatmemberikankeluaran label kelasdenganbenarpada data uji yang diberikan. • Prosespelatihanberjalandengancepat • Contoh: K-Nearest Neighbor (K-NN), Fuzzy K-Nearest Neighbor (FK-NN), Regresi Linear, dansebagainya.
PengukuranKinerjaKlasifikasi • Kinerjaprediksisuatusistemtidakbisabekerja 100% benar. • Untuksebuahsistemklasifikasiharusdiukurkinerjanya. • Menggunakanmatrik confusion (confusion matrix). • Matrik confusion: tabel yang mencatathasilkerjaklasifikasi • Jumlah data darimasing-masingkelas yang diprediksisecarabenaradalah (f11 + f00), dan data yang diprediksisecarasalahadalah (f10 + f01) • Pengukuranakhir: akurasidanlaju error C = confusionmat(group,grouphat)
Contoh kelas_asli = [1 1 1 2 2 2 2 2]; kelas_hasil = [1 2 1 1 2 2 2 1]; jumlah_data_uji = size(kelas_asli,2); conmat = confusionmat(kelas_asli, kelas_hasil) hasil_benar = sum(conmat(logical(eye(2)))) hasil_salah = jumlah_data_uji - hasil_benar akurasi = hasil_benar / jumlah_data_uji lajuerror = hasil_salah / jumlah_data_uji
Naive Bayes Classifier • Teknikprediksiberbasisprobabilistiksederhana yang berdasarpadapenerapanteoremaBayes • Asumsiindependensi (ketidaktergantungan) yang kuat (naif). • Model yang digunakanadalah “model fiturindependen” • Independensi yang kuatpadafituradalahbahwasebuahfiturpadasebuah data tidakadakaitannyadenganadanyaatautidakadanyafitur yang laindalam data yang sama. • Contoh: kasusklasifikasihewandenganfitur: penutupkulit, melahirkan, berat, danmenyusui • Dalamdunianyata, hewan yang berkembangbiakdengancaramelahirkandipastikanhewantersebutmenyusuijuga, disiniadaketergantunganpadafiturmenyusuikarenahewan yang menyusuibiasanyamelahirkan, atauhewan yang bertelurbiasanyatidakmenyusui. • DalamBayes, haltersebuttidakdipandang, sehinggamasing-masingfiturseolahtidakadahubunganapa-apa. • Kasus lain: prediksihujan • Hujantergantungangin, cuacakemarin, kelembabaudara (tidakadakaitansatusama lain) • Tapijugatidakbolehmemasukkanfitur lain yang tidakadahubungannyadenganhujan, seperti: gempabumi, kebakaran, dsb.
TeoremaBayes • IdedasaraturanBayes: hasildarihipotesisatauperistiwa (H) dapatdiperkirakanberdasarkanpadabeberapa evidence (E) yang diamati. • Hal pentingdalamBayes: • Sebuahprobabilitasawal/priori H atau P(H), adalahprobabilitasdarisuatuhipotesissebelumbuktidiamati. • Sebuahprobabilitas posterior H atau P(H|E), adalahprobabilitasdarisuatuhipotesissetelahbukti-bukti yang diamatiada. • P(H|E): Probabilitas posterior bersyarat (Conditional Probability) suatuhipotesis H terjadijikadiberikan evidence/bukti E terjadi • P(E|H): Probabilitassebuah evidence E terjadiakanmempengaruhihipotesis H • P(H): Probabilitasawal (priori) hipotesis H terjaditanpamemandang evidence apapun • P(E):Probabilitasawal (priori) evidence E terjaditanpamemandanghipotesi/evidence yang lain
Contoh • Dalamsuatuperamalancuacauntukmemperkirakanterjadinyahujan, misaladafaktor yang mempengaruhiterjadinyahujanyaitumendung. • Jikaditerapkandalam Naïve Bayesmakaprobabilitasterjadinyahujanjikabuktimendungsudahdiamati: • P(Hujan|Mendung) adalahnilaiprobabilitashipotesishujanterjadijikabuktimendungsudahdiamati • P(Mendung|Hujan) adalahprobabilitasbahwamendung yang diamatiakanmempengaruhiterjadinyahujan • P(Hujan) adalahprobabilitasawalhujantanpamemandangbuktiapapun • P(Mendung) adalahprobabilitasterjadinyamendung • TeoremaBayesjugabisamenanganibeberapa evidence, misalnyaada E1, E2, dan E3, makaprobabilitas posterior untukhipotesishujan: • Bentukdiatasdapatdiubahmenjadi: • Untukcontohdiatas, jikaditambahkan evidence suhuudaradanangin
Naïve BayesuntukKlasifikasi • Korelasihipotesisdan evidence Bayesdenganklasifikasi • Hipotesismerupakanlabel kelas yang menjadi target pemetaandalamklasifikasi, • Evidence merupakanfitur-fitur yang menjadimasukandalam model klasifikasi. • Jika X adalahvektormasukan yang berisifitur, dan Y adalah label kelas, maka Naïve Bayesdituliskandengan P(Y|X) • P(Y|X) adalahprobabilitas label kelas Y didapatkansetelahfitur-fitur X diamati, disebutjugaprobabilitasakhir (posterior probability) untuk Y. • P(Y) disebutprobabilitasawal (prior probability) Y • Pembelajaranprobabilitasakhir (P(Y|X) pada model untuksetiapkombinasi X dan Y berdasarkaninformasi yang didapatdari data latih. • Denganmembangun model tersebut, makauntuksuatu data uji X’ dapatdiklasifikasikandenganmencarinilai Y’ denganmemilihnilai P(Y’|X’) maksimal yang didapat
Naïve BayesuntukKlasifikasi • Formulasi Naïve Bayesuntukklasifikasi • P(Y|X) adalahprobabilitas data denganvektor X padakelas Y, • P(Y) adalahprobabilitasawalkelas Y, adalahprobabilitasindependenkelas Y darisemuafiturdalamvektor X. • P(X) selalutetap, sehinggadalamperhitunganprediksinantinyacukuphanyadenganmenghitungbagianpembilang (atas) denganmemilih yang terbesarsebagaikelas yang dipilihsebagaihasilprediksi. • probabilitasindependen • merupakanpengaruhsemuafiturdari data terhadapsetiapsebuahkelas Y, dinotasikan: • Dimanasetiap set fitur X = {X1, X2, X3, …, Xq} yang terdiridariqatribut (qdimensi)
Perlakukan Naïve Bayesuntuktipe data fitur • UmumnyaBayesmudahdihitunguntukfiturbertipekategorikal • Sepertifitur ‘penutupkulit’ {bulu, rambut, cangkang} • Fitur ‘jeniskelamin’ dengannilai {pria, wanita} • Fiturdengantipenumerik (kontinyu) adaperlakuankhusussebelumdimasukkandalam Naïve Bayes. • Duacara: diskretisasi, asumsidistribusi • Diskretisasi: padasetiapfiturkontinyudanmenggantinilaifiturkontinyutersebutdengannilai interval diskrit. • Dilakukandenganmentransformasifiturkontinyukedalamfitur ordinal. • Mengasumsikanbentuktertentudaridistribusiprobabilitasuntukfiturkontinyudanmemperkirakan parameter distribusimenggunakan data training. • Distribusi Gaussian biasanyadipilihuntukmerepresentasikan conditional probability fiturkontinyupadasebuahkelas P(Xi|Y). • Distrubusi Gaussian dikarakteristikkandengandua parameter: mean, , danvarian, 2, x adalahnilaifiturpada data yang akandiprediksi.
Contoh • Data latihklasifikasihewan. • Jikaadasebuah data ujiberupahewanmusangdengannilaifitur: penutupkulit = rambut, melahirkan = ya, berat = 15, masukkelasmanakahuntukhewanmusangtersebut ?
Contoh • Hitungnilaiprobabilitasuntukfiturdengantipenumerikyaituberat. • Hitungprobabilitasakhiruntuksetiapkelas: P(X | Mamalia) = P(Kulit = Rambut | Mamalia) x P(Lahir = Ya | Mamalia) x P(Berat = 15 | Mamalia) = 5/6 x 1 x 0.0104 = 0.0087 P(X | Reptil) = P(Kulit = Rambut | Reptil) x P(Lahir = Ya | Reptil) x P(Berat = 15 | Reptil) = 0 x 0.25 x 0.8733 = 0 • Nilaitersebutdimasukkanuntukmendapatkanprobabilitasakhir: • P(Mamalia | X) = x 0.6 x 0.0087 = 0.0052 • P(Reptil | X) = x 0 x 0.4 = 0 • = 1/P(X) pastinilainyakonstansehinggatidakperludiketahuikarenaterbesardariduakelastersebuttidakdapatdipengaruhi P(X). • Karenanilaiprobabilitasakhir (posterior probability) terbesaradadikelasmamalia, maka data ujimusangdiprediksisebagaikelasmamalia.
ImplementasiMatlab • Fungsiuntukmembuatobyekdalammatlabuntukmelakukanklasifikasidengan Naïve Bayesyaitu fit() dan predict(). • Sintaks yang digunakan: • nb = NaiveBayes.fit(training, class) • cpre = nb.predict(nb,test) • Fungsi fit() untukmembangun model, predict() untukmelakukanprediksi
Contohdimatlab data = [ 1 1 20 1 2 1 0.8 2 3 1 21 2 3 1 120 2 1 2 0.4 1 3 1 1.5 2 4 2 0.3 1 3 1 43 2 3 1 45 2 4 2 7 1 ]; data_uji = [3 1 15]; data_latih = data(:,1:3); kelas_latih = data(:,4); model = NaiveBayes.fit(data_latih, kelas_latih) kelas_uji_hasil = model.predict(data_uji) Nilaifiturdikelas 2 nilaivariannya 0. Error diperintah training !
To Be Continued … Klasifikasi (Season 2) ANY QUESTION ?