Senin, 30 Desember 2013

Bayesian Risk Analys

BAYESIAN RISK ANALYSIS DATA


Nama Kelompok :

1. Amin Pujo Sakti

2. Fajar Yudhi Purnomo

3. M Riyan Nur Fatah

4. Niko Santoso

UNIVERSITAS GUNADARMA

FAKULTAS ILMU KOMPUTER

2012/2013


Kata Pengantar

Puji dan syukur kami panjatkan ke Hadirat Tuhan Yang Maha Esa, karena berkat limpahan Rahmat dan Karunia-Nya sehingga kami dapat menyusun buku ini dengan baik, serta tepat pada waktunya. Dalam buku ini kami akan membahas mengenai “Bayesian Risk Analys”
Buku ini telah dibuat dengan berbagai observasi, pencarian materim dan beberapa bantuan dari berbagai pihak untuk membantu menyelesaikan tantangan dan hambatan selama mengerjakan makalah ini. Oleh karena itu, kami mengucapkan terimak kasih yang sebesar besarnya kepada semua pihak yang telah membantu dalam penyusunan buku ini.
Kami menyadari bahwa masih banyak kekurangan yang mendasar pada buku ini. Oleh karena itu kami mengundang pembaca untuk memberikan saran serta kritik yang dapat membangun kami. Kritik konstruktif dari pembaca sangat kami harapkan untuk penyempurnaan buku selanjutnya.
Akhir kata semoga buku ini dapat memberikan manfaat terhadap kita semua.

Jakarta, Desember 2013
Penulis


Daftar Isi

Kata Pengantar

Daftar Isi

Bab 1

1.1 Latar Belakang

1.2 Tujuan Pembahasan

1.3 Metode Penyelesaian

Bab 2

2.1 Data Mining

2.2 Klasifikasi

2.3 Naive Bayesian Filtering

2.4 Teorama Bayes

Bab 3

3.1 Perangkat Keras

3.2 Perangkat Lunak

3.3 Pengujian

3.4 Pengujian Perangkat Lunak

3.5 Analisa Performansi Perangkat Lunak

Bab 4

4.1 Kasus/contoh pemanfaatan pada konsep

Bab 5

5.1 Kesimpulan

5.2 Saran

Daftar Pustaka

Bab 1

1.1 Latar Belakang 

Electronic mail (email) merupakan media komunikasi di internet seperti untuk berdiskusi (maillist), transfer informasi berupa file (mail attachment) bahkan dapat digunakan untuk media iklan suatu perusahaan atau produk tertentu. Mengingat fasilitas email yang murah dan kemudahan untuk mengirimkan ke berapapun jumlah penerimanya maka beberapa pihak tertentu memanfaatkannya dengan mengirimkan email berisi promosi produk atau jasa, pornografi, virus, dan content-content yang tidak penting ke ribuan pengguna email. Email-email inilah yang biasanya disebut dengan spam mail. 

Dampak buruk yang paling utama dari adanya spam mail adalah terbuangnya waktu dengan percuma untuk menghapus spam mail dari inbox satu persatu. Meskipun berbagai perangkat lunak email filtering banyak tersedia, namun masalah spam mail juga semakin berkembang. Oleh karena itu pada tugas akhir mata kuliah Sistem Keamanan lanjut ini, penulis mencoba menjelaskan email filtering untuk mengotomatisasikan proses pemilahan spam mail dan legitimate mail (bukan spam mail).

Salah satu metode email filtering yang paling populer yaitu naive bayesian filtering. Metode ini memanfaatkan teorema probabilitas yaitu teorema bayes dan fungsionalitas data mining yaitu klasifikasi naive bayesian. Kelebihan naive bayesian filtering diantaranya adalah tingkat akurasi yang tinggi dan error rate yang minimum. Hal inilah yang melatarbelakangi penulis untuk menjelaskan metode ini.

1.2 Tujuan Pembahasan 

Tujuan ingin dicapai dari tugas akhir ini adalah : Mengerti penggunaan dan cara kerja klasifikasi naive bayesian untuk membangun email filtering dan mengukur kinerja email filtering tersebut yaitu akurasi, skalabilitas dan robustnestnya.

1.3 Metode Penyelesaian 

Masalah Metode yang akan digunakan untuk menyelesaikan tugas akhir ini adalah : Studi Literatur Mempelajari literatur-literatur tentang email, teknik-teknik email filtering, konsep dan teknik data mining khususnya klasifikasi naive bayesian. 

Bab 2

DASAR TEORI

2.1 Data Mining

Data mining atau Knowledge Discovery in Database (KDD) adalah ekstraksi informasi-informasi penting atau knowledge dari basis data yang besar. Data mining menspesifikasikan pola-pola yang ditemukan pada kumpulan data tersebut sehingga data yang telah ada itu lebih bermanfaat dalam kehidupan nyata. Fungsionalitas yang ada pada data mining antara lain Karakterisasi dan Diskriminasi, Asosiasi, Klasifikasi dan Prediksi, Analisa Cluster dan Analisa Outlier.

2.2 Klasifikasi 

Klasifikasi adalah proses pencarian sekumpulan model atau fungsi yang menggambarkan dan membedakan kelas data dengan tujuan agar model tersebut dapat digunakan untuk memprediksi kelas dari suatu obyek yang belum diketahui kelasnya.

Klasifikasi memiliki dua proses yaitu membangun model klasifikasi dari sekumpulan kelas data yang sudah didefinisikan sebelumnya (training data set) dan menggunakan model tersebut untuk klasifikasi tes data serta mengukur akurasi dari model. Model klasifikasi dapat disajikan dalam berbagai macam model klasifikasi seperti decision trees, Bayesian classification, k-nearest-neighbourhood classifier, neural network, classification (IF-THEN) rule, dll. Klasifikasi dapat dimanfaatkan dalam berbagai aplikasi seperti diagnosa medis, selective marketing, pengajuan kredit perbankan, dan email.

