Klasifikasi Naif Bayes adalah pilihan populer untuk masalah klasifikasi. Ada banyak alasan untuk ini, termasuk:
- "Zeitgeist" - kesadaran luas setelah keberhasilan filter spam sekitar sepuluh tahun yang lalu
- Mudah ditulis
- Model classifier cepat dibangun
- Model dapat dimodifikasi dengan data pelatihan baru tanpa harus membangun kembali model
Namun, mereka 'naif' - yaitu mereka menganggap fitur independen - ini berbeda dengan pengklasifikasi lain seperti pengklasifikasi Entropy Maksimum (yang lambat untuk menghitung).
Asumsi independensi biasanya tidak dapat diasumsikan, dan dalam banyak (kebanyakan?) Kasus, termasuk contoh filter spam, itu benar-benar salah.
Jadi mengapa Naive Bayes Classifier masih berkinerja sangat baik dalam aplikasi seperti itu, bahkan ketika fitur-fitur tersebut tidak saling tergantung?
sumber
Sebagian besar masalah Pembelajaran Mesin mudah!
Lihat misalnya di blog John Langford . Apa yang sebenarnya ia katakan adalah bahwa ML membuat masalah menjadi mudah, dan ini menghadirkan masalah bagi para peneliti dalam hal apakah mereka harus mencoba menerapkan metode untuk berbagai masalah sederhana atau menyerang masalah yang lebih sulit. Namun produk sampingannya adalah bahwa untuk banyak masalah, datanya Linearly Separable (atau paling tidak hampir), dalam hal ini setiap classifier linier akan bekerja dengan baik! Kebetulan bahwa penulis kertas saring spam asli memilih untuk menggunakan Naif Bayes, tetapi seandainya mereka menggunakan Perceptron, SVM, Analisis Diskriminan Nelayan, Regresi Logistik, AdaBoost, atau cukup banyak hal lain yang mungkin berhasil juga.
Fakta bahwa relatif mudah untuk membantu memberikan kode algoritma Misalnya untuk membuat kode SVM Anda harus memiliki QP Solver , atau Anda perlu kode algoritma SMO yang bukan tugas sepele. Anda tentu saja dapat mengunduh libsvm tetapi pada hari-hari awal opsi itu tidak tersedia. Namun ada banyak algoritma sederhana lainnya (termasuk Perceptron yang disebutkan di atas) yang mudah dikodekan (dan memungkinkan pembaruan tambahan seperti yang disebutkan dalam pertanyaan).
Untuk masalah nonlinier yang sulit, metode yang dapat menangani nonlinier tentu saja diperlukan. Tetapi bahkan ini bisa menjadi tugas yang relatif sederhana ketika Metode Kernel digunakan. Pertanyaannya kemudian menjadi "Bagaimana cara mendesain fungsi kernel yang efektif untuk data saya" daripada "Pengklasifikasi mana yang harus saya gunakan".
sumber
Setelah menggunakan Naive Bayesian Classifiers secara luas dalam alat klasifikasi segmentasi, pengalaman saya konsisten dengan makalah yang diterbitkan yang menunjukkan NBC dapat dibandingkan secara akurat dengan diskriminan linier dan CART / CHAID ketika semua variabel prediktor tersedia.
(Secara akurat "hit rate" dalam memprediksi solusi yang tepat sebagai yang paling mungkin, serta kalibrasi, artinya, katakanlah, 75% perkiraan keanggotaan tepat di 70% -80% kasus.)
Dua sen saya adalah bahwa NBC bekerja dengan sangat baik karena:
Dan saat itulah semua variabel diamati. Apa yang membuat NBC benar-benar menarik diri dari paket adalah bahwa ia dengan anggun menurun ketika satu atau lebih variabel prediktor hilang atau tidak diamati. CART / CHAID dan analisis diskriminan linier berhenti datar dalam kasus itu.
sumber