Sabtu, 18 April 2015

Minggu ke-5

         1.  Pendahuluan

GUI atau kepanjangan dari Graphical User Interface merupakan salah satu model interaksi antara manusia dan computer. Selain GUI, ada juga model yang lain seperti Character User Interface(CUI) yang sering kita kenal dengan command line. Dari sisi kenyamanan (attitude), kedua model ini memiliki fungsinya masing-masing. Fungsi CUI biasanya adalah administrator system berbasis system operasi LINUX. Bagi mereka, CUI dirasakan lebih nyaman dibandingkan dengan GUI, bahkan setelah GUI pada LINUX berkembang dengan pesat, mereka tetap bertahan untuk menggunakan CUI. Pengguna GUI biasanya adalah mereka yang sudah terbiasa dengan system operasi Windows. Graphical User Interface, merupakan perangkat pertama untuk mengendalikan fungsi-fungsi suatu software, dan membuat pengguna mudah untuk memahami bagaimana menggunakan software tersebut. Kita dapat mengasumsikan bahwa GUI merupakan sebagai bagian dari suatu software yang pertama kali ditangkap mata (secara interface). Dimana suatu software akan kelihatan bagus, jika GUI tersebut tampak menarik.

         2.  Apa itu GUI?

GUI (Graphical User Interface) adalah jenis antarmuka pengguna yang menggunakan metoda interaksi pada piranti elektronik secara grafis (bukan perintah teks) antara pengguna dan komputer. GUI menjadi salah satu faktor kemudahan dalam penggunaan komputer, piranti bergerak seperti pemutar MP3, pemutar media portabel atau piranti permainan, peralatan rumah tangga, dan peralatan kantor. GUI menggambarkan informasi dan perintah yang tersedia untuk pengguna menggunakan ikon grafis/menu grafis. Menu grafis ini maksudnya terdapat tampilan yang lebih ditekankan untuk membuat sistem operasi yang user-friendly agar para pengguna lebih nyaman menggunakan komputer. Menu grafis itu ya seperti ada grafis-grafis atau gambar-gambar dan tampilan yang tujuannya untuk memudahkan para pengguna menggunakan sistem operasi. Contoh: Microsoft Windows, MacOS dan Xwin menggunakan jenis GUI yang berbeda.
gambar: KDE pada Mandriva
      Contoh sistem operasi yang menggunakan GUI adalah Linux dengan distro Mandriva menggunakan Desktop Environment KDE, dan juga sistem operasi Windows 7 Ultimate yang menggunakan GUI-nya sendiri.

3.    Kelebihan dan kekurangan dari GUI

·         Kelebihan GUI :
1. Desain Grafis lebih menarik.
2. GUI memungkinkan user untuk berinteraksi dengan komputer secara lebih baik.
3. Memudahkan pengguna.
4. Menarik minat pengguna.
5. Resolusi gambar yang tinggi.

·         Kekurangan GUI :
1. Memakan memori yang sangat besar.
2. Bergantung pada perangkat keras.
3. Membutuhkan banyak tempat pada layar komputer.
4. Tidak fleksibel.

4.    Pengembangan aplikasi dengan GUI

Pada saat ini tengah dikembangkan sebuah solusi baru untuk membantu pembangunan aplikasi GUI menggunakan PHP. Solusi baru tersebut adalah Klorofil Platform. Klorofil Platform dibangun oleh suatu komunitas yang bernama Klorofil Collaboration Project atau dikenal juga dengan nama Klorofil. Di dalam Klorofil Platform terdapat sebuah GUI framework yang bernama gambArt. GUI framework inilah yang dapat kita gunakan untuk membangun aplikasi GUI menggunakan PHP.

Sumber : http://id.wikipedia.org/wiki/Antarmuka_pengguna, Buku Interaksi Manusia dan Komputer Penerbit GUNADARMA.



Jumat, 17 April 2015

