Aclaración del denominador Naive Bayes

Aug 21 2020

Encontré una publicación anterior que se resolvió y tuvo un seguimiento, pero no pude comentar porque mi reputación es inferior a 50. Básicamente, estoy interesado en calcular el denominador en Naive Bayes.

Ahora entiendo que se supone que las características en Naive Bayes son independientes, así que ¿podríamos calcular$p(x) = p(x_{1})p(x_{2})...p(x_{n})$o tendríamos que usar esta fórmula$$p(\mathbf{x}) = \sum_k p(C_k) \ p(\mathbf{x} \mid C_k)$$con el supuesto de independencia condicional de que$$ p(\mathbf{x} \mid C_k) = \Pi_{i} \, p(x_i \mid C_k) $$

Mi pregunta es si ambas formas de calcular darían el mismo p(x)?

Enlace a la pregunta original:https://datascience.stackexchange.com/posts/69699/edi

Editar **: lo siento, creo que las características tienen independencia condicional, en lugar de independencia completa. Por lo tanto, es incorrecto usar$p(x) = p(x_{1})p(x_{2})...p(x_{n})$?

Por último, entiendo que en realidad no necesitamos el denominador para encontrar nuestras probabilidades, pero lo pregunto por curiosidad.

Respuestas

1 Erwan Aug 21 2020 at 05:24

La forma de calcular$p(x)$es de hecho:

$$p(x) = \sum_k p(C_k) \ p(x| C_k)$$

Como en general se necesita calcular$p(C_k,x)$(numerador) por cada$k$, es bastante simple sumar todos estos$k$valores. Sería incorrecto usar el producto, de hecho.

Por último, entiendo que en realidad no necesitamos el denominador para encontrar nuestras probabilidades, pero lo pregunto por curiosidad.

Cálculo de la marginal$p(x)$no es necesario para encontrar la clase más probable$C_k$porque:

$$argmax_k(\{ p(C_k|x) \}) = argmax_k(\{ p(C_k,x) \})$$

Sin embargo, en realidad es necesario encontrar la probabilidad posterior$p(C_k | x)$, por eso suele ser útil calcular el denominador$p(x)$para obtener$p(C_k | x)$, especialmente si uno quiere dar salida a las probabilidades reales.