In che modo Naive Bayes è un classificatore lineare?


31

Ho visto l'altro thread qui, ma non credo che la risposta abbia soddisfatto la vera domanda. Quello che ho letto continuamente è che Naive Bayes è un classificatore lineare (es: qui ) (tale da tracciare un confine di decisione lineare) usando la dimostrazione delle probabilità del log.

Tuttavia, ho simulato due nuvole gaussiane e adattato un limite di decisione e ottenuto i risultati in quanto tali (libreria e1071 in r, usando naiveBayes ()) 1- Verde, 0 - Rosso

Come possiamo vedere, il limite della decisione non è lineare. Sta cercando di dire che i parametri (probabilità condizionate) sono una combinazione lineare nello spazio del registro piuttosto che dire che il classificatore stesso separa i dati in modo lineare?


come hai creato il confine decisionale? sospetto che abbia a che fare con la tua routine di adattamento piuttosto che con il vero limite di decisione del classificatore. normalmente si genererebbe un limite di decisione calcolando la decisione in ogni singolo punto del quadrante.
seanv507,

Questo è quello che ho fatto, ho preso i due intervalli di X = [Min (x), Max (x)] e Y = [Min (Y), Max (Y)] con una spaziatura di 0,1. Ho quindi adattato tutti quei punti dati con il classificatore addestrato e ho trovato punti tali che le probabilità del registro erano comprese tra -0,05 e 0,05
Kevin Pei,

Risposte:


30

In generale il classificatore ingenuo di Bayes non è lineare, ma se i fattori di probabilità provengono da famiglie esponenziali , il classificatore ingenuo di Bayes corrisponde a un classificatore lineare in un particolare spazio di caratteristiche. Ecco come vedere questo.p(xic)

Puoi scrivere qualsiasi classificatore Bayes ingenuo come *

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

dove è la funzione logistica . Se p ( x ic ) proviene da una famiglia esponenziale, possiamo scriverlo comeσp(xic)

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

e quindi

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

dove

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

Si noti che questo è simile alla regressione logistica - un classificatore lineare - nello spazio delle caratteristiche definito da . Per più di due classi, otteniamo analogamente la regressione logistica multinomiale (o softmax) .ϕi

Se è gaussiano, allora ϕ i ( x i ) = ( x i , x 2 i ) e dovremmo avere w i 1p(xic)ϕi(xi)=(xi,xi2)

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

assumendo .p(c=1)=p(c=0)=12


* Ecco come derivare questo risultato:

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))

Grazie per la derivazione, che ora capisco, puoi spiegare le notazioni nell'equazione 2 e seguenti? (u, h (x_i), phi (x_i), ecc.) P (x_i | c) in una famiglia esponenziale sta semplicemente prendendo il valore dal pdf?
Kevin Pei,

Esistono diversi modi in cui puoi esprimere la stessa distribuzione. La seconda equazione è una distribuzione esponenziale della famiglia in forma canonica. Molte distribuzioni sono famiglie esponenziali (gaussiane, Laplace, Dirichlet, Bernoulli, binomiali, solo per citarne alcune), ma la loro funzione densità / massa non è tipicamente data in forma canonica. Quindi devi prima riparametrizzare la distribuzione. Questa tabella spiega come calcolare (parametri naturali) e ϕ (statistiche sufficienti) per varie distribuzioni: en.wikipedia.org/wiki/Exponential_family#Table_of_distributionsuϕ
Lucas

1
Nota il punto importante che . Ciò significa che i classificatori lineari sono una combinazione lineare di pesi con funzioni potenzialmente non lineari delle caratteristiche! Quindi, al punto del poster originale, una trama dei punti dati potrebbe non mostrare che sono separabili da una linea. ϕ(x)=(x,x2)w
RMurphy,

Trovo questa risposta fuorviante: come sottolineato nel commento, e la risposta appena sotto, l'ingenua Bayes gaussiana non è lineare nello spazio delle caratteristiche originali, ma in una trasformazione non lineare di questi. Quindi non è un classificatore lineare convenzionale.
Gael Varoquaux,

perché è gaussiano, quindi ϕ i ( x i ) = ( x i , x 2 i ) ? Penso che la statistica sufficiente T ( x ) per la distribuzione gaussiana dovrebbe essere x / σ . p(xi|c)ϕi(xi)=(xi,xi2)T(x)x/σ
Naomi,

8

È lineare solo se le matrici di varianza condizionale della classe sono le stesse per entrambe le classi. Per vederlo, annota la razione dei log posteriori e otterrai una funzione lineare solo se le varianze corrispondenti sono uguali. Altrimenti è quadratico.


3

Vorrei aggiungere un ulteriore punto: la ragione di una parte della confusione sta nel significato della "classificazione Naive Bayes".

Sotto l'ampio argomento di "Gaussian Discriminant Analysis (GDA)" ci sono diverse tecniche: QDA, LDA, GNB e DLDA (DA quadratico, DA lineare, bayes gaussiane naive, LDA diagonale). [AGGIORNATO] LDA e DLDA dovrebbero essere lineari nello spazio dei predittori indicati. (Vedi, ad esempio, Murphy , 4.2, pag. 101 per DA e pag. 82 per NB. Nota: GNB non è necessariamente lineare. NB discreto (che utilizza una distribuzione multinomiale sotto il cofano) è lineare. Puoi anche dare un'occhiata a Duda , Sezione Hart & Stork 2.6). Il QDA è quadratico come hanno indicato altre risposte (e che penso sia ciò che sta accadendo nel tuo grafico - vedi sotto).

Σc

  • Σc
  • Σc=Σ
  • Σc=diagc
  • Σc=diag

Mentre i documenti per e1071 affermano che sta assumendo un'indipendenza condizionata dalla classe (cioè, GNB), sono sospetto che stia effettivamente facendo QDA. Alcune persone confondono "ingenui Bayes" (ipotesi di indipendenza) con "semplice regola di classificazione bayesiana". Tutti i metodi GDA sono derivati ​​da quelli successivi; ma solo GNB e DLDA usano il primo.

Un grande avvertimento, non ho letto il codice sorgente e1071 per confermare cosa sta facendo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.