Minggu ke-4

1. Pendahuluan
Penerapan system informasiberbasis computer seringkali tidak berhasil mencapai tujuan utamanya,  yaitu mempermudah pengguna dalam menjalankan tugasnya. Tidak berhasil dapat berarti tidak mampu memenuhi kebutuhan pengguna, baik dari segi kinerja,  kemudahan ataupun dari segi keamanan. Kegagalan tersebut dapat terjadi karena berbagai faktor, diantaranya adalah karena tidak adanya panduan atau standar yang dijadikan acuan dalam mengembangkan perangkat lunak sehingga pengguna mendapatkan produk yang sulit digunakan.
Salah satu aspek yang perlu diperhatikan untuk meningkatkan kemudahan penggunaan aplikasi adalah antarmuka aplikasi dengan pengguna. Adanya standar antarmuka diharapkan dapat meningkatkan kemudahan penggunaan aplikasi, karena pengguna akan terbiasa dengan antarmuka yang seragam.
Dari tahun ketahun, tekhnologi berkembang sangat pesat, terutama dibidang informatika. Dengan perkembangan tekhnologi tersebut , manusia semakin dipermudah dalam pekerjaanya. Salah satu dampak dari perkembangan tersebut adalah hubungan antara manusia dan komputer atau yang sering disebut HCI ( Human Computer Interface ). 
Atas dasar tersebutlah menjadi hal yang sangat penting bagi seorang analis atau perancang sebuah software pada saat akan menciptakan sebuah software harus memperhatikan kaidah – kaidah atau prinsip – prinsip dalam penyusunan  rancangan sebuah interface tersebut,  tentunya  yang User Friendly dan User Oriented. Hal ini dikarenakan perkembangan tekhnologi dan persaingan bisnis yang sangat pesat serta tuntutan user yang menghendaki berbagai kenyamanan dan kemudahan dalam menggunakan sebuah aplikasi.
User interface adalah cara program dan user berkomunikasi. Istilah user interface atau interface kadang-kadang digunakan sebagai penggati istilah HCI (Human Computer Interaction). HCI (Human Computer Interface) adalah semua aspek dari interaksi pengguna dan computer, tidak hanya hardware. Semuanya yang terlhat dilayar, membaca dalam dokumentasi dan dimanipulasi dengan keyboard (atau mouse) merupaka bagian dari user interface.

2. Tujuan Interface User
Mengkomunikasikan fitur-fitur sistem yang tersedia agar user mengerti dan dapat menggunakan sistem tersebut. Dalam hal ini penggunaan bahasa amat efektif untuk membantu pengertian, karena bahasa merupakan alat tertua (barangkali kedua tertua setelah gesture) yang dipakai orang untuk berkomunikasi sehari-harinya. Praktis, semua pengguna komputer dan Internet (kecuali mungkin anak kecil yang memakai komputer untuk belajar membaca) dapat mengerti tulisan. Interface ada dua jenis, yaitu :

-Graphical Interface : Menggunakan unsur-unsur multimedia (seperti gambar, suara, video) untuk berinteraksi dengan pengguna.
-Text-Based : Menggunakan syntax/rumus yang sudah ditentukan untuk memberikan perintah.

Meski pada umumnya panduan interface menyarankan agar ikon tidak diberi tulisan supaya tetap mandiri dari bahasa, namun elemen interface lain seperti teks pada tombol, caption window, atau teks-teks singkat di sebelah kotak input dan tombol pilihan semua menggunakan bahasa. Tanpa bahasa pun kadang ikon bisa tidak jelas maknanya, sebab tidak semua lambang ikon bisa bersifat universal.
 Meskipun penting, namun sayangnya kadang penggunaan bahasa, seperti pemilihan istilah, sering sekali dianggap kurang begitu penting. Terlebih dari itu dalam dunia desain situs Web yang serba grafis, bahasa sering menjadi sesuatu yang nomor dua ketimbang elemen-elemen interface lainnya. Dan ini karakteristik user dan kosep user interface.