Eletronic Mail Eletronic mail atau lebih sering kita kenal dengan singkatan email merupakan salah satu layanan internet yang paling banyak digunakan. Email adalah media komunikasi yang murah, cepat dan mudah penggunaannya. Format email terdiri dari sebuah envelope, beberapa field header, sebuah blank line dan body. Email memiliki sifat data berupa teks yang semi terstruktur dan memiliki dimensi yang tinggi. Email Filtering Spam mail merupakan salah satu masalah yang sering sekali muncul dalam dunia internet khususnya untuk Iayanan email. Dari hari ke hari jumlah spam yang diterima oleh sebagian besar pengguna email semakin banyak dan sangat mengganggu. Pengguna email biasanya mengalami masalah (kerepotan) dalam menghapus spam mail satu persatu, sehingga salah satu cara untuk mengatasinya adalah dengan cara menggunakan email filtering yaitu mengotomasisasikan proses pemilahan antara email yang spam dan yang bukan spam. Beberapa metode yang dapat digunakan untuk email filtering antara lain Keyword filtering, Black listing dan White listing, Signature-Based Filtering, Naive Bayesian (Statistical) Filtering, Challenge-response filtering, Rule-based (heuristic) filtering.

Kebutuhan Email Filtering

• Binary Class, Email filtering hanya mengklasifikasikan email ke dalam kelas spam mail dan legitimate mail. 

• Prediksi, Email filtering mampu melakukan prediksi kelas dari suatu email. 

• Komputasi Mudah, Mengingat sifat data email yang memiliki dimensi tinggi maka dibutuhkan sebuah email filter yang mampu melakukan komputasi dengan mudah. 

• Learning, mampu melakukan learning dan email-email yang sudah ada sebelumnya. 

• Kinerja yang bagus, Memiliki akurasi yang tinggi, meminimalkan nilai false positive dan mentolerir nilai false negative yang cukup tinggi.

2.3 Naive Bayesian Filtering 

Naive bayesian filter merupakan metode terbaru yang digunakan untuk mendeteksi spam mail. Algoritma ini memanfaatkan teori probabilitas yang dikemukakan oleh ilmuwan Inggris Thomas Bayes, yaitu memprediksi probabilitas di masa depan berdasarkan pengalaman di masa sebelumnya. Dua kelompok peneliti, satu oleh Pantel dan Lin, dan yang lain oleh Microsoft Research memperkenalkan metode statistik bayesian ini pada teknologi anti spam filter. Tetapi yang membuat naive bayesian filtering ini popular adalah pendekatan yang dilakukan oleh Paul Graham. Banyak aplikasi menghubungkan antara atribut set dan variabel kelas yang non deterministic. Dengan kata lain, label kelas test record tidak dapat diprediksi dengan peristiwa tertentu meski atribut set identik dengan beberapa contoh training. Situasi ini makin meningkat karena noisy data atau kehadiran faktor confounding tertentu yang mempengaruhi klasifikasi tetapi tidak termasuk di dalam analisis. Sebagai contoh, perhatikan tugas memprediksi apakah seseorang beresiko terkena penyakit hati berdasarkan diet yang dilakukan dan olahraga teratur. Meski mempunyai pola makan sehat dan melakukan olahraga teratur, tetapi masih beresiko terkena penyakit hati karena faktor-faktor lain seperti keturunan, merokok, dan penyalahgunaan alkohol. Untuk menentukan apakah diet sehat dan olahraga teratur yang dilakukan seseorang adalah cukup menjadi subyek interpretasi, yang akan memperkenalkan ketidakpastian pada masalah pembelajaran.

2.4 Teorema Bayes

A. Penggunaan Teorema Bayes untuk Melakukan Klasifikasi 

Sebelum mendeskripsikan bagaimana teorema Bayes digunakan untuk klasifikasi, disusun masalah klasifikasi dari sudut pandang statistik. Jika melambangkan set atribut data dan melambangkan kelas variabel. Jika variabel kelas memiliki hubungan non deterministic dengan atribut, maka dapat diperlakukan dan sebagai variabel acak dan menangkap hubungan peluang menggunakan . Peluang bersyarat ini juga dikenal dengan posterior peluang untuk , dan sebaliknya peluang prior . Selama fase training, perlu mempelajari peluang posterior untuk seluruh kombinasi dan berdasar informasi yang diperoleh dari training data. Dengan mengetahui peluang ini, test record dapat diklasifikasikan dengan menemukan kelas yang memaksimalkan peluang posterior . Untuk mengilustrasikan pendekatan ini, perhatikan tugas memprediksi apakah seseorang akan gagal mengembalikan pinjamannya. Tabel 1 memperlihatkan training data dengan atribut : Home Owner, Marital Status, dan Annual Income. Peminjam yang gagal membayar diklasifikasikan sebagai seseorang yang membayar kembali pinjaman sebagai No. 


Tabel 1. Training set untuk masalah kegagalan pinjaman. 

Jika diberikan test record dengan atribut berikut : = (Home Owner = No, Marital Status = Married, Annual Income = $120K). Untuk mengklasifikasi record, perlu dihitung peluang posterior , berdasar informasi yang tersedia pada training data. Jika , maka record diklasifikasikan sebagai Yes, sebaliknya diklasifikasikan sebagai No. 

Untuk mengestimasi peluang posterior secara akurat untuk setiap kombinasi label kelas yang mungkin dan nilai atribut adalah masalah sulit karena membutuhkan training set sangat besar, meski untuk jumlah moderate atribut. Teorema Bayes bermanfaat karena menyediakan pernyataan istilah peluang posterior dari peluang prior , peluang kelas bersyarat dan bukti : 


