Saya membaca Klasifikasi Naif Bayes hari ini. Saya membaca, di bawah judul Estimasi Parameter dengan menambahkan 1 smoothing :
Mari merujuk ke kelas (seperti positif atau negatif), dan membiarkan mengacu pada tanda atau kata.
Estimasi kemungkinan maksimum untuk adalah
Estimasi bisa bermasalah karena akan memberi kita probabilitas untuk dokumen dengan kata-kata yang tidak dikenal. Cara umum untuk menyelesaikan masalah ini adalah dengan menggunakan penghalusan Laplace.
Biarkan V menjadi himpunan kata dalam himpunan pelatihan, tambahkan elemen baru (untuk tidak diketahui) ke himpunan kata.
Tentukan
di mana mengacu pada kosakata (kata-kata dalam set pelatihan).
Secara khusus, setiap kata yang tidak dikenal akan memiliki probabilitas
Pertanyaan saya adalah ini: mengapa kita repot-repot dengan smoothing Laplace ini sama sekali? Jika kata-kata tidak dikenal yang kita temui dalam set pengujian memiliki probabilitas yang jelas hampir nol, yaitu , apa gunanya termasuk dalam model? Mengapa tidak mengabaikan saja dan menghapusnya?
Jawaban:
Anda selalu membutuhkan probabilitas 'gagal-aman' ini.
Untuk melihat mengapa mempertimbangkan kasus terburuk di mana tidak ada kata-kata dalam sampel pelatihan muncul dalam kalimat tes. Dalam hal ini, di bawah model Anda, kami akan menyimpulkan bahwa kalimat itu tidak mungkin tetapi jelas ada menciptakan kontradiksi.
Contoh ekstrem lainnya adalah kalimat ujian "Alex bertemu Steve." di mana "bertemu" muncul beberapa kali dalam sampel pelatihan tetapi "Alex" dan "Steve" tidak. Model Anda akan menyimpulkan pernyataan ini sangat mungkin yang tidak benar.
sumber
Katakanlah Anda telah melatih Naive Bayes Classifier Anda pada 2 kelas, "Ham" dan "Spam" (yaitu, itu mengklasifikasikan email). Demi kesederhanaan, kami akan menganggap probabilitas sebelumnya menjadi 50/50.
Sekarang katakanlah Anda memiliki email( b1, w2, . . . , wn) yang tingkat classifier Anda sangat tinggi sebagai "Ham", mengatakan P( Ha m | w1, w2, . . . wn) = .90 dan P( Sp a m | w1, w2, . . wn)= .10
Sejauh ini baik.
Sekarang katakanlah Anda memiliki email lain( b1, w2, . . . , wn, wn + 1) yang persis sama dengan email di atas kecuali bahwa ada satu kata di dalamnya yang tidak termasuk dalam kosa kata . Oleh karena itu, karena jumlah kata ini adalah 0, P( Ha m | wn + 1) = P( Sp a m | wn + 1) = 0
Tiba-tiba,P( Ha m | w1, w2, . . . wn, wn + 1) = P( Ha m | w1, w2, . . . wn) ∗ P( Ha m | wn + 1) = 0 dan P( Sp a m | w1, w2, . . wn, wn + 1) = P( Sp a m | w1, w2, . . . wn) ∗ P( Sp a m | wn + 1) = 0
Meskipun email ke-1 sangat terklasifikasi dalam satu kelas, email ke-2 ini dapat diklasifikasikan secara berbeda karena kata terakhir yang memiliki kemungkinan nol.
Laplace smoothing menyelesaikan ini dengan memberikan kata terakhir probabilitas kecil yang tidak nol untuk kedua kelas, sehingga probabilitas posterior tidak tiba-tiba turun ke nol.
sumber
Pertanyaan ini agak sederhana jika Anda terbiasa dengan estimator Bayes, karena ini adalah kesimpulan langsung dari estimator Bayes.
Dalam pendekatan Bayesian, parameter dianggap kuantitas yang variasinya dapat digambarkan oleh distribusi probabilitas (atau distribusi sebelumnya).
Jadi, jika kita melihat prosedur pengambilan sebagai distribusi multinomial, maka kita dapat menyelesaikan pertanyaan dalam beberapa langkah.
Pertama, definisikan
Anda dapat melihat kami hanya menarik kesimpulan yang sama dengan Laplace Smoothing.
sumber
Mengabaikan kata-kata itu adalah cara lain untuk menanganinya. Ini sesuai dengan rata-rata (mengintegrasikan) untuk semua variabel yang hilang. Jadi hasilnya berbeda. Bagaimana?
Namun dalam praktiknya orang lebih memilih pendekatan smoothing. Alih-alih mengabaikan token-token itu, Anda memberi mereka probabilitas rendah yang seperti berpikir: jika saya memiliki token yang tidak diketahui, itu lebih tidak mungkin adalah jenis dokumen yang seharusnya saya pikirkan.
sumber
Anda ingin tahu mengapa kami repot-repot melicinkan sama sekali dalam classifier Naive Bayes (ketika kami dapat membuang fitur yang tidak diketahui sebagai gantinya).
Jawaban untuk pertanyaan Anda adalah: tidak semua kata harus tidak dikenal di semua kelas.
Katakanlah ada dua kelas M dan N dengan fitur A , B dan C , sebagai berikut:
M: A = 3, B = 1, C = 0
(Di kelas M , A muncul 3 kali dan B hanya sekali)
N: A = 0, B = 1, C = 3
(Di kelas N , C muncul 3 kali dan B hanya sekali)
Mari kita lihat apa yang terjadi ketika Anda membuang fitur yang muncul nol kali.
A) Membuang Fitur-Fitur Yang Tampil Nol Kali Di Kelas Apa Saja
Jika Anda membuang fitur A dan C karena mereka muncul nol kali di salah satu kelas, maka Anda hanya memiliki fitur B untuk mengklasifikasikan dokumen.
Dan kehilangan informasi itu adalah hal yang buruk seperti yang akan Anda lihat di bawah!
Jika Anda diberikan dokumen uji sebagai berikut:
B = 1, C = 3
(Ini mengandung B sekali dan C tiga kali)
Sekarang, karena Anda sudah dibuang fitur A dan B , Anda tidak akan dapat mengatakan apakah dokumen di atas milik kelas M atau kelas N .
Jadi, kehilangan semua informasi fitur adalah hal yang buruk!
B) Membuang Fitur-Fitur Yang Tampak Nol Kali Di Semua Kelas
Apakah mungkin untuk mengatasi masalah ini dengan hanya membuang fitur-fitur yang muncul nol kali di semua kelas?
Tidak, karena itu akan menciptakan masalah sendiri!
Dokumen uji berikut menggambarkan apa yang akan terjadi jika kami melakukan itu:
A = 3, B = 1, C = 1
Probabilitas M dan N akan menjadi nol (karena kami tidak membuang probabilitas nol A di kelas N dan probabilitas nol C di kelas M ).
C) Jangan Membuang Apa Pun - Gunakan Penghalus
Smoothing memungkinkan Anda untuk mengklasifikasikan kedua dokumen di atas dengan benar karena:
Dalam Praktek Penari Naif Bayes
Klasifikasi Naive Bayes di NLTK digunakan untuk membuang fitur yang tidak memiliki hitungan di salah satu kelas.
Ini digunakan untuk membuatnya berkinerja buruk ketika dilatih menggunakan prosedur EM keras (di mana classifier di-bootstrap dari data pelatihan yang sangat sedikit).
sumber
Saya juga menemukan masalah yang sama saat mempelajari Naif Bayes.
Menurut saya, setiap kali kita menemukan contoh uji yang tidak kita temui selama pelatihan, maka probabilitas Posterior akan menjadi 0.
Jadi menambahkan 1, bahkan jika kita tidak pernah melatih pada fitur / kelas tertentu, probabilitas Posterior tidak akan pernah menjadi 0.
sumber
Matt Anda benar, Anda menaikkan poin yang sangat bagus - ya Laplace Smoothing sebenarnya tidak masuk akal! Hanya dengan membuang fitur-fitur itu bisa menjadi pendekatan yang valid, terutama ketika penyebutnya juga sedikit - tidak ada cukup bukti untuk mendukung estimasi probabilitas.
Saya memiliki keengganan yang kuat untuk memecahkan masalah apa pun melalui penggunaan beberapa penyesuaian sewenang-wenang. Masalahnya di sini adalah nol, "solusi" adalah dengan hanya "menambahkan beberapa nilai kecil ke nol sehingga tidak nol lagi - MAGIC masalahnya tidak ada lagi". Tentu saja itu sepenuhnya sewenang-wenang.
Saran Anda untuk memilih fitur yang lebih baik untuk memulai adalah pendekatan yang tidak terlalu sembarangan dan IME meningkatkan kinerja. Lebih lanjut Laplace Smoothing bersama dengan naive Bayes sebagai model dalam pengalaman saya memperburuk masalah granularity - yaitu masalah di mana skor skor cenderung mendekati 1,0 atau 0,0 (jika jumlah fitur tidak terbatas maka setiap skor akan menjadi 1,0 atau 0,0 - ini adalah konsekuensi dari asumsi independensi).
Sekarang teknik alternatif untuk estimasi probabilitas ada (selain kemungkinan maksimum + Laplace smoothing), tetapi secara masif didokumentasikan. Bahkan ada seluruh bidang yang disebut Logika Induktif dan Proses Inferensi yang menggunakan banyak alat dari Teori Informasi.
Apa yang kami gunakan dalam praktik adalah Pembaruan Entropi Silang Minimum yang merupakan perpanjangan dari Pembaruan Jeffrey di mana kami mendefinisikan wilayah cembung ruang probabilitas yang konsisten dengan bukti sebagai wilayah sedemikian sehingga suatu titik di dalamnya berarti estimasi Kemungkinan Maksimum berada di dalam Diharapkan Penyimpangan Absolut dari titik tersebut.
Ini memiliki properti yang bagus karena jumlah titik data mengurangi estimasi secara damai mendekati sebelumnya - dan karena itu pengaruhnya dalam perhitungan Bayesian adalah nol. Laplace smoothing di sisi lain membuat setiap pendekatan mendekati titik Entropy Maksimum yang mungkin bukan yang sebelumnya dan karena itu efek dalam perhitungan tidak nol dan hanya akan menambah noise.
sumber