45 votos

¿Cómo es Naive Bayes un clasificador lineal?

He visto el otro hilo aquí pero no creo que la respuesta satisfaga la pregunta real. Lo que he leído continuamente es que Naive Bayes es un clasificador lineal (ej: aquí ) (de manera que dibuje una frontera de decisión lineal) utilizando la demostración de las probabilidades logarítmicas.

Sin embargo, he simulado dos nubes gaussianas y he ajustado un límite de decisión y he obtenido los resultados así (biblioteca e1071 en r, utilizando naiveBayes()) 1- Green, 0 - Red

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

46voto

Ludwi Puntos 188

En general, el clasificador Bayes ingenuo no es lineal, pero si los factores de probabilidad $p(x_i \mid c)$ son de familias exponenciales El clasificador ingenuo de Bayes corresponde a un clasificador lineal en un espacio de características particular. Así es como se ve esto.

Se puede escribir cualquier clasificador Bayes ingenuo como*

$$p(c = 1 \mid \mathbf{x}) = \sigma\left( \sum_i \log \frac{p(x_i \mid c = 1)}{p(x_i \mid c = 0)} + \log \frac{p(c = 1)}{p(c = 0)} \right),$$

donde $\sigma$ es el función logística . Si $p(x_i \mid c)$ es de una familia exponencial, podemos escribirlo como

$$p(x_i \mid c) = h_i(x_i)\exp\left(\mathbf{u}_{ic}^\top \phi_i(x_i) - A_i(\mathbf{u}_{ic})\right),$$

y por lo tanto

$$p(c = 1 \mid \mathbf{x}) = \sigma\left( \sum_i \mathbf{w}_i^\top \phi_i(x_i) + b \right),$$

donde

\begin{align} \mathbf{w}_i &= \mathbf{u}_{i1} - \mathbf{u}_{i0}, \\ b &= \log \frac{p(c = 1)}{p(c = 0)} - \sum_i \left( A_i(\mathbf{u}_{i1}) - A_i(\mathbf{u}_{i0}) \right). \end{align}

Tenga en cuenta que esto es similar a regresión logística - un clasificador lineal - en el espacio de características definido por el $\phi_i$ . Para más de dos clases, obtenemos análogamente regresión logística multinomial (o softmax) .

Si $p(x_i \mid c)$ es gaussiano, entonces $\phi_i(x_i) = (x_i, x_i^2)$ y deberíamos tener \begin{align} w_{i1} &= \sigma_1^{-2}\mu_1 - \sigma_0^{-2}\mu_0, \\ w_{i2} &= 2\sigma_0^{-2} - 2\sigma_1^{-2}, \\ b_i &= \log \sigma_0 - \log \sigma_1, \end{align}

suponiendo que $p(c = 1) = p(c = 0) = \frac{1}{2}$ .


*Aquí se explica cómo derivar este resultado:

\begin{align} p(c = 1 \mid \mathbf{x}) &= \frac{p(\mathbf{x} \mid c = 1) p(c = 1)}{p(\mathbf{x} \mid c = 1) p(c = 1) + p(\mathbf{x} \mid c = 0) p(c = 0)} \\ &= \frac{1}{1 + \frac{p(\mathbf{x} \mid c = 0) p(c = 0)}{p(\mathbf{x} \mid c = 1) p(c = 1)}} \\ &= \frac{1}{1 + \exp\left( -\log\frac{p(\mathbf{x} \mid c = 1) p(c = 1)}{p(\mathbf{x} \mid c = 0) p(c = 0)} \right)} \\ &= \sigma\left( \sum_i \log \frac{p(x_i \mid c = 1)}{p(x_i \mid c = 0)} + \log \frac{p(c = 1)}{p(c = 0)} \right) \end{align}

13voto

axk Puntos 136

Es lineal sólo si las matrices de varianza condicional de las clases son las mismas para ambas clases. Para ver esto escriba la razón de los log posteriors y sólo obtendrá una función lineal si las varianzas correspondientes son las mismas. En caso contrario, es cuadrática.

5voto

creitve Puntos 123

Me gustaría añadir un punto adicional: la razón de parte de la confusión reside en lo que significa realizar una "clasificación Naive Bayes".

Bajo el amplio tema del "Análisis Discriminante Gaussiano (GDA)" existen varias técnicas: QDA, LDA, GNB y DLDA (quadratic DA, linear DA, gaussian naive bayes, diagonal LDA). [ACTUALIZADO] LDA y DLDA deben ser lineales en el espacio de los predictores dados. (Véase, por ejemplo Murphy 4.2, pág. 101 para DA y pág. 82 para NB. Nota: La GNB no es necesariamente lineal. La NB discreta (que utiliza una distribución multinomial bajo el capó) es lineal. También puede consultar la sección 2.6 de Duda, Hart y Stork). La QDA es cuadrática como han señalado otras respuestas (y que creo que es lo que ocurre en su gráfico - véase más abajo).

Estas técnicas forman un entramado con un buen conjunto de restricciones sobre las "matrices de covarianza de clase" $\Sigma_c$ :

  • QDA: $\Sigma_c$ arbitrario: matriz ftr. cov. arbitraria por clase
  • LDA: $\Sigma_c = \Sigma$ Matriz de cov. compartida (sobre las clases)
  • GNB: $\Sigma_c = {diag}_c$ : matrices de cov. diagonales por clase (la suposición de ind. en el modelo $\rightarrow$ matriz cov. diagonal)
  • DLDA: $\Sigma_c = diag$ : matriz de cov. compartida y diagonal

Mientras que el documentos para la reclamación e1071 que está asumiendo la independencia condicional de la clase (es decir, GNB), sospecho que en realidad está haciendo QDA. Algunas personas confunden "Bayes ingenuo" (que hace suposiciones de independencia) con "regla de clasificación bayesiana simple". Todos los métodos GDA se derivan de la segunda; pero sólo la GNB y la DLDA utilizan la primera.

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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X