340 likes | 591 Views
Nearest Neighbor. Sistem Berbasis Fuzzy Materi 4. Eko Prasetyo Teknik Informatika Universitas Muhammadiyah Gresik 2012. Konsep Klasifikasi.
E N D
Nearest Neighbor SistemBerbasis Fuzzy Materi 4 Eko Prasetyo TeknikInformatika UniversitasMuhammadiyah Gresik 2012
KonsepKlasifikasi • Klasifikasimerupakansuatupekerjaan yang melakukanpenilaianterhadapsuatuobyek data untukmasukdalamsuatukelastertentudarisejumlahkelas yang tersedia. • Adaduapekerjaanutama yang dilakukan: • Pembangunan model sebagai prototype untukdisimpansebagaimemori, • Menggunakan model tersebutuntukmelakukanpengenalan/ klasifikasi/prediksipadasuatuobyek data lain untukdinilaibahwaobyek data tersebutmasukpadakelasmanadalam model yang sudahdisimpannya. • Contoh, pengklasifikasianjenishewan • dimanahewanmempunyaisejumlahatributsehinggadariatributtersebutdapatdiketahuijikaadahewanbarumakabisadiketahuihewantersebutmasukdalamkelas yang manasesuaidengankelas yang sudahdipelajari/diketahui.
KonsepKlasifikasi • Klasifikasiadalahpekerjaan yang melakukanpelatihan/ pembelajaranterhadapfungsi target f yang memetakansetiap set atribut (fitur) xkesatudarisejumlah label kelasy yang tersedia. • Pekerjaanpelatihanakanmenghasilkansuatu model yang kemudiandisimpansebagaimemori. • Model dalamklasifikasimempunyaiarti yang samadengan black box, • Suatu model yang menerimamasukankemudianmampumelakukanpemikiranterhadapmasukantersebutdanmemberikanjawabansebagaikeluarandarihasilpemikirannya. Algoritmapelatihan yang sudahdikembangkanolehparapenelitiseperti: K-Nearest Neighbor, Artificial Neural Network, Support Vector Machine, dsb.
MetodePembelajaran (Pelatihan) • Eager Learning • Secaraeksplisitmendeskripsikanfungsi target padasemuabagian training set (data latih). • Instance-based Learning • Learning = Menyimpansemua training instances • Prediksi = Menggunakanfungsitujuan (model) padainstansibaru (data uji) • Disebutjuga “Lazy” learning.
MetodePembelajaran • Eager Learning • Misal: ANN, SVM, Decision Tree, Bayesian, dsb. Any random movement =>It’s a mouse I saw a mouse!
MetodePembelajaran • Lazy Learning • Misal: K-NN, Fuzzy K-NN, Fuzzy K-NNC, Weighted Regression, Case-based reasoning, dsb. Its very similar to a Desktop!!
K-Nearest Neighbor • Algoritma yang melakukanklasifikasiberdasarkankedekatanlokasi (jarak) suatu data dengan data yang lain. • Prinsipsederhana yang diadopsiolehalgoritma K-NN adalah: “Jikasuatuhewanberjalansepertibebek, bersuarakwek-kweksepertibebek, danpenampilannyasepertibebek, makahewanitumungkinbebek”. • Padaalgoritma K-NN, data berdimensiq, dapatdihitungjarakdari data tersebutke data yang lain, • Nilaijarakini yang digunakansebagainilaikedekatan/kemiripanantara data ujidengan data latih.
K-Nearest Neighbor 1 tetanggaterdekat (1-NN) 2 tetanggaterdekat (2-NN) 3 tetanggaterdekat (3-NN) 7 tetanggaterdekat (7-NN)
Algoritma K-NN • z = (x’,y’), adalah data ujidenganvektor x’ dan label kelas y’ yang belumdiketahui • Hitungjarak d(x’,x), jarakdiantara data uji z kesetiapvektor data latih, simpandalam D • PilihDz D, yaitu K tetanggaterdekatdari z
Contoh Data latih Data ujiadalah data (3,4), fitur X=3, Y=4. Akandilakukanprediksi, masukdalamkelas yang manakah seharusnya ? Gunakanjarak Euclidean !
Prediksidengan K-NN Jarak data uji (3,4) ke 17 data latih
Prediksidengan K-NN Untuk K=1 Data latih yang terdekatadalah data nomor 9 (4,4) dengankelas 1, maka data uji (3,4) diprediksimasukkelas 1. Untuk K=3 Data latih yang terdekatadalah data nomor 9 (4,4) dengankelas 1, data nomor 7 (2,3) dan data nomor 4 (3,2) dengankelas 0, karenakelas 1 berjumlah 1 dankelas 0 berjumlah 2 (lebihbanyakkelas 0 daripadakelas 1) maka data uji (3,4) diprediksimasukkelas 0. Untuk K=7 Data latih yang terdekatadalah data nomor 8 (5,3), 9 (4,4), 14 (4,6) dengankelas 1, data nomor 4 (3,2), 6 (1,3), 7 (2,3), dan 11 (1,5) dengankelas 0, karenakelas 1 berjumlah 3 dankelas 0 berjumlah 4 (lebihbanyakkelas 0 daripadakelas 1) maka data uji (3,4) diprediksimasukkelas 0.
Evaluasi K-NN • Algoritma yang menggunakanseluruh data latihuntukmelakukanprosesklasifikasi (complete storage). • Mengakibatkanuntuk data dalamjumlah yang sangatbesar, prosesprediksimenjadisangat lama. • Tidakmembedakansetiapfiturdengansuatubobot • Pada ANN (Artificial Neural Network) yang berusahamenekanfitur yang tidakpunyakontribusiterhadapklasifikasimenjadi 0 padabagianbobot, • NN tidakadabobotuntukmasing-masingfitur. • Menyimpansebagianatausemua data danhampirtidakadaprosespelatihan, • maka K-NN sangatcepatdalamproses training (karenamemangtidakada) tetapisangatlambatdalamprosesprediksi. • Hal yang rumitadalahmenentukannilai K yang paling sesuai • K-NN padaprinsipnyamemilihtetanggaterdekat, • Parameter jarakjugapentinguntukdipertimbangkansesuaidengankasusdatanya. Euclidean sangatcocokuntukmenggunakanjarakterdekat (lurus) antaradua data, tetapi Manhattan sangatrobustuntukmendeteksi outlier dalam data.
Fuzzy K-NN • K-NN melakukanprediksisecarategaspadaujiberdasarkanperbandingan K tetanggaterdekat. • Fuzzy K-Nearest Neighbor (FK-NN) diperkenalkanoleh Keller et al (1985) denganmengembangkan K-NN yang digabungkandenganteori fuzzy dalammemberikandefinisipemberian label kelaspada data uji yang diprediksi. • Padateori fuzzy, sebuah data mempunyainilaikeanggotaanpadasetiapkelas, • yang artinyasebuah data bisadimilikiolehkelas yang berbedadengannilaiderajatkeanggotaandalam interval [0,1]. • Teorihimpunan fuzzy men-generalisasiteori K-NN klasikdenganmendefinisikannilaikeanggotaansebuah data padamasing-masingkelas.
Nilaikeanggotaan u(x,ci) adalahnilaikeanggotaan data xkekelasci Kadalahjumlahtetanggaterdekat yang digunakan u(xk,ci) adalahnilaikeanggotaan data tetanggadalamKtetanggapadakelasci, nilainya 1 jika data latihxkmilikkelasciatau 0 jikabukanmilikkelasci d(x, xk) adalahjarakdari data xke data xkdalamKtetanggaterdekat m adalahbobotpangkat (weight exponent) yang besarnya m > 1 • Nilaikeanggotaansuatu data padakelassangatdipengaruhiolehjarak data ituketetanggaterdekatnya, • semakindekatketetangganyamakasemakinbesarnilaikeanggotaan data tersebutpadakelastetangganya, begitu pula sebaliknya. • Jaraktersebutdiukurdengan N dimensi (fitur) data
Jarak yang digunakan N adalahdimensi (jumlahfitur) data. Untuk p adalahpenentujarak yang digunakan, jika p=1 makajarak yang digunakanadalah Manhattan, jika p=2 makajarak yang digunakanadalah Euclidean, jika p=makajarak yang digunakanadalahChebyshev. Meskipun FK-NN menggunakannilaikeanggotaanuntukmenyatakankeanggotaan data padasetiapkelas, tetapiuntukmemberikankeluaranakhir, FK-NN tetapharusmemberikankelasakhirhasilprediksi, untukkeperluanini, FK-NN memilihkelasdengannilaikeanggotaanterbesarpada data tersebut
Algoritma FK-NN • Normalisasikan data menggunakannilaiterbesardanterkecil data padasetiapfitur. • Cari K tetanggaterdekatuntuk data uji x menggunakanpersamaan: • Hitungnilaikeanggotaan u(x, ci) menggunakanpersamaandibawahiniuntuksetiapi, dimana 1 i C. • Ambilnilaiterbesar c=u(x, ci) untuksemua 1 i C. • Berikan label kelas c ke data uji x.
Data latih Contoh Data ujiadalah data (3,4), fitur X=3, Y=4. Akandilakukanprediksi, masukdalamkelas yang manakahseharusnya ? Gunakan w=2, danjarak Euclidean !
Prediksidengan K-NN Jarak data uji (3,4) ke 17 data latih
Untuk K=1 Data uji (3,4) diprediksimasukkelas 1. Untuk K=3 Data uji (3,4) diprediksimasukkelas 1. Untuk K=7 Data uji (3,4) diprediksimasukkelas 1.
Framework FK-NNC • DiperkenalkanolehPrasetyo (2012). • FK-NNC menggunakansejumlah K tetanggaterdekatpadasetiapkelasdarisebuah data uji, bukan K tetanggaterdekatsepertipada K-NN dan FK-NN. • FK-NNC menggunakan FK-NN sebagai basis kerangkakerja, dimanasebuah data ujimempunyainilaikeanggotaanpadasetiapkelasdalam interval [0.1]. • Jumlahnilaikeanggotaansebuah data padasemuakelassamadengan 1 Tanda dot hitam (solid) adalah data uji Tigatetanggadikelas + dantigatetanggadikelas x
Framework FK-NNC – Cont’d • Jarakdata ujixikesemua K tetanggadarisetiapkelaske-jdijumlahkan, formula yang digunakan: • Nilaimdisinimerupakanpangkatbobot (weight exponent) sepertipada FK-NN, nilaim > 1. • akumulasijarak data ujixikesetiapkelasdigabungkan, disimbolkanD, formula yang digunakan: • Untukmendapatkannilaikeanggotaan data ujixipadasetiapkelaske-j (adaCkelas), menggunakan formula: • Untukmenentukankelashasilprediksi data ujixi, dipilihkelasdengannilaikeanggotaanterbesardari data xi. Formula yang digunakan: (4) (5) (6) (7)
Algoritma FK-NNC • Cari K tetanggaterdekatpadasetiapkelas, menggunakan formula • HitungS sebagaiakumulasijarak K tetanggapadasetiapkelas, menggunakan formula (4) • Hitung J sebagaiakumulasisemuajarakdari CK tetangga, menggunakan formula (5) • Hitung u sebagainilaikeanggotaan data padasetiapkelas, menggunakan formula (6) • Pilihnilaikeanggotaanterbesarmenggunakan formula (7), kelasdengannilaikeanggotaanterbesarmenjadikelashasilprediksiuntuk data ujitersebut.
Data latih Contoh Data ujiadalah data (3,4), fitur X=3, Y=4. Akandilakukanprediksi, masukdalamkelas yang manakahseharusnya ? Gunakan w=2, danjarak Euclidean !
Prediksidengan K-NN Jarak data uji (3,4) ke 17 data latih Setelahdiurutkan
Hasilperitungannilaikeanggotaanpadakeduakelassebagaiberikut: Untuk K=1: , Karenau1 > u0, maka data ujidiprediksimasukkekelas 1 Untuk K=3: , Karenau1 > u0, maka data ujidiprediksimasukkekelas 1 Untuk K=5: , Karenau1 > u0, maka data ujidiprediksimasukkekelas 1 Untuk K=7: , Karenau1 > u0, maka data ujidiprediksimasukkekelas 1