Ketika membandingkan peluang posterior untuk nilai berbeda, istilah dominator, , selalu tetap, sehingga dapat diabailan. Peluang prior dapat dengan mudah diestimasi dari training set dengan menghitung pecahan training record yang dimiliki tiap kelas. Untuk mengestimasi peluang kelas bersyarat , dihadirkan dua implementasi metoda klasifikasi Bayesian.

B. Naive Bayes Classifier

Naive bayes classifier mengestimasi peluang kelas bersyarat dengan mengasumsikan bahwa atribut adalah independen secara bersyarat yang diberikan dengan label kelas . Asumsi independen bersyarat dapat dinyatakan dalam bentuk berikut :


dengan tiap set atribut terdiri dari atribut.
Independensi Bersyarat Sebelum menyelidiki lebih detail bagaimana naive bayes classifier bekerja, terlebih dahulu diuji notasi independensi bersyarat. Anggap , , dan melambangkan tiga set variabel acak. Variabel di dalam dikatakan independen secara bersyarat , yang diberikan , jika sesuai kondisi berikut :

Contoh independensi bersyarat adalah hubungan panjang lengan manusia dengan kemampuan membacanya. Dapat diamati bahwa orang dengan lengan lebih panjang cenderung memiliki tingkat kemampuan membaca lebih tinggi. Hubungan ini dapat dijelaskan dengan kehadiran faktor confounding, yaitu usia. Seorang anak kecil cenderung memiliki lengan lebih pendek dan kemampuan membaca lebih sedikit dibanding orang dewasa. Jika usia seseorang ditetapkan, maka hubungan yang diamati antara panjang kengan dan kemampuan membaca akan hilang. Sehingga dapat disimpulkan bahwa panjang lengan dan kemampuan membaca adalah independen secara bersyarat ketika variabel usia ditetapkan. 

Independensi bersyarat antara dan juga dapat ditulis dalam bentuk serupa dengan Persamaan 2 :

Persamaan 3 digunakan untuk memperoleh baris terakhir Persamaan.
Cara Kerja Naive Bayes Classifier Asumsi independen bersyarat, termasuk menghitung peluang bersyarat untuk setiap kombinasi , hanya memerlukan mengestimasi peluang bersyarat untuk tiap yang diberikan . pendekatan selanjutnya lebih praktis karena tidak mensyaratkan training set sangat besar untuk memperoleh estimasi peluang yang baik.

Untuk mengklasifikasi tes record, naive bayes classifier menghitung peluang posterior untuk tiap kelas :

 adalah tetap untuk seluruh , cukup untuk memilih kelas yang memaksimalkan istilah numerator, .
Mengestimasi Peluang Bersyarat untuk Atribut Kategorikal 

Atribut kategorikal, peluang bersyarat diestimasi menurut pecahan training instances pada kelas yang membuat nilai atribut khusus . Sebagai contoh, pada set training diberikan pada Tabel 1, tiga dari tujuh orang yang membayar pinjaman juga memiliki rumah. Sebagai hasil, peluang bersyarat untuk P(Home Owner = Yes|No) adalah 3/7. Dengan cara yang sama, peluang bersyarat untuk peminjam yang lalai adalah single diberikan oleh P(Marital Status = Single|Yes) = 2/3.

Mengestimasi Peluang Bersyarat untuk Atribut Kontinyu
Ada dua cara untuk mengestimasi peluang kelas bersyarat untuk mengestimasi atribut kontinyu pada naive bayes classifiers. A. Mendiskritisasi tiap atribut kontinyu dan kemudian mengganti nilai atribut kontinyu dengan interval diskrit yang bersesuaian. Pendekatan ini mengubah atribut kontinyu ke dalam atribut ordinal. Peluang bersyarat diestimasi dengan menghitung pecahan training record yang dimiliki kelas yang berada di dalam interval yang bersesuaian untuk . Kesalahan estimasi tergantung pada strategi mendiskritisasi, sebagaimana halnya dengan jumlah interval diskrit. Jika jumlah interval terlalu besar, ada terlalu sedikit training record pada tiap interval untuk menyediakan estimasi yang reliable (dapat dipercaya) untuk . Di sisi lain, jika jumlah interval terlalu kecil, maka beberapa interval dapat aggregate records dari kelas berbeda dan batas keputusan yang benar dapat hilang. B. Diasumsikan bentuk tertentu distribusi peluang untuk variabel kontinyu dan mengestimasi parameter distribusi menggunakan training data. Distribusi Gaussian sering dipilih untuk merepresentasikan peluang kelas bersyaarat untuk atribut kontinyu. Distribusi dikarakterisasi dengan dua parameter yaitu mean, , dan varian, . Untuk tiap kelas , peluang kelas bersyarat untuk atribut adalah :
Parameter dapat diestimasi berdasarkan sampel mean untuk seluruh training record yang dimiliki kelas.Dengan cara sama, dapat diestimasi dari sampel varian training record tersebut. Sebagai contoh, dipertimbangkan atribut pendapatan tahunan yang ditunjukkan Tabel 1. Sampel mean dan varian untuk atribut ini yang berkenaan dengan kelas No adalah : Diberikan test record dengan pendapatan kena pajak sebesar $120K, maka dapat dihitung peluang kelas bersyarat sebagai berikut. Interpretasi terdahulu dari peluang kelas bersyarat dapat menyesatkan. Persamaan 6 pada sisi kanan bersesuaian dengan fungsi densitas peluang, . Karena fungsi bernilai kontinyu, peluang bahwa variabel acak mengambil nilai tertentu adalah nol. Sebagai gantinya, dihitung peluang bersyarat bahwa berada pada beberapa interval, dan dengan adalah konstanta kecil :

Karena muncul sebagai faktor pengali tetap untuk tiap kelas, maka dibatalkan ketika dinormalisasi peluang posterior untuk. Oleh karena itu, Persamaan masih dapat diterapkan untuk pendekatan peluang kelas bersyarat. Contoh naive bayes classifier Perhatikan data set yang ditunjukkan Tabel 2 (a). Peluang kelas bersyarat dapat dihitung untuk pengkategorian tiap atribut, bersama dengan sampel mean dan varian untuk atribut kontinyu menggunakan metodologi yang dijelaskan pada bagian sebelumnya. Peluang ini diringkas pada Tabel 2 (b).

