EMZETT.
Login

Naive Bayes und der Spamfilter

Kurz: Naive Bayes ist ein einfaches, schnelles Klassifikationsverfahren auf Basis des Satzes von Bayes. Es wurde durch Spamfilter bekannt: Es schätzt, wie wahrscheinlich eine Mail Spam ist, anhand der Wörter darin.

Der Satz von Bayes

P(Spam | Wörter) ∝ P(Spam) · P(Wort1 | Spam) · P(Wort2 | Spam) · …

  • P(Spam): wie häufig ist Spam überhaupt (Vorwissen).
  • P(Wort | Spam): wie oft kommt ein Wort in Spam-Mails vor, gelernt aus Beispielen.

Man rechnet das auch für „Kein Spam“ und nimmt die größere Zahl.

Warum „naiv“?

Das Verfahren tut so, als wären Wörter voneinander unabhängig, was nie stimmt („Viagra“ und „billig“ treten zusammen auf). Trotzdem funktioniert es oft erstaunlich gut und braucht sehr wenig Daten und Rechenzeit.

Praktische Tricks

  • Glättung (Laplace): Ein nie gesehenes Wort würde sonst die ganze Wahrscheinlichkeit auf 0 setzen. Man addiert deshalb überall 1.
  • Logarithmen: Viele kleine Wahrscheinlichkeiten werden multipliziert, das ergibt Zahlen nahe 0. Mit Logarithmen addiert man stattdessen.

Heute

Für große Textaufgaben sind neuronale Netze stärker. Naive Bayes bleibt eine gute Basislinie: Wenn ein komplexes Modell nicht deutlich besser ist, lohnt sich der Aufwand nicht.

Siehe auch: Wahrscheinlichkeit, Entropie und KL-Divergenz, Metriken: Genauigkeit, Precision, Recall und F1