3. Perbandingan Interface

Secara kasat mata sudah jelas bahwa website ini  sudah tidak menarik dan tidak enak dimata.Bagaimana user bisa berlama-lama memanjakan dirinya dengan info-info yang tersedia di website tersebut dengan desain dan interface seperti diatas yang pasti orang pusing melihatnya.
1.      Interface website yang kurang  baik ada 4 point yaitu:

·         Content
   Merupakan salah satu yang sangat penting dan harus ada dalam sebuah website.Content adalah isi dan inti dari suatu website. Dapat dilihat diatas dimana content tersebut  tidak jelas,maksudnya seseorang  tidak akan tau/sulit untuk membedakan dimana yang merupakan content dan yang bukan,seperti  iklan,category,link, dsb.
·         Coloring
    Pewarnaan juga sangat mendukung dalam pengembangan sebuah website,dengan tujuan agar interface tidak membosankan ,dengan warna yang slalu monton hitam putih. Sedangkan pewarnaan diatas kurang baik. Website diatas memang sudah menggunakan warna diluar hitam putih,namun sangat tidak sinkron,terlalu banyak warna-warna yang tidak match,tapi mungkin menurut si pembuat website tersebut itu menarik. Kalau boleh komentar sedikit, website ini bisa diibaratkan buku gambar yang dipakai untuk menggambar seorang anak-anak yang sedang belajar menggambar/mewarnai,jadi ya seperti itu hasilnya acak kadul.
·         Desain
    Ini  lebih parah lagi,dimana tidak memiliki struktur desain yang baik . Lihat contoh diatas misalnya ,seseorang yang berkunjung pasti akan tidak enak melihat desain website tersebut dan mungkin juga akan bingung.Tidak jelas dimana yang footer,header,sidebar dan contentnya. Selanjutnya gambar background yang acak-acakan yang sangat mengganggu pemandangan.
·         Text
    Untuk tulisan jelas kurang baik,terlalu banyak jenis font yang cukup mengganggu dan penempatan yang kurang baik karena tidak didukung oleh desain yang baik pula.
Sebaiknya dalam penggunaan font untuk sebuah website memakai font yang umum dipakai dan mudah dan enak dibaca semua orang,jangan cuma enak  dilihat dari diri sendiri tapi orang tidak.


Dilihat sepintas saja sudah jelas  bahwa interfacenya sangat bagus dan terstruktur, berbeda dengan website satunya yang tidak teratur dan acak-acakan. Mungkin yang membedakan adalah didesain oleh orang yang ahli dalam bidangnya.

 2. Interface website yang baik ada 4 point yaitu:
  • Content

   Sangat terlihat sekali perbedaan  dengan website yang sebelumnya dijelaskan diatas. Pada website ini terlihat jelas content yang bagus,jelas dan tidak membingungkan user. Mungkin dengan content yang seperti ini user akan lebih berlama-lama nongkrong di website kita untuk memanjakan mata dan otak dengan isi-isi yang ada dan bermanfaat.

  •   Coloring

   Pewaranaan sudah cukup baik,dimana  tidak terlalu banyak warna yang mencolok dan membuat pusing. Mungkin karena ini merupakan website formal  jadi penggunaan warnanya tidak terlalu banyak.

  • Desain

   Pada website ini jelas terlihat memiliki  rancangan desain yang sangat baik,sesuai dengan aturan dalam pembangunan interface sebuah web. Terlihat jelas mana yang content dan mana yang bukan,dan menggunakan background yang sederhana ,bukan gambar yang  justru akan membuat web tampak aneh. Dengan tampilan interface seperti ini ,jadi seseorang tidak akan pusing/bingung lagi untuk mencari apa yang ingin dicari diweb tersebut.

  •  Text

    Dalam penggunaan text dapat dibilang baik,karena tidak terlalu banyak penggunaan jenis  font yang aneh-aneh, dan hanya menggunakan beberapa jenis font yang umum sering digunakan, serta mudah untuk dibaca semua orang.
         
            Dari perbandingan  diatas mungkin kita menjadi sedikit  tahu seperti apa dan bagaimana interface yang baik. Untuk membuat suatu interface yang baik dalam suatu website kita harus memperhatikan beberapa hal penting :
