¿Por qué se usa un clasificador Bayes para el filtrado de spam?

8

He estado leyendo sobre el filtrado de spam Bayesiano y creo que entiendo la teoría, pero no entiendo por qué este enfoque es necesario para calcular la probabilidad de que un mensaje sea spam, dado que contiene una palabra determinada.

Si tenemos un conjunto de mensajes ya clasificados por el usuario como 'spam' o 'jamón' y recibimos un nuevo mensaje (que contiene la palabra elegida) que queremos clasificar, entonces seguramente todo lo que tenemos que hacer es dividir el número de mensajes de spam que contienen la palabra, por el número total de mensajes que contienen la palabra ... ¿Por qué todas las ecuaciones?

caja de códigos
fuente
3
Publique esto en CrossValidated: su probabilidad de obtener respuestas es mayor. También podría saber cómo funcionan los filtros bayesianos
Ubermensch
2
"Todas las ecuaciones" ... hay exactamente una ecuación involucrada en un clasificador bayesiano, y formaliza casi exactamente lo que has dicho en tu segundo párrafo (solo haciéndolo correctamente para tener en cuenta la probabilidad previa).
Konrad Rudolph
@Ubermensch - ¿Te refieres a CrossValidated ? * 8 ')
Mark Booth

Respuestas:

15

Muy bien, en primer lugar, no solo hay evidencia positiva sino también evidencia negativa. Algunas palabras hacen que un mensaje de correo electrónico sea muy probable que sea spam, otras hacen que sea muy probable que sea real. Otras palabras hacen que un mensaje sea muy probable que sea spam por su ausencia , mientras que otras tienen el efecto contrario. Por ejemplo, si investigas a Drosophila para ganarse la vida y con frecuencia te comunicas con tus colegas sobre ellos, la presencia de ese término es casi como una contraseña, porque ninguna campaña de correo masivo podrá personalizar sus textos de acuerdo con tus hábitos. destruir las economías de escala que hacen viable el spam en primer lugar.

Además, el rendimiento de un filtro no se puede medir con una sola métrica. La detección de spam es muy fácil, de hecho trivial, si simplemente clasifica todo como spam, pero los falsos positivos (detectar correo real como spam) son intolerablemente altos. La detección de nada resuelve ese problema, pero luego los falsos negativos (clasificar las muestras malas como buenas) hacen que su vida sea miserable. Un buen filtro debe alcanzar buenos valores en ambos aspectos, lo que lo hace mucho más complicado que un simple detector súper sensible de algo.

Entonces, desde el principio, no solo tiene una 'Lista de malas palabras', sino al menos cuatro listas, y no solo un criterio, sino al menos dos. Hasta ahora, el filtrado bayesiano es realmente el método más simple que hace esto bien. Si encuentras uno mejor, por supuesto, escuchémoslo.

Kilian Foth
fuente