(a)

Tabel 2. Naive Bayes Classifier untuk masalah klasifikasi pinjaman.

(b)

For Annual Income : If class = No : sample mean = 110 Sample variance = 2975 If class = Yes : sample mean = 90 Sample variance = 25 (b)

Untuk memprediksi label kelas test record X = (Home Owner = No, Marital Status = Married, Income = $120K), perlu menghitung peluang posterior dan . Mengingat dari diskusi sebelumnya bahwa peluang posterior ini dapat diestimasi dengan menghitung produk antara peluang prior dan peluang kelas bersyarat , yang bersesuaian dengan pembilang pada sisi kanan Persamaan 5.

Peluang prior tiap kelas dapat diestimasi dengan menghitung pecahan tiap training record yang dimiliki tiap kelas. Karena ada tiga record yang dimiliki kelas Yes dan tujuh record yang dimiliki kelas No, = 0.3 dan = 0.7. Menggunakan informasi yang disediakan pada Tabel 2 (b), peluang kelas besyarat dapat dihitung sebagai berikut.

= P(Home Owner=No|No) x P(Status=Married|No) x P(Annual Income=$120K|No) = 4/7 x 4/7 x 0.0072 = 0.0024.

= P(Home Owner=No|Yes) x P(Status=Married|Yes) x P(Annual Income=$120K|Yes) = 1 x 0 x 1.2 x 10-9 = 0.

Dengan menggabungkan, peluang posterior untuk kelas No adalah , dengan adalah istilah tetap. Menggunakan pendekatan yang sama, dapat ditunjukkan bahwa peluang posterior untuk kelas Yes adalah nol karena peluang kelas bersyarat adalah nol. Karena , maka record diklasifikasikan sebagai No.

Mengestimasi Peluang Bersyarat 

Contoh sebelumnya mengilustrasikan masalah potensial denga mengestimasi peluang posterior dari training data. Jika peluang kelas bersyarat untuk atribut adalah nol, maka keseluruhan peluang bersyarat untuk kelas hilang. Pendekatan mengestimasi peluang kelas bersyarat menggunakan tuple pecahan mengkin terlihat terlalu rapuh, khususnya jika ada training sample yang tersedia dan jumlah atribut besar.

Pada kasus lebih ekstrim, tidak dapat mengklasifikasikan beberapa test record. Sebagai contoh, jika P(Marital Status=Divorced|No) adalah nol menggantikan 1/7, maka record dengan set atribut X = (Home Owner=Yes, Marital Status=Divorced, Income=$120K) memiliki peluang kelas bersyarat = 3/7 x 0 x 0.0072 = 0. = 0 x 1/3 x 1.2 x 10-9 = 0.

Naive bayes classifier tidak dapat mengklasifikasikan record. Masalah ini dapat ditujukan dengan menggunakan pendekatan m-estimasi untuk mengestimasi peluang bersyarat :

Dengan adalah total jumlah instances dari kelas , adalah jumlah contoh training dari kelas yang menerima nilai , adalah parameter yang dikenal sebagai ukuran sampel ekivalen, dan adalah parameter yang dispesifikasi pengguna. Jika tidak tersedia training set (misalnya = 0), maka . Oleh karena itu, dapat dikenali sebagai peluang prior dari pengamatan nilai atribut bersama record dengan kelas . Ukuran sampel ekivalen menetapkan pertukaran antara peluang prior dan peluang yang diamati .

Pada contoh yang diberikan sebelumnya, peluang bersyarat P(Status=Married|Yes) = 0 karena tidak ada training record kelas yang memiliki nilai atribut tersebut. Menggunakan pendekatan m-estimasi dengan =3 dan =1/3, peluang bersyarat tidak lagi nol. P(Marital Status=Married|Yes) = (0 + 3 + 1/3)(3 + 3) = 1/6.

Jika diasumsikan =1/3 untuk setiap atribut kelas Yes dan =2/3 untuk seluruh atribut kelas No, maka = P(Home Owner=No|No) x P(Status=Married|No) x P(Annual Income=$120K|No) = 6/10 x 6/10 x 0.0072 = 0.0026.

= P(Home Owner=No|Yes) x P(Status=Married|Yes) x P(Annual Income=$120K|Yes) = 4/6 x 1/6 x 1.2 x 10-9 = 1.3 x 10-10.

Peluang posterior untuk kelas No adalah : , sementara peluang posterior untuk kelas Yes adalah . Meski keputusan klasifikasi tidak diubah, pendekatan m-estimasi umumnya menyediakan cara lebih robust (kokoh) untuk mengestimasi peluang ketika jumlah training sampel kecil. Karakteristik Naive Bayes Classifier Naive Bayes Classifier umumnya memiliki karakteristik sebagai berikut. • Kokoh untuh titik noise yang diisolasi seperti titik yang dirata-ratakan ketika mengestimasi peluang bersyarat data. Naive bayes classifier dapat menangani missing value dengan mengabaikan contoh selama pembuatan model dan klasifikasi. • Kokoh untuk atribut tidak relevan, jika adalah atribut yang tidak relevan, maka menjadi hampir didistribusikan seragam. Peluang kelas bersyarat untuk tidak berdampak pada keseluruhan perhitungan peluang posterior. • Atribut yang dihubungkan dapat menurunkan performance Naive bayes classifier karena asumsi independen bersyarat tidak lagi menangani atribut tersebut. Sebagai contoh, perhatikan peluang berikut. P(A = 0|Y = 0) = 0.4, P(A = 1|Y = 0) = 0.6, P(A = 0|Y = 1) = 0.6, P(A = 1|Y = 1) = 0.4, dengan adalah atribut biner dan adalah variabel kelas biner. Jika ada atribut biner lain yaitu yang secara tepat dihubungkan dengan ketika = 0, tetapi independen dengan ketika = 1. Sederhanaya, diasumsikan bahwa peluang kelas bersyarat untuk sama seperti . diberikan record dengan atribut = 0, B = 0, dapat dihitung peluang posterior sebagai berikut. . Jika , maka naive bayes classifier akan menugaskan record ke kelas 1. Bagaimanapun, yang benar adalah : karena dan dihubungkan secara tepat ketika = 0. Sebagai hasil, peluang posterior untuk = 0 adalah : . yang lebih besar dibanding untuk = 1. Record diklasifikasikan sebagai kelas 0.