1. Harus memahami konsep dasar dari interaksi manusia dan computer.
2. Harus  mendesain interaksi dan proses.
3. Terdapat notasi,dialog dan desain dalam interface.
4. Model-model dari system.
5. Pendukung implementasi interface.

4. Tipe-tipe Interface
          Interface merupakan salah satu bagian yang terpenting dari sistem. Interface sendiri adalah sistem yang dirancang untuk mengolah input dan output dari data. Seperti contohnya interface dibuat untuk pembentukan output laporan yang dapat dipreview, diprint, export/import (excel, word, barcode, text dll ). 
Interface ada dua jenis, yaitu :
1. Graphical User Interface (GUI) : Menggunakan unsur-unsur multimedia (seperti gambar, suara, video) untuk    
   berinteraksi dengan pengguna.
2. Text-Based : Menggunakan syntax/rumus yang sudah ditentukan untuk memberikan perintah.

5. Tipe-tipe Interaksi
Ada 5 tipe utama interaksi untuk user interaction yaitu:
  •     Direct manipulation – pengoperasian secara langsung : interaksi langsung dengan objek pada layar. Misalnya delete file dengan memasukkannya ke trash. Contoh: Video games. Kelebihan :  Waktu pembelajaran user sangat singkat, feedback langsung diberikan pada tiap aksi sehingga kesalahan terdeteksi dan diperbaiki dengan cepat. Kekurangan :  Interface tipe ini rumit dan memerlukan banyak fasilitas pada sistem komputer, cocok untuk penggambaran secara visual untuk satu operasi atau objek. 
  •   Menu selection – pilihan berbentuk menu :  Memilih perintah dari daftar yang disediakan. Misalnya saat click kanan dan memilih aksi yang dikehendaki. Kelebihan : User tidak perlu ingat nama perintah. Pengetikan minimal. Kesalahan rendah. Kekurangan : Tidak ada logika AND atau OR. Perlu ada struktur menu jika banyak pilihan. Menu dianggap lambat oleh expert user dibanding command language.

  •  Form fill-in – pengisian form : Mengisi area-area pada form. Contoh : Stock control. Kelebihan : Masukan data yang sederhana. Mudah dipelajari Kekurangan : Memerlukan banyak tempat di layar. Harus menyesuaikan dengan form manual dan kebiasaan user.
  •  Command language – perintah tertulis : Menuliskan perintah yang sudah ditentukan pada program. Contoh: operating system. Kelebihan : Perintah diketikan langsung pada system. Misal UNIX, DOS command. Bisa diterapkan pada terminal yang murah.Kombinasi perintah bisa dilakukan. Misal copy file dan rename nama file. Kekurangan : Perintah harus dipelajari dan diingat cara penggunaannya, tidak cocok untuk user biasa. Kesalahan pakai perintah sering terjadi. Perlu ada sistem pemulihan kesalahan.Kemampuan mengetik perlu.

  •  Natural language – perintah dengan bahasa alami : Menggunakan bahasa alami untuk mendapatkan hasil. Contoh: search engine di Internet. Kelebihan: Perintah dalam bentuk bahasa alami, dengan kosa kata yang terbatas (singkat), misalnya kata kunci yang kita tentukan untuk dicari oleh search engine. Ada kebebasan menggunakan kata-kata. Kekurangan: Tidak semua sistem cocok gunakan ini. Jika digunakan maka akan memerlukan banyak pengetikan.



