Für unseren Spamfilter verwenden wir ein sehr einfaches Modell, nämlich den Naiven Bayes-Klassifikator. Dieses KI-Modell funktioniert folgendermassen:
Wir zählen alle Wörter in unseren Daten. Dies könnte beispielsweise in folgender Tabelle resultieren:
| Wort | Spam | Ham |
|---|---|---|
| Klicke | 2’000 | 50 |
| gewonnen | 500 | 20 |
| Franken | 1’000 | 500 |
| Schule | 0 | 100 |
| … | … | … |
| Gesamt | 206’532 | 254’998 |
Aus dieser Tabelle lässt sich nun für jedes Wort die relative Häufigkeit für Spam- und Ham-Nachricht berechnen:
Je mehr Nachrichten wir haben, desto mehr nähert sich die relative Häufigkeit der Wahrscheinlichkeit. Der Einfachheit sprechen wir im folgenden nur noch von der Wahrscheinlichkeit und nehmen aber folgenden wichtigen Aspekt mit.
→ Je mehr Daten ich habe, desto genauer kann ich die Wahrscheinlichkeit bestimmen.
Kommen wir wieder zu unserem konkreten Beispiel zurück: Die Wahrscheinlichkeit, dass das Wort Klicke in einer Spam-Nachricht vorkommt, ist
→ Das bedeutet, dass in einer Spam-Nachricht im Schnitt jedes 103. Wort Klicke lautet.
Die Wahrscheinlichkeit, dass das Wort Klicke in einer Ham-Nachricht vorkommt, ist
→ Das bedeutet, dass in einer Ham-Nachricht im Schnitt jedes 5’100. Wort Klicke lautet.
Das Wort Klicke kommt in unserem fiktiven Beispiel viel häufiger in Spam als in Ham vor. Aber wie bedeutend ist der Unterschied?
Die verschiedenen Wahrscheinlichkeiten sind relativ klein und deshalb schwer zu vergleichen. Wir können dies mit dem Verhältnis der beiden Wahrscheinlichkeiten viel deutlicher darstellen. Wenn wir das Verhältnis von Spam-Wahrscheinlichkeit zu die Ham-Wahrscheinlichkeit für das Wort Klicke berechnen, erhalten wir
Das Wort Klicke kommt also 49x so häufig in Spam-Nachrichten wie Ham-Nachrichten vor (49 zu 1).
| Wort | Spam-Wahrscheinlichkeit | Ham-Wahrscheinlichkeit | Wahrscheinlichkeitsverhältnis |
|---|---|---|---|
| Klicke | 0.009683729 | 0.00019608 | 49.4 |
| gewonnen | 0.002420932 | 0.000078432 | 30.9 |
| Franken | 0.004841865 | 0.0019608 | 2.5 |
| Schule | 0 | 0.00039216 | 0.0 |
Wieso heisst unser KI-Modell Naiver Bayes-Klassifikator?
Bayes: Der Satz von Bayes ist ein wichtiger Satz in der Wahrscheinlichkeitsrechnung, mit welchem wir rückwärts schließen können. Mit dem Wissen „Wie oft kommt Klicke in Spam vor?“ können wir mit dem Satz von Bayes folgendes berechnen: „Wie wahrscheinlich ist Spam, wenn Klicke vorkommt?“
Bemerkung: Du wirst den Satz von Bayes im Mathematik-Unterricht GYM4 genauer kennnenlernen.
Klassifikator: Wir klassifizieren, ob eine Nachricht Spam oder Ham ist.
Naiv: Unser Modell ist naiv: Die Reihenfolge der Wörter hat keinen Einfluss auf die Klassifikation. Als Beispiel: Du hast gewonnen… und Hast du gewonnen… werden vom Modell genau gleich bewertet, obwohl der zweite Satz (Fragesatz) wohl weniger wahrscheinlich Spam ist als der erste. Diese Vereinfachung macht die Berechnung mathematisch viel einfacher.
Hinweis
Wir können die Wahrscheinlichkeiten aller Wörter, die in einer Nachricht vorkommen, multiplizieren, um die Wahrscheinlichkeit für die ganze Nachricht zu berechnen.
Bemerkung: Unser Modell ist sehr einfach und ignoriert alle Wörter, die es nicht kennt.
Nochmals Bayes: Zusätzlich zum Produkt der Wort-Wahrscheinlichkeiten wird eine A-priori-Wahrscheinlichkeit multipliziert, um die Wahrscheinlichkeit für die gesamte Nachricht zu berechnen.
Wenn dem Modell gar kein Wort bei der Klassifizierung einer Nachricht bekannt ist, werden einfach nur die A-priori-Wahrscheinlichkeiten angewandt.
In unserem Beispiel berechnen wir sie wie folgt:
Aufgabe: zum KI-Modell
- Berechne gemäss dem Satz von Bayes die Spam- und Ham-Wahrscheinlichkeiten für folgende Nachricht. Verwende die Wahrscheinlichkeiten, die in diesem Kapitel erwähnt wurden.
Glückwunsch, du hast 1000 Franken gewonnen! Klicke auf diesen Link, um deinen Gewinn einzulösen. - Berechne nun das Wahrscheinlichkeitsverhältnis
. - Was bedeutet ein grosses Wahrscheinlichkeitsverhältnis?
- Was bedeutet ein Wahrscheinlichkeitsverhältnis von genau 1?
- Was passiert, falls unsere KI zu keinem Wort im gesuchten Mail trainiert wurde? Beispiel:
Glückwunsch, du nimmst an der Verlosung zu einer Million Euro teil! Drücke auf diesen Link, um deine Teilnahme zu bestätigen. - Erfinde eine Nachricht, wo unsere KI den Verdacht auf Spam schöpft, es sich aber um Ham handelt.
- Im Fachjargon wird eine Ham-Nachricht, welche unser Spamfilter fälschlicherweise als Spam klassifiziert als falsch positiv (engl. false positive) bezeichnet. Sie würde also leider im Spam-Ordner landen. Was wäre denn eine falsch negative Erkennung bei unserem Spamfilter?