C. Error Rate (Tingkat Kesalahan) Bayes 

Jika diketahui distribusi peluang yang benar yang mengatur . Metoda klasifikasi Bayesian menyediakan penentuan batas keputusan ideal untuk tugas klasifikasi, sebagimana diilustrasikan contoh berikut.

Perhatikan tugas mengidentifikasikan alligator dan crocodiles berdasarkan panjang masing-masing. Panjang rata-rata crocodile dewasa sekitar 15 kaki sedangkan panjang rata-rata alligator dewasa sekitar 12 kaki. Diasumsikan bahwa panjang mengikuti distribusi Gaussian dengan standar deviasi sama dengan 2 kaki, peluang kelas bersyarat dapat dinyatakan sebagai berikut :


Gambar 1 Perbandingan fungsi likelihood antara crocodile dan alligator

Gambar 1 menunjukkan perbandingan antara peluang kelas bersyarat untuk crocodile dan alligator. Diasumsikan bahwa peluang prior adalah sama, batas keputusan ideal diletakkan pada panjang yaitu :

Menggunakan persamaan 9 didapat,


yang dapat dipecahkan dengan hasil = 13.5. Batas keputusan untuk contoh ini diletakkan di tengah antara dua mean.

Ketika peluang prior berbeda, batas keputusan menggeser kelas dengan peluang prior lebih rendah. Selanjutnya, minimum error rate dapat dicapai dengan setiap classifier yang diberikan data juga dapat dihitung. Batas keputusan ideal pada contoh terdahulu mengklasifikasikan seluruh mahluk dengan panjang kurang dari x sebagai alligator dan yang kurang dari sebagai crocodile. Error rate classifier diberikan dengan menjumlahkan luas di bawah kurva peluang posterior untuk crocodile (dari panjang 0 hingga ) dan luas di bawah kurva peluang posterior untuk alligator (dari hingga )


Total error rate dikenal sebagai Bayes error rate.
D. Bayesian Belief Network (BBN) 

Asumsi independen bersyarat dibuat oleh Naive bayes classifier mungkin terlalu rapuh, khususnya untuk masalah klasifikasi dengan atribut yang dihubungkan dengan sesuatu. Bagian ini menghadirkan pendekatan lebih fleksibel untuk memodelkan peluang kelas bersyarat . Sebagai ganti mensyaratkan seluruh atribut untuk independen secara bersyarat dengan kelas yang diberikan, pendekatan ini menspesifikasi pasangan atribut yang independen secara bersyarat. Diskusi dimulai dengan merepresentasikan dan membangun model peluang tersebut, diikuti contoh bagaimana membuat inferences dari model.

Representasi Model

BBN menyediakan representasi grafis dari hubungan peluang bersama dengan set variabel acak. Ada dua unsur kunci Bayesian network :

1. Directed acyclic graph (dag) mengencode hubungan dependen antar set variabel.

2. Tabel peluang mengasosiasikan tiap node ke node orangtua selanjutnya.
Perhatikan tiga variabel acak, A, B, dan dengan A dan B variabel independen dan masing-masing memiliki pengaruh langsung pada variabel ketiga C. Hubungan antar variabel dapat diringkas ke dalam directed acyclic graph yang ditunjukkan Tabel 2 (a). Tiap node pada grafik merepresentasikan sebuah variabel, dan tiap panah menyatakan hubungan dependen antara pasangan variabel. Jika arah panah dari X ke Y , maka X adalah orangtua Y dan adalah anak X. Selanjutnya jika jalur diarahkan pada network dari X ke Z, maka X adalah ancestor Z, sedang Z adalah descendant X. Sebagai contoh, pada diagram yang ditunjukkan pada Tabel 2 (b), adalah D descendant D dan ancestor B. Baik B dan D juga non-descendant A. Properti penting Bayesian network dinyatakan sebagai berikut.

Properti 1 (independensi bersyarat). Node pada Bayesian network independen secara bersyarat dengan non descendant-nya, jika orangtuanya diketahui.

Pada diagram yang ditunjukkan pada Tabel 2 (b), A adalah independen bersyarat dari B dan D diberikan C karena node untuk B dan D adalah non descendant node . Asumsi independen bersyarat dibuat dengan naive bayesian classifier juga dapat direpresentasikan menggunakan bayesian network, seperti ditunjukkan Tabel 2 (c),

dengan adalah target kelas dan adalah atribut set.

Disamping kondisi independen bersyarat yang dikenakan dengan topologi network, tiap node juga diasosiasikan dengan tabel peluang. 

1. Jika node X tidak memiliki orangtua, maka tabel hanya berisi peluang prior P(X).

2. jika node X hanya memiliki satu orangtua, Y, maka tabel berisi peluang bersyarat P(X|Y).

3. jika node memiliki banyak orangtua ,


Gambar 3 Bayesian belief network untuk mendeteksi heart disease dan heartburn pada pasien.

