Bagaimana Naive Bayes a Linear Classifier?

31

Saya telah melihat utas lainnya di sini, tetapi saya pikir jawabannya tidak memuaskan pertanyaan yang sebenarnya. Apa yang terus saya baca adalah bahwa Naif Bayes adalah pengklasifikasi linier (mis: sini ) (sedemikian rupa sehingga menarik batas keputusan linier) menggunakan demonstrasi peluang log.

Namun, saya mensimulasikan dua awan Gaussian dan memasang batas keputusan dan mendapatkan hasilnya seperti itu (perpustakaan e1071 di r, menggunakan naiveBayes ()) 1- Hijau, 0 - Merah

Seperti yang dapat kita lihat, batas keputusan adalah non-linear. Apakah ini mencoba untuk mengatakan bahwa parameter (probabilitas kondisional) adalah kombinasi linear dalam ruang log daripada mengatakan classifier itu sendiri memisahkan data secara linear?

Kevin Pei
sumber
bagaimana Anda membuat batas keputusan? Saya curiga ini berkaitan dengan rutinitas pemasangan Anda dan bukan batas keputusan sebenarnya dari classifier. biasanya seseorang akan menghasilkan batas keputusan dengan menghitung keputusan di setiap titik di kuadran Anda.
seanv507
Itulah yang saya lakukan, saya mengambil dua rentang X = [Min (x), Max (x)] dan Y = [Min (Y), Max (Y)] dengan jarak 0,1. Saya kemudian memasangkan semua titik data tersebut dengan classifier terlatih dan menemukan titik sedemikian rupa sehingga peluang log berada di antara -0,05 dan 0,05
Kevin Pei

Jawaban:

30

Secara umum classifier naif Bayes tidak linier, tetapi jika faktor kemungkinan berasal dari keluarga eksponensial , classifier naif Bayes sesuai dengan classifier linier dalam ruang fitur tertentu. Inilah cara melihatnya.p(xic)

Anda dapat menulis pengelompokan Bayes naif sebagai *

p(c=1x)=σ(ilogp(xic=1)p(xic=0)+logp(c=1)p(c=0)),

di mana adalah fungsi logistik . Jika berasal dari keluarga eksponensial, kita dapat menuliskannya sebagaip ( x ic )σp(xic)

p(xic)=hi(xi)exp(uicϕi(xi)Ai(uic)),

dan karenanya

p(c=1x)=σ(iwiϕi(xi)+b),

dimana

wi=ui1ui0,b=logp(c=1)p(c=0)i(Ai(ui1)Ai(ui0)).

Perhatikan bahwa ini mirip dengan regresi logistik - classifier linier - dalam ruang fitur yang ditentukan oleh . Untuk lebih dari dua kelas, kami secara analog mendapatkan regresi logistik multinomial (atau softmax) .ϕi

Jika adalah Gaussian, maka dan kita harus memiliki p(xic)ϕi(xi)=(xi,xi2)

wi1=σ12μ1σ02μ0,wi2=2σ022σ12,bi=logσ0logσ1,

dengan asumsi .p(c=1)=p(c=0)=12


* Berikut adalah cara menurunkan hasil ini:

p(c=1x)=p(xc=1)p(c=1)p(xc=1)p(c=1)+p(xc=0)p(c=0)=11+p(xc=0)p(c=0)p(xc=1)p(c=1)=11+exp(logp(xc=1)p(c=1)p(xc=0)p(c=0))=σ(ilogp(xic=1)p(xic=0)+logp(c=1)p(c=0))
Lucas
sumber
Terima kasih untuk derivasi, yang sekarang saya mengerti, dapatkah Anda menjelaskan notasi dalam persamaan 2 dan di bawah? (u, h (x_i), phi (x_i), dll) Apakah P (x_i | c) di bawah keluarga eksponensial hanya cukup mengambil nilai dari pdf?
Kevin Pei
Ada berbagai cara Anda dapat mengekspresikan satu dan distribusi yang sama. Persamaan kedua adalah distribusi keluarga eksponensial dalam bentuk kanonik. Banyak distribusi adalah keluarga eksponensial (Gaussian, Laplace, Dirichlet, Bernoulli, binomial, hanya untuk beberapa nama), tetapi kepadatan / fungsi massa mereka biasanya tidak diberikan dalam bentuk kanonik. Jadi, pertama-tama Anda harus membuat ulang distribusi. Tabel ini memberi tahu Anda cara menghitung (parameter alami) dan (statistik yang memadai) untuk berbagai distribusi: en.wikipedia.org/wiki/Exponential_family#Table_of_distributionsuϕ
Lucas
1
Perhatikan poin penting yang . Apa artinya ini adalah bahwa pengklasifikasi linier adalah kombinasi linear dari bobot dan fungsi yang berpotensi non-linear dari fitur-fiturnya! Jadi, ke titik poster asli, sebidang datapoints mungkin tidak menunjukkan bahwa mereka dipisahkan oleh garis. ϕ(x)=(x,x2)w
RMurphy
Saya menemukan jawaban ini menyesatkan: seperti yang ditunjukkan dalam komentar saja, dan jawaban tepat di bawah, Gaussian naif Bayes tidak linear dalam ruang fitur asli, tetapi dalam transformasi non-linear ini. Oleh karena itu bukan classifier linier konvensional.
Gael Varoquaux
mengapa adalah Gaussian, lalu ? Saya pikir statistik untuk distribusi Gaussian harus . ϕ i ( x i ) = ( x i , x 2 ip(xi|c)T ( x ) x / σϕi(xi)=(xi,xi2)T(x)x/σ
Naomi
8

Ini linear hanya jika matriks varian bersyarat kelas adalah sama untuk kedua kelas. Untuk melihat ini tuliskan ransum dari pos logaror dan Anda hanya akan mendapatkan fungsi linier darinya jika varians yang sesuai adalah sama. Kalau tidak, itu kuadratik.

kapak
sumber
3

Saya ingin menambahkan satu poin tambahan: alasan untuk beberapa kebingungan bertumpu pada apa artinya melakukan "klasifikasi Naif Bayes".

Di bawah topik luas "Analisis Diskriminan Gaussian (GDA)" ada beberapa teknik: QDA, LDA, GNB, dan DLDA (kuadratik DA, linear DA, baye naif gaussian, LDA diagonal). [DIPERBARUI] LDA dan DLDA harus linier di ruang prediksi yang diberikan. (Lihat, misalnya, Murphy , 4.2, hal. 101 untuk DA dan hal. 82 untuk NB. Catatan: GNB belum tentu linier. NB diskrit (yang menggunakan distribusi multinomial di bawah tenda) adalah linier. Anda juga dapat memeriksa Duda , Hart & Bangau bagian 2.6). QDA adalah kuadrat seperti yang ditunjukkan oleh jawaban lain (dan yang menurut saya adalah apa yang terjadi dalam grafik Anda - lihat di bawah).

Teknik-teknik ini membentuk sebuah kisi dengan seperangkat batasan bagus pada "matriks kovarians kelas-bijaksana" :Σc

  • : arbitrary: ftr arbitrary. cov. matriks per kelasΣc
  • LDA: : shared cov. matriks (lebih dari kelas)Σc=Σ
  • GNB: : cov diagonal bijaksana kelas. matriks (asumsi ind. dalam model diagonal cov. matrix)Σc=diagc
  • DLDA: : shared & diagonal cov. matriksΣc=diag

Sementara dokumen untuk e1071 mengklaim bahwa ia mengasumsikan independensi kelas-kondisional (yaitu, GNB), saya curiga bahwa itu sebenarnya melakukan QDA. Beberapa orang mengacaukan "Bayes naif" (membuat asumsi independensi) dengan "aturan klasifikasi Bayesian sederhana". Semua metode GDA berasal dari nanti; tetapi hanya GNB dan DLDA yang menggunakan yang pertama.

Peringatan besar, saya belum membaca kode sumber e1071 untuk mengkonfirmasi apa yang dilakukannya.

MrDrFenner
sumber