Sumber : http://id.wikipedia.org/wiki/Antarmuka_pengguna, Buku Interaksi Manusia dan Komputer Penerbit GUNADARMA.

Kamis, 02 April 2015

Bayesian Risk Analysis Data

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, Januari 2015

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 I

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 II

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. Kegiatan yang meliputi pengumpulan, pemakaian data historis untuk menemukan keteraturan, pola dan hubungan dalam set data berukuran besar. Kegunaan data mining adalah untuk menspesifikasikan pola yang harus ditemukan dalam tugas data mining. Kehadiran data mining dilatar belakangi dengan problema data explosion yang dialami akhir-akhir ini dimana banyak organisasi telah mengumpulkan data sekian tahun lamanya (data pembelian, data penjualan, data nasabah, data transaksi dsb.)

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 :

P(X|Y)=\frac{P(X|Y)xP(Y)}{P(X)}


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 :

P(X|Y-y)-\prod P(X_{i}|Y-y)


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 :

P(X|Y,Z)=P(X|Z)


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 :

P(X,Y|Z)=\frac{P(X,Y,Z)}{P(Z)}


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 :

P(YX)=\frac{P(Y)\prod_{i-1}^{d}P(X_{i}|Y)}{P(X)}


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 :

P(X_{i}=x_{i}|Y=y_{i})=\frac{1}{2\pi\sigma}cxp


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 :

P(x_{i}\leq X_{i}\leq x_{i}+\epsilon|Y)=\intop_{x_{i}}^{x_{i}|\epsilon}\int(X_{i};\mu_{ij},\sigma_{ij})dX_{i}\approx f(x_{i};\mu_{ij},\sigma_{ij})x\epsilon


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.

P(Home Owner = Yes | No) = 3/7

P(Home Owner = Yes | No) = 4/7

P(Home Owner = Yes | No) = 0

P(Home Owner = Yes | No) = 1

P(Marital Status = Single | No) = 2/7

P(Marital Status = Divorce | No) = 1/7

P(Marital Status = Married | No) = 4/7

P(Marital Status = Single | No) = 2/3

P(Marital Status = Divorce | No) = 1/3

P(Marital Status = Married | No) = 0

For Annual Income : If class = No : Sample mean = 110 Sample variance = 2975

If class = Yes : Simple mean = 90 Sample variance = 25



(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

P(x_{i}|y_{i})=\frac{n_{c}+m_{p}}{n+m}


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.

P(X|Crocodile)=\frac{1}{\sqrt{2\prod.2}}exp\left[-\frac{1}{2}(\frac{X-15}{2})^{2}\right]


P(X|Alligator)=\frac{1}{\sqrt{2\prod.2}}exp\left[-\frac{1}{2}(\frac{X-12}{2})^{2}\right]


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

P(X=\hat{x}|Crocodile)=P(X=\hat{x}|Alligator)


Menggunakan persamaan 9 didapat,

(\frac{\hat{x}-15}{2})^{2}=(\frac{\hat{x}-12}{2})^{2}


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 )

Error=\int_{0}^{\hat{x}}P(Crocodile|X)dX+\int_{\hat{x}}^{\propto}P(Alligator|X)dX


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),

\left\{ X_{1},X_{2},...,X_{d}\right\}


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 ,

\left\{ Y_{1},Y_{2},...,Y_{K}\right\}


maka tabel berisi peluang bersyarat .

P(X|Y_{1},Y_{2},...,Y_{K})


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:

P(M
  is
 spam|x)=\frac{P(x|Misspam)P(Misspam)}{P(x)}


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:

P\{Misspam|V(M)\}=\frac{\prod=1P(Misspam|x)}{\prod=1P(Misspam|x_{i})+\prod=1(1-P(Misspam|x_{i}))}


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.



Gambar : Processor, Ram, dan harddisk

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 IV



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 V



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.