Gambar 3 memperlihatkan contoh Bayesian network untuk memodelkan pasien heart disease atau masalah heartburn. Tiap variabel dalam diagram diasumsikan bernilai biner. Node orangtua untuk heart disease (HD) sesuai dengan faktor resiko yang dapat menyebabkan penyakit, seperti Exercise (E) dan Diet (D). Node anak untuk heart disease bersesuaian dengan simptom penyakit, seperti chest pain (CP) dan blood pressure (BP) tinggi. Sebagai contoh, diagram memperlihatkan bahwa heartburn (Hb) dapat dihasilkan dari diet tidak sehat dan mendorong chest pain.

Node dihubungkan dengan faktor resiko hanya berisi peluang prior, di mana node untuk heart disease, heartburn dan symptom yang bersesuaian berisi peluang kondisional. Untuk menghemat ruang, beberapa peluang dapat dihilangkan dari diagram. Peluang yang dihilangkan dapat ditemukan kembali dengan mencatat bahwa dan , dengan melambangkan outcome berlawanan dari . Sebagai contoh, peluang bersyarat P(Heart Disease = No|Exercise = No, Diet =Healthy) = 1 - P(Heart Disease = Yes|Exercise = No, Diet =Healthy) = 1 – 0.55 = 0.45.

Pembuatan Model
Pembuatan model di dalam Bayesian network melibatkan dua langkah berikut. 1. Membuat struktur network. 2. Mengestimasi nilai peluang di dalam tabel yang dihubungkan dengan tiap node. 3. Topologi network dapat diperoleh dengan mengencode knowledge (pengetahuan) subyektif dari expert domain. 

Algoritma berikut menghadirkan prosedur sistematis untuk menginduksi topologi Bayesian network.

Algoritma untuk menggenerate topologi Bayesian network.

1. Let melambangkan total order variabel.

2. For sampai do

3. Let melambangkan variabel order tertinggi ke- di dalam .

4. Let melambangkan set variabel terdahulu .

5. Pindahkan variabel dari yang tidak mempengaruhi (menggunakan pengetahuan prior)

6. Buat panah antara dan variabel yang tersisa di dalam .

7. End for.
Algoritma tersebut menjamin topologi tidak berisi siklus apapun. Buktinya cukup jelas. Jika terdapat siklus, maka paling kurang satu panah menghubungkan urutan node tertinggi ke urutan node terendah. Karena algoritma mencegah setiap panah menghubungkan urutan node terendah ke urutan node tertinggi, tidak ada siklus di alam topologi.

Meskipun demikian, topologi network dapat berubah jika diterapkan skema untuk variabel. Beberapa topologi dapat inferior karena menginduksi banyak panah yang menghubungkan antara pasangan node berbeda. Pada prinsipnya, dapat diuji seluruh kemungkinan pengurutan untuk menentukan topologi yang paling tepat, sebuah tugas yang mahal secara perhitungan. Pendekatan alternatif untuk membagi variabel ke dalam beberapa variabel sebab akibat dan kemudian panah dari tiap variabel kausal (sebab) ke variabel akibat yang sesuai. Pendekatan ini memudahkan tugas untuk membangun struktur Bayesian network.

Ketika topologi yang tepat telah ditemukan, tabel peluang diasosiasikan dengan tiap node ditentukan. Mengestimasi peluang tersebut dapat dilakukan secara langsung dan sama dengan pendekatan yang digunakan oleh naive bayes classifier.

Karakteristik BBN
Beberapa karakteristik umum metoda BBN sebagai berikut. 

1. BBN menyediakan pendekatan untuk menangkap pengetahuan sebelumnya (prior knowledge) dari domain tertentu menggunakan pemodelan grafis. Network juga dapat digunakan untuk mengenkode dependensi kausal antar variabel. 

2. Membangun network dapat menghabiskan waktu dan memerlukan usaha yang banyak. Bagaimanapun, ketika struktur network telah ditentukan, menambahkan variabel baru dapat dilakukan secara langsung. 

3. Bayesian network sesuai untuk menangani data yang tidak lengkap. Instansiasi dengan atribut yang hilang dapat ditangani dengan menjumlahkan atau mengintegrasikan seluruh nilai atribut yang mungkin. 

4. Metoda cukup kokoh untuk model yang overfitting karena data dikombinasikan secara peluang dengan pengetahuan sebelumnya.

Klasifikasi Naive Bayes Pendekatan Paul Graham
Naive Bayesian Filtering pendekatan Paul Graham memanfaatkan metode klasifikasi bayesian dengan dua asumsi dasar yaitu nilai atribut dari kelas yang didefinisikan independen dari nilai atribut yang lain dan prior probabilitas suatu email sebagai spam tidak diketahui. Asumsi pertama dikenal dengan sebutan naive bayesian. Naive bayesian filter pendekatan Paul Graham bekerja sebagai berikut : Diketahui database email C. Email di C kemudian diklasifikasikan terlebih dahulu ke dalam kelas spam dan kelas legitimate. Tiap email di masing - masing kelas ditokenisasi. Untuk tiap token x, dapat dihitung s(x, spam) dan S(x,legitimate) berturut - turut yaitu banyaknya email di database spam yang berisi token x dan banyaknya email di database legitimate yang berisi token x. Dengan diketahuinya token x dapat dihitung probabilitas suatu message M sebagai spam Berdasarkan aturan Bayesian maka probabilitas M sebagai spam: 


Persamaan 11 digunakan untuk menghitung probabilitas token untuk menghasilkan suatu database filter yang berisi token/kata beserta nilai probabilitasnya dan digunakan untuk mengidentifikasi email yang masuk sebagai spam atau legitimate. Suatu message tentunya memiliki lebih dari satu token/kata sehingga untuk mengetahui peluang suatu email sebagai spam dengan diketahui V(M) = (xi, Xz, Xs, ..., Xn} dilakukan perhitungan kombinasi probabilitasnya. Dengan asumsi naive yaitu token/kata di M saling independen maka probabilitas email: 


