Las ingenuas Bayes presentan probabilidades: ¿debo contar las palabras dos veces?


12

Estoy creando prototipos de mi propio modelo de bolsa de palabras Naive Bayes, y tenía una pregunta sobre el cálculo de las probabilidades de las características.

Digamos que tengo dos clases, solo usaré spam y no spam ya que eso es lo que todos usan. Y tomemos la palabra "viagra" como ejemplo. Tengo 10 correos electrónicos en mi conjunto de entrenamiento, 5 spam y 5 no spam. "viagra" aparece en los 5 documentos de spam. En uno de los documentos de capacitación aparece 3 veces (esto es de lo que se trata mi pregunta), así que eso es 7 apariciones en total de spam. En el conjunto de entrenamiento que no es spam, aparece 1 vez.

Si quiero estimar p (viagra | spam) es simplemente:

p (viagra | spam) = 5 documentos de spam contienen viagra / 5 documentos de spam en total = 1

En otras palabras, ¿el hecho de que un documento mencionara viagra 3 veces en lugar de una vez realmente no importa?


Editar: Aquí hay una publicación de blog donde el autor utiliza el enfoque que acabo de exponer: http://ebiquity.umbc.edu/blogger/2010/12/07/naive-bayes-classifier-in-50-lines/

Y aquí hay una publicación de blog donde el autor dice: p (viagra | spam) = 7 menciones de spam de viagra / 8 menciones totales http://www.nils-haldenwang.de/computer-science/machine-learning/how-to-apply -naive-bayes-clasifiers-to-document-clasificación-problemas

Y luego, una de las respuestas a continuación dice que debería ser: p (viagra | spam) = 7 viagra menciona en spam / cuenta de término total en spam

¿Alguien puede vincular a una fuente que da una opinión sobre esto?

Respuestas:


4

En otras palabras, ¿el hecho de que un documento mencionara viagra 3 veces en lugar de una vez realmente no importa?

Si importa. El modelo Multinomial Naive Bayes tiene en cuenta cada aparición de una ficha, mientras que el modelo Bernoulli Naive Bayes no (es decir, para el último modelo, 3 ocurrencias de "viagra" es lo mismo que 1 aparición de "viagra").

Aquí hay dos ilustraciones, así como una tabla de comparación de {1}:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

{1} presenta perfectamente Naive Bayes para la clasificación de texto, así como el modelo Multinomial Naive Bayes y el modelo Bernoulli Naive Bayes.


Referencias


1

Depende del modelo ingenuo específico que aplique. En general, para la Clasificación de texto, debe considerar la repetición de términos, por lo que la respuesta es sí.

El otro punto es que está considerando la probabilidad en función del espacio de eventos del documento. También puede hacerlo en función del término espacio:

p (viagra | spam) = 5 veces el término spam en la clase spam / 50 términos en la clase

Tiene mucha información en este [artículo] ( http://echo.edres.org:8080/betsy/mccallum1.pdf )


0

Creo que depende de qué quiere decir exactamente con p (viagra | spam) y cómo está modelando los datos.

Tal como está escrito, interpretaría su significado como "la probabilidad de que la palabra viagra se mencione al menos una vez en un mensaje, dado que este mensaje es spam". En ese caso, sí, el hecho de que un documento mencionara viagra tres veces no tiene ningún efecto. Ha definido un modelo que no presta atención a tales hechos.

Por supuesto, podrías tener un modelo diferente. Por ejemplo, en lugar de que viagra se represente mediante una variable binaria (presente / ausente), podría representar el recuento de la cantidad de veces que aparece la palabra en el mensaje. En ese caso, a partir de sus datos en bruto, estimaría una frecuencia empírica de algo como

p (viagra = 0 | spam) = 0

p (viagra = 1 | spam) = 4/5

p (viagra = 2 | spam) = 0

p (viagra = 3 | spam) = 1/5

etc.

No digo que sea una mejor manera de hacerlo. Solo estoy ilustrando una situación alternativa en la que su intuición de que ver el viagra mencionado tres veces es relevante tiene validez.

Un ejemplo más práctico podría ser 'Frecuencia de término - Frecuencia de documento inversa', que es un método que presta mucha atención a la frecuencia de una palabra en un documento.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.