¿Cómo es Naive Bayes un clasificador lineal?

31

He visto el otro hilo aquí, pero no creo que la respuesta haya satisfecho la pregunta real. Lo que he leído continuamente es que Naive Bayes es un clasificador lineal (por ejemplo, aquí ) (de modo que dibuja un límite de decisión lineal) utilizando la demostración de probabilidades de registro.

Sin embargo, simulé dos nubes gaussianas y ajusté un límite de decisión y obtuve los resultados como tales (biblioteca e1071 en r, usando naiveBayes ()) 1- verde, 0 - rojo

Como podemos ver, el límite de decisión no es lineal. ¿Intenta decir que los parámetros (probabilidades condicionales) son una combinación lineal en el espacio logarítmico en lugar de decir que el clasificador mismo separa los datos linealmente?

Kevin Pei
fuente
¿Cómo creaste el límite de decisión? Sospecho que tiene que ver con su rutina de ajuste en lugar del límite de decisión real del clasificador. normalmente uno generaría un límite de decisión calculando la decisión en cada punto de su cuadrante.
seanv507
Eso es lo que hice, tomé los dos rangos de X = [Min (x), Max (x)] e Y = [Min (Y), Max (Y)] con un espacio de 0.1. Luego ajusté todos esos puntos de datos con el clasificador entrenado y encontré puntos tales que las probabilidades de registro estaban entre -0.05 y 0.05
Kevin Pei

Respuestas:

30

En general, el clasificador ingenuo de Bayes no es lineal, pero si los factores de probabilidad provienen de familias exponenciales , el clasificador ingenuo de Bayes corresponde a un clasificador lineal en un espacio de características particular. Aquí está cómo ver esto.p(xic)

Puedes escribir cualquier clasificador ingenuo de Bayes como *

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

donde es la función logística . Si es de una familia exponencial, podemos escribirlo comop ( x ic )σp(xic)

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

y por lo tanto

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

dónde

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

Tenga en cuenta que esto es similar a la regresión logística , un clasificador lineal, en el espacio de características definido por . Para más de dos clases, de forma análoga obtenemos regresión logística multinomial (o softmax) .ϕi

Si es gaussiano, entonces y deberíamos tener ϕ i ( x i ) = ( x i , x 2 i ) w i 1p(xic)ϕi(xi)=(xi,xi2)

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

suponiendo que .p(c=1)=p(c=0)=12


* Aquí es cómo derivar este resultado:

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
fuente
Gracias por la derivación, que ahora entiendo, ¿puede explicar las anotaciones en la ecuación 2 y siguientes? (u, h (x_i), phi (x_i), etc.) ¿Está P (x_i | c) bajo una familia exponencial simplemente tomando el valor del pdf?
Kevin Pei
Hay diferentes formas de expresar una y la misma distribución. La segunda ecuación es una distribución familiar exponencial en forma canónica. Muchas distribuciones son familias exponenciales (Gaussian, Laplace, Dirichlet, Bernoulli, binomial, solo por nombrar algunas), pero su función de densidad / masa generalmente no se da en forma canónica. Por lo tanto, primero debe reparametrizar la distribución. Esta tabla le indica cómo calcular (parámetros naturales) y (estadísticas suficientes) para varias distribuciones: en.wikipedia.org/wiki/Exponential_family#Table_of_distributions ϕuϕ
Lucas
1
Observe el punto importante que . ¡Lo que esto significa es que los clasificadores lineales son una combinación lineal de pesos y funciones potencialmente no lineales de las características! Entonces, hasta el punto del póster original, una gráfica de los puntos de datos puede no mostrar que son separables por una línea. wϕ(x)=(x,x2)w
RMurphy
Encuentro esta respuesta engañosa: como se señaló en el comentario anterior, y la respuesta a continuación, la ingenua Bayes de Gauss no es lineal en el espacio de características original, sino en una transformación no lineal de estos. Por lo tanto, no es un clasificador lineal convencional.
Gael Varoquaux el
¿Por qué es gaussiano, entonces ? Creo que la estadística suficiente para la distribución gaussiana debería ser . ϕ i ( x i ) = ( x i , x 2 i ) T ( x ) x / σp(xi|c)ϕi(xi)=(xi,xi2)T(x)x/σ
Naomi
8

Es lineal solo si las matrices de varianza condicional de clase son las mismas para ambas clases. Para ver esto, escriba la relación de los registros posteriores y solo obtendrá una función lineal si las variaciones correspondientes son las mismas. De lo contrario, es cuadrático.

axk
fuente
3

Me gustaría agregar un punto adicional: la razón de parte de la confusión se basa en lo que significa realizar la "clasificación Naive Bayes".

Bajo el amplio tema del "Análisis discriminante gaussiano (GDA)" hay varias técnicas: QDA, LDA, GNB y DLDA (DA cuadrática, DA lineal, bayas ingenuas gaussianas, LDA diagonal). [ACTUALIZADO] LDA y DLDA deben ser lineales en el espacio de los predictores dados. (Ver, por ejemplo, Murphy , 4.2, pág. 101 para DA y pág. 82 para NB. Nota: GNB no es necesariamente lineal. NB discreto (que usa una distribución multinomial debajo del capó) es lineal. También puede consultar Duda , Hart & Stork sección 2.6). QDA es cuadrático como lo han señalado otras respuestas (y creo que es lo que está sucediendo en su gráfico, vea a continuación).

Estas técnicas forman una red con un buen conjunto de restricciones en las "matrices de covarianza de clase" :Σc

  • QDA: arbitrario: arbitrario ftr. cov. matriz por claseΣc
  • LDA: : cov compartido. matriz (sobre clases)Σc=Σ
  • GNB: : clase sabia diagonal cov. matrices (la suposición de ind. en el modelo matriz de cov. diagonal de la flecha derecha)Σc=diagc
  • DLDA: : compartido y diagonal cov. matrizΣc=diag

Si bien los documentos para e1071 afirman que está asumiendo independencia condicional de clase (es decir, GNB), sospecho que en realidad está haciendo QDA. Algunas personas combinan "ingenuos Bayes" (haciendo suposiciones de independencia) con "una simple regla de clasificación bayesiana". Todos los métodos GDA se derivan de lo posterior; pero solo GNB y DLDA usan el primero.

Una gran advertencia, no he leído el código fuente e1071 para confirmar lo que está haciendo.

MrDrFenner
fuente