Untuk mengidentifikasi email sebagai spam atau legitimate ditentukan suatu nilai. Jika nilai probabilitas email, sebagai spam (hasil dari persamaan 12) ≥ maka email diklasifikasikan sebagai spam dan sebaliknya jika hasilnya < maka email diklasifikasikan sebagai legitimate.

Metoda Adhoc
Metoda adhoc digunakan untuk memilih feature/token yaug paling menarik baik yang mengindikasikan spam maupun legitimate yaitu dengan cara untuk setiap token x yang muncul di data training, dihitung nilai | P(M is spam|x) - Vi \. Kemudian diambil sejumlah N token dengan nilai tertinggi untuk menghitung nilai probabilitas email sebagai spam. Paul Graham menyarankan nilai N sebanyak 15-20. Jika semua token diambil maka akan menghabiskan waktu komputasi dengan percuma untuk menghitung token yang kontribusinya minimal. Sedangkan jika token yang diambil terlalu sedikit, maka ada kemungkinan token yang signifikan namun tidak terpilih.

Mengapa Naive Bayesian Filtering? 

Naive bayesian filtering memiliki kelebihan dibandingkan dengan metoda filtering yang lain, diantaranya adalah: 

1. Bayesian filter memiliki komputasi yang mudah. 

2. Bayesian memeriksa email secara keseluruhan yaitu memeriksa token di database spam maupun legitimate. 

3. Bayesian filtering termasuk dalam supervised learning yaitu secara otomatis akan melakukan proses learning dari email yang masuk. 

4. Bayesian filtering cocok diterapkan di level aplikasi client/individual user. 

5. Bayesian filtering cocok diterapkan pada binary class yaitu klasifikasi ke dalam dua kelas. 

6. Metode ini multilingual dan internasional. Bayesian filtering menggenerate token dengan pengenalan karakter sehingga mampu diimplementasikan pada email dengan bahasa apapun. 

Bab 3

UJI COBA BAYESIAN FILTERING
3.1 Perangkat Keras

Email filtering diujicobakan pada sebuah personal komputer dengan konfigurasi sebagai berikut :

• Processor Intel Pentium 4 dengan kecepatan 2,6 GHz.

• RAM 512 MB

• Harddisk 40 GB.



3.2 Perangkat Lunak

Implementasi email filtering dengan naive bayesian dibangun pada sistem operasi Microsoft Windows XP dengan menggunakan Delphi 7 dan untuk penyimpanan databasenya digunakan Microsoft Access 2000. Email filtering ini diimplementasikan pada Aplikasi email client Microsoft Outlook 2002.

3.3 Pengujian 

Tujuan pengujian fungsionalitas aplikasi ini adalah untuk menghitung berapa rata-rata training yang dilakukan per-email untuk mendapatkan keakuratan klasifikasi yang baik. Dan dari pengujian ini juga akan dianalisa kinerjanya yaitu dengan menghitung nilai akurasi, false positive dan false negative. Pengujian email filtering ini dilakukan pada sebuah account personal email paulgraham@hotmail.com. Mailbox ini berisi 94 legitimate mail dan 185 spam mail. Dengan data yang sama email filtering di implementasi dengan spesifikasi sebagai berikut: 

• Pengujian Pertama Jumlah data training 50 email dengan 20 legitimate mail dan 30 spam mail. 

• Pengujian Kedua Jumlah data training 150 email dengan 50 legitimate mail dan 100 spam mail. 

• Pengujian Ketiga Jumlah data training 270 email dengan 90 legitimate mail dan 180 spam mail.

Data testing untuk tiap pengujian sama yaitu sebanyak 50 email dengan 30 spam dan 20 legitimate. Pembagian jumlah data legitimate mail maupun spam mail ditentukan secara manual disesuaikan dengan ketersediaan data. Konstanta bayes yang digunakan : bias = 0.4, threshold = 0.9, jumlah token = 20.

3.4 Pengujian Perangkat Lunak 

• Pengujian Legitimate Mail 

• Pengujian Spam Mail 

• Pengujian Robustness Mail

3.5 Analisa Performansi Perangkat Lunak 

Setelah dilakukan pengujian dengan beberapa contoh email seperti diatas rata-rata email harus ditraining sebanyak 2-6 kali sebelum diklasifikasikan dengan benar. 

• Akurasi Pengujian Pertama : Jumlah data training 50 email, email filtering dapat mengklasiflkasikan 37 email dengan benar dan salah klasifikasi sebanyak 18 email sehingga nilai akurasinya (37/50)* 100% =74% Pengujian Kedua : Jumlah data training 150 email, email filtering dapat mengklasiflkasikan 43 email dengan benar dan salah klasifikasi sebanyak 7 email sehingga nilai akurasinya (43/150)* 100% =86% Pengujian Ketiga : Jumlah data training 270 email, email filtering dapat mengklasiflkasikan 46 email dengan benar dan salali klasifikasi sebanyak 4 email sehingga nilai akurasinya (46/270)* 100% =92% 

• False Positive Pengujian Pertama : Jumlah data training 50 email, terdapat 3 legitimate mail yang diklasifikasikan sebagai spam mail. Nilai false positivenya adalah (3/50)* 100%= 6% Pengujian Kedua : Jumlah data training 150 email, terdapat 3 legitimate mail yang diklasifikasikan sebagai spam mail. Nilai false positivenya adalah (3/50)* 100%= 6% Penguiian Ketiga : Jumlah data training 270 email, terdapat 1 legitimate mail yang diklasifikasikan sebagai spam mail. Nilai false positivenya adalah (1/50)* 100% =2% 

• False Negative Pengujian Pertama : Jumlah data training 50 email, terdapat 10 spam mail yang diklasifikasikan sebagai legitimate mail. Nilai false negativenya adalah (10/50)* 100%= 20% Pengujian Kedua : Jumlah data training 150 email, terdapat 4 spam mail yang diklasifikasikan sebagai legitimate mail. Nilai false negativenya adalah (4/50)*100%=8% Pengujian Ketiga : Jumlah data training 270 email, terdapat 3 spam mail yang diklasifikasikan sebagai legitimate mail. Nilai false negativenya adalah (3/50)* 100% =6% 

