De StatSoft, Inc. (2013), Electronic Statistics Textbook , "Naive Bayes Classifier" :
Para demostrar el concepto de Clasificación Naïve Bayes, considere el ejemplo que se muestra en la ilustración de arriba. Como se indicó, los objetos se pueden clasificar como VERDES o ROJOS. Mi tarea es clasificar los casos nuevos a medida que llegan, es decir, decidir a qué etiqueta de clase pertenecen, en función de los objetos que salen actualmente.
Dado que hay el doble de objetos VERDES que ROJOS, es razonable creer que un nuevo caso (que aún no se ha observado) tiene el doble de probabilidades de tener una membresía VERDE en lugar de ROJO. En el análisis bayesiano, esta creencia se conoce como la probabilidad previa. Las probabilidades previas se basan en la experiencia previa, en este caso el porcentaje de objetos VERDES y ROJOS, y a menudo se utilizan para predecir resultados antes de que sucedan realmente.
Por lo tanto, podemos escribir:
Dado que hay un total de 60 objetos, 40 de los cuales son VERDES y 20 ROJOS, nuestras probabilidades anteriores de pertenencia a la clase son:
Habiendo formulado nuestra probabilidad anterior, ahora estamos listos para clasificar un nuevo objeto (círculo BLANCO). Como los objetos están bien agrupados, es razonable suponer que cuantos más objetos VERDES (o ROJOS) estén cerca de X, es más probable que los nuevos casos pertenezcan a ese color en particular. Para medir esta probabilidad, dibujamos un círculo alrededor de X que abarca un número (para ser elegido a priori) de puntos independientemente de sus etiquetas de clase. Luego calculamos el número de puntos en el círculo que pertenecen a cada etiqueta de clase. De esto calculamos la probabilidad:
De la ilustración anterior, está claro que la probabilidad de X dado VERDE es menor que la probabilidad de X dado ROJO, ya que el círculo abarca 1 objeto VERDE y 3 ROJOS. Así:
Aunque las probabilidades anteriores indican que X puede pertenecer a VERDE (dado que hay el doble de VERDE en comparación con ROJO), la probabilidad indica lo contrario; que la membresía de clase de X es ROJA (dado que hay más objetos ROJOS cerca de X que VERDE) En el análisis bayesiano, la clasificación final se produce combinando ambas fuentes de información, es decir, la anterior y la probabilidad, para formar una probabilidad posterior utilizando la llamada regla de Bayes (llamada así por el reverendo Thomas Bayes 1702-1761).
Finalmente, clasificamos X como ROJO ya que su membresía de clase logra la mayor probabilidad posterior.
Aquí es donde entra en juego la dificultad de mi comprensión matemática.
p (Cj | x1, x2, x ..., xd) es la probabilidad posterior de pertenencia a la clase, es decir, la probabilidad de que X pertenezca a Cj, pero ¿por qué escribirlo así?
Cálculo de la probabilidad?
¿Probabilidad posterior?
Nunca tomé matemáticas, pero mi comprensión de los ingenuos bayes está bien, creo que solo cuando se trata de estos métodos descompuestos me confunde. ¿Alguien podría ayudar a visualizar estos métodos y cómo escribir las matemáticas de una manera comprensible?
Respuestas:
Recorreré todo el proceso de Naive Bayes desde cero, ya que no me queda totalmente claro dónde te estás colgando.
.
Ejemplo: entrenamiento del clasificador
Para entrenar al clasificador, contamos varios subconjuntos de puntos y los usamos para calcular las probabilidades previas y condicionales.
Esas diez probabilidades (las dos anteriores más las ocho condicionales) son nuestro modelo
Clasificando un nuevo ejemplo
Notas
No estoy muy familiarizado con el conjunto de datos DARPA, pero harías esencialmente lo mismo. Probablemente terminará calculando algo como P (ataque = VERDADERO | servicio = dedo), P (ataque = falso | servicio = dedo), P (ataque = VERDADERO | servicio = ftp), etc. y luego combínelos en el igual que en el ejemplo Como nota al margen, parte del truco aquí es encontrar buenas características. La IP de origen, por ejemplo, probablemente será muy escasa: es probable que solo tenga uno o dos ejemplos para una IP determinada. Podría hacerlo mucho mejor si geolocaliza la IP y utiliza "Source_in_same_building_as_dest (true / false)" o algo como una característica en su lugar.
Espero que eso ayude más. Si algo necesita aclaración, ¡me encantaría volver a intentarlo!
fuente
fuente
La suposición principal detrás del ingenuo modelo bayes es que cada característica (x_i) es condicionalmente independiente de todas las demás características dadas a la clase. Esta suposición es lo que nos permite escribir la probabilidad como un producto simple (como ha demostrado).
Esto también es lo que ayuda al ingenuo modelo bayes a generalizarse bien en la práctica. Considere la fase de entrenamiento: si no hicimos esta suposición, el aprendizaje implicaría estimar una distribución compleja y de alta dimensión: p (x1, x2, ..., xn, c) en la que todas las características se distribuyen conjuntamente. En cambio, podemos entrenar estimando p (x1, c), p (x2, c), ..., p (xn, c), ya que al conocer el valor c, los valores de todas las otras características son irrelevantes (proporcionan sin información adicional sobre x_i).
No conozco una buena manera de visualizar esto (además de la notación de modelo gráfico estándar), pero para hacerlo más concreto, puede escribir un código para aprender un modelo Bayes ingenuo ( puede obtener algunos datos de ejemplo aquí ). Entrena y prueba. Ahora descarte el supuesto de independencia condicional y modifique el código. Entrena, prueba y compara con el modelo anterior.
fuente