Apa itu naive Bayes classifier?
Naive Bayes adalah keluarga classifier probabilistik yang menerapkan aturan Bayes dengan satu asumsi penyederhana: jika kelasnya diketahui, setiap feature independen dari feature lain. Dengan asumsi itu, likelihood seluruh input adalah hasil kali likelihood tiap feature, dan masing-masing mudah diperkirakan dari jumlah kemunculan atau dari mean dan variance per kelas. Prediksinya adalah kelas dengan posterior probability tertinggi.
Naive Bayes cukup di-train dengan satu kali lewat pada data dan hanya butuh sedikit data, jadi metode ini menjadi baseline standar untuk tugas klasifikasi teks seperti penyaringan spam, sentiment analysis, dan pelabelan topik. Variannya mengikuti jenis feature: Gaussian naive Bayes untuk nilai kontinu, multinomial naive Bayes untuk jumlah kata, dan Bernoulli naive Bayes untuk ada atau tidaknya kata.
Ide utama
- Naive Bayes memilih kelas dengan posterior tertinggi, P(kelas | x) ∝ P(x | kelas) · P(kelas).
- Metode ini mengasumsikan feature saling independen jika kelasnya diketahui, jadi likelihood adalah hasil kali suku tiap feature.
- Training hanya memperkirakan statistik per kelas seperti mean, variance, atau frekuensi kata.
- Implementasi menjumlahkan log-probabilitas, bukan mengalikan probabilitas, untuk menghindari underflow.
- Mengubah prior menggeser decision boundary tanpa mengubah bentuknya.
- Probabilitasnya sering terlalu yakin, bahkan ketika prediksi kelasnya akurat.
Pertanyaan umum
Kenapa naive Bayes disebut naive?
Metode ini mengasumsikan setiap feature independen dari feature lain begitu kelasnya diketahui. Asumsi itu jarang benar: dalam email, "free" dan "prize" cenderung muncul bersama. Asumsi ini adalah penyederhanaan yang disengaja agar model cepat dan hemat data.
Apa itu Laplace smoothing pada naive Bayes?
Jika suatu kata tidak pernah muncul di training set spam, perkiraan P(kata | spam)-nya nol, dan satu kemunculan di email baru akan memaksa probabilitas spam menjadi nol. Laplace smoothing (add-one) menambahkan 1 ke setiap hitungan sebelum membagi, jadi setiap kata tetap punya probabilitas kecil yang bukan nol. Besar tambahannya, yang sering disebut alpha, bisa di-tune.
Apakah naive Bayes termasuk generative atau discriminative?
Generative. Metode ini memodelkan cara tiap kelas menghasilkan feature, P(x | kelas), bersama class prior, lalu mengklasifikasi dengan aturan Bayes. Logistic regression adalah pasangan discriminative-nya. Ng dan Jordan (2001) menemukan bahwa naive Bayes mendekati error terbaiknya dengan lebih sedikit contoh training, sedangkan logistic regression biasanya mencapai error yang lebih rendah saat datanya melimpah.
Apakah probabilitas naive Bayes bisa diandalkan?
Sebagai probabilitas, biasanya tidak. Feature yang berkorelasi dihitung lebih dari sekali, sehingga posterior terdorong ke 0 atau 1. Saat probabilitas yang terkalibrasi diperlukan, Platt scaling atau isotonic regression bisa di-fit pada data held-out untuk mengoreksinya.
Penjelasan terkait
- Teorema Bayes · Memperbarui keyakinan berdasarkan bukti
- Probabilitas dan Distribusi · Lemparan koin, kurva lonceng, dan matematika ketidakpastian
- Text Classification & Sentiment · Latih model untuk memberi label pada teks, dari deteksi spam sampai sentiment analysis
- Bag of Words · Mengubah teks menjadi angka: hitung kemunculan kata untuk membuat representasi dokumen paling sederhana di NLP
- Estimasi MLE dan MAP · Maximum likelihood dan maximum a posteriori: alasan training bisa berhasil
- Class Imbalance & Resampling · SMOTE, class weight, dan metrik di luar akurasi
Referensi
- Domingos & Pazzani (1997), "On the Optimality of the Simple Bayesian Classifier under Zero-One Loss", Machine Learning
- Jurafsky & Martin, "Speech and Language Processing" (3rd ed. draft), chapter on Naive Bayes and Sentiment Classification
- James, Witten, Hastie & Tibshirani, "An Introduction to Statistical Learning", chapter 4: Classification
Terakhir diperbarui