• Skalabilitas Email filtering mampu melakukan training dari jumlah data kecil hingga 270 email. Semakin besar jumlah data training maka nilai akurasinya semakin tinggi. Email filtering memiliki kinerja yang bagus untuk data dengan skala besar. 

• Robustness Email Filtering mampu menangani noise email yaitu email legitimate yang memiliki pola seperti spam mail dan sebaliknya. Meskipun untuk mendapatkan klasifikasi yang benar harus dilakukan training terlebih dahulu sebanyak 4-6 kali. 

• Waktu Pemrosesan Email filtering ini membutuhkan waktu 3.15 jam untuk melakukan training dengan data sebanyak 50 email, 6.23 jam untuk melakukan training dengan data sebanyak 150 email dan 9.6 jam untuk melakukan training dengan data sebanyak 270 email. Pada awal training waktu pemrosesan untuk menggenerate token pada sebuah email rata-rata selama 30 detik namun setelah jumlah email lebih dari 10 waktu pemrosesan sebuah email menjadi 65 menit. Sedangkan proses menggenerate bayes filter hanya membutuhkan waktu 15 menit. Pada saat testing, proses klasifikasi email membutuhkan waktu sekitar 0.5 detik hingga 8 menit. Sedangkan untuk proses learning sebuah email, dibutuhkan waktu selama 6 menit. Lamanya waktu pemrosesan disebabkan oleh banyaknya token yang digenerate pada training seiring dengan bertambahnya jumlah email yang digunakan. Sehingga proses pengupdate-an token, frekuensi dan probabilitas token membutuhkan waktu yang sangat lama. 

Bab 4

4.1 Kasus / contoh pemanfaatan pada konsep

Kasus 1 :

tidak ada informasi terdahulu Tanpa informasi sebelumnya, dapat ditentukan apakah sesorang memiliki heart disease dengan menghitung peluang prior P(HD=Yes) dan P(HD=No). Untuk menyederhanakan notasi, melambangkan nilai biner dari Exercise dan melambangkan nilai biner dari Diet.

= 0.25 x 0.7 x 0.25 + 0.45 x 0.7 x 0.75 + 0.55 x 0.3 x 0.25 + 0.75 x 0.3 x 0.75 = 0.49

Karena P(HD=no) = 1 - P(HD=yes)=0.51, orang tersebut besar kemungkinan tidak terkena penyakit tersebut.

Kasus 2 : 

tekanan darah tinggi Jika seseorang memiliki tekanan darah tinggi, dapat dilakukan diagnosa penyakit hati dengan membandingkan peluang posterior P(HD = Yes|BP=High) dengan P(HD = No|BP=High). Untuk melakukan ini, harus dihitung P(BP=High).

= 0.85 x 0.49 + 0.2 x 0.51 = 0.5185. dengan . Oleh karena itu, peluang posterior seseorang memiliki penyakit hati adalah :

. Dengan cara yang sama, P(HD = No|BP=High) = 1 – 0.8033 = 0.1967. Oleh karena itu, ketika seseorang memiliki tekanan darah tinggi, maka resiko terkena penyakit hati akan meningkat.

Kasus 3 : 

Tekanan darah tinggi, diet sehat dan olahraga teratur Jika diberitahu bahwa orang tersebut melakukan olahraga teratur dan makan dengan pola diet yang sehat. Bagaimana informasi baru mempengaruhi diagnosa? Dengan informasi baru tersebut, peluang posterior bahwa seseorang terkena penyakit hati adalah :

= 0.5862

sedang peluang bahwa seseorang tidak terkena penyakit hati adalah : P(HD=No|BP=High, D=Healthy, E=Yes) = 1 – 0.5862 = 0.4138.

Model tersebut selanjutnya menyatakan bahwa dengan pola makan sehat dan melakukan olahraga teratur akan mengurangi resiko penyakit hati. 

Bab 5

5.1 Kesimpulan

1. Klasifikasi naive bayesian pendekatan Paul Graham dapat digunakan dengan baik dalam aplikasi email filtering pada level client. 

2. Semakin banyak jumlah data yang digunakan untuk training maka semakin tinggi keakuratannya. 

3. Semakin sering dilakukan learning atau penambahan knowledge maka akan semakin cepat mendapatkan klasifikasi dengan benar. 

4. Email filtering dengan naive bayesian masih memiliki akurasi yang tinggi meskipun jumlah data trainingnya sedikit (270 email). 

5. Email filtering mampu menangani noise email dengan baik meskipun untuk mendapatkan akurasi dengan tepat harus dilakukan learning sebanyak minimal 4 kali. 

6. Sebuah email memiliki waktu prediksi minimal 0.5 detik (untuk email dengan isi teks yang pendek) dan maksimal 8 menit (untuk email dengan isi teks yang panjang dan banyak). 

7. Aplikasi ini memiliki waktu pemrosesan yang tinggi pada saat preprocessing dengan jumlah data yang semakin banyak dan pada saat melakukan learning. 

5.2 Saran

1. Aplikasi dapat dikembangkan lebih lanjut, misalnya dengan menentukan nilai variasi konstanta bayes secara otomatis untuk mendapatkan akurasi yang tinggi dengan berapapun jumlah data trainingnya. 

2. Aplikasi dapat dikembangkan lebih lanjut dengan melakukan analisa terhadap body email bertipe html atau mime dan attachment yang dianalisa dari contentnya. 

3. Aplikasi dapat disempurnakan untuk meminimalisir waktu pemrosesan pada saat learning seperti dengan menambahkan proses expired token yaitu menghapus token-token yang tidak lemah digunakan dalam klasifikasi sehingga jumlah token yang diupdate tidak terlalu banyak.