Mengapa pengklasifikasi Bayesian yang naif memiliki kinerja yang sangat baik?


38

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?

Jawaban:


23

Makalah ini tampaknya membuktikan (saya tidak bisa mengikuti matematika) bahwa bayes baik tidak hanya ketika fitur independen, tetapi juga ketika dependensi fitur satu sama lain mirip antara fitur:

Dalam makalah ini, kami mengusulkan penjelasan baru tentang kinerja klasifikasi luar biasa dari Bayes naif. Kami menunjukkan bahwa, pada dasarnya, distribusi ketergantungan; yaitu, bagaimana ketergantungan lokal dari suatu node mendistribusikan di setiap kelas, secara merata atau tidak rata, dan bagaimana dependensi lokal dari semua node bekerja bersama, secara konsisten (mendukung klasifikasi tertentu) atau secara tidak konsisten (membatalkan satu sama lain), memainkan peran penting. Oleh karena itu, tidak peduli seberapa kuat ketergantungan antara atribut, Bayes naif masih bisa optimal jika ketergantungan didistribusikan secara merata di kelas, atau jika ketergantungan membatalkan satu sama lain.


1
Secara kualitatif, itu masuk akal. Fitur tergantung akan menghasilkan bobot - sehingga distribusi yang merata atau distribusi yang dibatalkan, akan membatalkan bobot ini. Namun, dependensi "lop-sided" mungkin akan berkinerja buruk? Saya kira untuk contoh spam, kita harus mengharapkan banyak dependensi untuk + fitur spam, tetapi tidak harus fitur-spam dalam kasus umum. Namun, seseorang mungkin menerima banyak email yang sah tentang topik tertentu, jadi dalam hal itu akan ada banyak fitur dependen - yang akan menyeimbangkan fitur + spam.
Menang

3
Saya juga merekomendasikan makalah ini: cs.stanford.edu/people/ang/papers/…
Dov

25

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".


Saya pikir "mudah" mungkin relatif, tapi ya klasifikasi spam 'lebih mudah' daripada yang saya kira kebanyakan orang kira-kira 12 tahun yang lalu. Metode Kernel mungkin merupakan pendekatan untuk menghasilkan pengklasifikasi yang cepat dan sederhana, tetapi "Bagaimana cara saya mendesain fungsi kernel yang efektif untuk data saya" sepertinya beberapa pembelajaran mesin menjadi "pembelajaran manusia" (mis. Menemukan pemahaman yang lebih baik tentang data dan itu antar-hubungan)?
Menang

1
Ya itu relatif, dan juga ada banyak masalah, jadi masih banyak yang sulit di luar sana! Dan saya pikir batas antara ML dan pembelajaran manusia selalu buram ... jika Anda membuat beberapa model probabilitas super-mewah Anda melakukan hal yang sama. NFLT tua yang baik memberi tahu kita bahwa satu metode tidak dapat menyelesaikan semua masalah, betapapun rumitnya metode itu, jadi kita akan selalu membutuhkan manusia untuk merancang model / kernel / algoritma atau apa pun yang diperlukan untuk mendapatkan lebih banyak dari data Anda.
tdc

benar - jelas garis buram!
Menang

1
Mengapa downvote? Mau berkomentar?
tdc

7

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:

  • Inter-korelasi antara variabel-variabel prediktor tidak sekuat yang diperkirakan (skor informasi timbal balik 0,05 hingga 0,15 merupakan ciri khas)
  • NBC dapat menangani variabel-variabel politis diskrit dengan baik, tidak mengharuskan kita untuk mendikotomasinya secara kasar atau memperlakukan variabel-variabel ordinal sebagai kardinal.
  • NBC menggunakan semua variabel secara bersamaan sedangkan CART / CHAID hanya menggunakan beberapa variabel

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.