Naive Bayes: Probabilistische Klassifizierung nach Maß

Mit Naive Bayes lassen sich KI-Modelle anhand von Daten trainieren. Entsprechende Algorithmen weisen Objekte verschiedenen Klassen zu, indem sie auf bestimmte Merkmale achten. Um die mit höchster Wahrscheinlichkeit zutreffende Klasse zu ermitteln, hilft ein probabilistisches Grundprinzip – der Satz von Bayes. Durch das Bereitstellen korrekter Zuweisungen in Form von Trainingsdaten kann dabei eine hohe Vorhersagegenauigkeit erzielt werden. Das macht Naive Bayes zu einer einfach anwendbaren und beliebten Technik maschinellen Lernens.

Was ist Naive Bayes?

Naive Bayes ist eine probabilistische Klassifizierungsmethode, die mit dem Satz von Bayes anhand verschiedener Eigenschaften die wahrscheinlichste Zugehörigkeit von Objekten zu einer bekannten Klasse bestimmt. Dieses Prinzip lässt sich für KI-Modelle in Form von Naive Bayes Klassifikatoren nutzen, die beispielsweise Textdokumente anhand enthaltener Wörter algorithmisch unterscheiden. Die Eigenschaften bzw. Merkmale, die dem Algorithmus Aufschluss über die Zugehörigkeit zu einer Klasse geben, werden Features genannt. Diese Variablen können je nach Art der Eingabedaten kontinuierlich, diskret, kategorisch oder binär sein. Ein Deep Dive zu diesem Thema mit genauerer Definition findet sich hier.

“Naive” ist der Vorgang deshalb, weil er den Features eine statistische Unabhängigkeit voneinander zuschreibt. Sie alle sollen zudem in gleichem Maße zur finalen Klassifizierung beitragen. Das Bayes-Theorem, wie der zugrundeliegende Satz auch bekannt ist, wurde vom Mathematiker Thomas Bayes im 18. Jahrhundert aufgestellt. Es beschreibt eine Formel zur Berechnung der bedingten Wahrscheinlichkeit. Das heißt, es wird bestimmt, wie wahrscheinlich ein Ereignis B eintritt, wenn Ereignis A bereits Geschichte ist. Mathematisch ausgedrückt sieht das wie folgt aus:

bayes theorem

Dabei ist P(A|B) die bedingte Wahrscheinlichkeit, P(A) die Wahrscheinlichkeit, dass A eintritt, und P(B) die, dass B eintritt. Dieses einfache Grundprinzip erlaubt gewissermaßen eine logische Umkehrung von Schlussfolgerungen, die auch Rückwärtsinduktion genannt wird.

Beispiel für das Bayes Theorem

Jemand hat ein positives Schnelltest-Ergebnis auf das Coronavirus erhalten. Nun möchte man wissen, wie wahrscheinlich es ist, dass die Person tatsächlich erkrankt ist. P(A) ist dabei die Wahrscheinlichkeit eines positiven Tests und P(B) die einer tatsächlichen Erkrankung. P(A|B) ist zunächst unbekannt, aber P(B|A), nämlich wie wahrscheinlich Erkrankte auch einen positiven Test erhalten, ist mit vorhandenen Daten leicht bestimmbar – ebenso wie P(A) und P(B). Durch schlichtes Einsetzen in das Theorem erhält man schließlich die bedingte Wahrscheinlichkeit einer in diesem Beispiel vorliegenden Erkrankung. Für ein einzelnes Feature ist das Prinzip somit schnell erklärt. Bei einer größeren Zahl von Merkmalen und Klassen wird es schnell komplizierter, weshalb man gerne Algorithmen die Arbeit machen lässt.

corona test

Was leistet Naive Bayes für Machine Learning?

Damit KI-Modelle zuverlässige Ergebnisse liefern, werden häufig statistische Grundprinzipien auf Basis großer Mengen an Trainingsdaten angewendet. Das trifft neben Regression oder Clustering auch auf Naive Bayes zu. Entsprechende Algorithmen werden Naive Bayes Klassifikatoren genannt und sind oft die erste Wahl, wenn es um die automatisierte Klassifizierung von Objekten und insbesondere Text geht. Sie sind dabei sehr vielseitig einsetzbar: sei es für binäre Kategorien wie im Beispiel oben bis hin zur Textklassifizierung, wobei das Vorkommen jedes Wortes ein einzelnes Feature darstellt. Prinzipiell ist Naive Bayes skalierbar. Es sind Objekte mit beliebig vielen Features in beliebig viele Klassen einteilbar. Dabei berechnet der Algorithmus für jede Kombination aus Feature und Klasse die bedingte Wahrscheinlichkeit P(A|B) mittels Bayes-Theorem und multipliziert für jedes Objekt die Ergebnisse aller Features. Letztlich fällt die Wahl des Algorithmus auf die Kategorie mit dem höchsten hieraus entstandenen Produkt.

Da es sich bei den Entscheidungen “nur” um probabilistische Vorhersagen handelt, benötigt der Klassifikator Trainingsdaten, um insbesondere die Umkehrwahrscheinlichkeit P(B|A) möglichst genau abschätzen zu können. Die Daten umfassen korrekte Zuweisungen von Objekten in die entsprechenden Klassen. Logischerweise braucht der Algorithmus umso mehr davon, je mehr Merkmale und Kategorien er berücksichtigen soll. Neben der Genauigkeit sind auch Präzision und Recall wichtige Metriken. Letztere beschreibt den Anteil der korrekt positiv eingestuften Werte. Der F1-Score verrät hingegen etwas über die Qualität dieser beiden Gütekriterien, gibt aber keine Auskunft darüber, wo Optimierungsbedarf besteht.

Vorteile

Naive Bayes Klassifikatoren bestechen besonders durch ihre Einfachheit. Sie sind schnell trainiert und einsetzbar, können aber dennoch für komplexe Fälle angewendet werden. Dabei liefern sie vergleichsweise genaue Ergebnisse. Das trifft vor allem dann zu, wenn die Grundannahme der Unabhängigkeit einzelner Features wirklich gegeben ist. In diesem Fall schlägt Naive Bayes anhand obenstehender Metriken sogar Konkurrenten wie die logistische Regression, deren Parameter zudem aufwändig per Optimierung bestimmt werden müssten.

Nachteile

Die konstatierte Unabhängigkeit ist in der Praxis oft nicht für jedes Feature gegeben, was den Naive Bayes Ansatz in manchen Fällen schwächt. Zudem braucht er eine relativ große Menge an Trainingsdaten, die jede Klasse hinreichend umfassen müssen. Für hochkomplexe Anwendungen zieht Naive Bayes oft den Kürzeren gegenüber neuronalen Netzen, kann dafür aber zumindest als einfaches Baseline-Modell herhalten.

3 Arten von Klassifikatoren

Je nach Zahl bzw. Ausprägung der Features und Klassen werden verschiedene Varianten von Klassifikatoren eingesetzt, die sich primär in ihrer mathematischen Herangehensweise unterscheiden. Besonders beliebt sind:

Multinomial Naive Bayes

Diese Variante ist vor allem für ganzzahlige Input-Daten geeignet und unterstellt allen Variablen eine Binomialverteilung. Diese beschreibt die Gesamtzahl der positiven Ergebnisse wiederholter Bernoulli-Experimente. Bei großen Zahlen nähert sie sich der Gauß-Verteilung an, für die ein eigener Typ Klassifikator genutzt werden kann. Die multinomiale Ausprägung wird häufig zur Dokumenten- und Textklassifikation eingesetzt, wobei sie die Häufigkeit einzelner Wörter zählt.

coin bernoulli
Das bekannteste Bernoulli-Experiment ist der Münzwurf

Bernoulli Naive Bayes

…ist dem Typ zuvor sehr ähnlich, unterscheidet sich aber durch die Darstellung der Input-Daten, die hier als binäre Verteilung begriffen werden. Die Variante wird ebenfalls oft zur Klassifizierung von Text angewendet, unterscheidet aber entsprechend nur zwischen Vorkommen oder Fehlen von Wörtern. Letzteres wird als separates Feature geführt – ganz im Gegensatz zum Multinomialen Bayes, wo die Häufigkeitszahl Null Probleme hinsichtlich Nullwahrscheinlichkeiten verursachen kann.

Gaußsches Naive Bayes

Hier hätten wir die oben bereits angeschnittene Variante, die sowohl für große Zahlen, als auch für Kommazahlen passend eingesetzt werden kann. Hauptsache ist, dass die Input-Variablen einer Normalverteilung folgen und sich demnach mit der Gauß- oder auch Glockenkurve beschreiben lassen. Das ist bei einer hohen Anzahl von Fällen in der Praxis auch oftmals zutreffend.

Gauss Normalverteilung

Optimierungstechniken für Naive Bayes

Kein Modell ist perfekt und so hat auch Naive Bayes seine Schwächen, da es selbst in seinen unterschiedlichen Varianten oft nicht optimal auf geplante Anwendungsfälle zugeschnitten ist. Um auftretende Probleme zu lösen und den Algorithmus entweder spezifischer oder auch vielseitiger für Machine Learning einsetzen zu können, werden daher verschiedene Optimierungs- und Kombinationstechniken angewendet. Hier sind drei wichtige davon:

Smoothing

…löst das bereits erwähnte Problem der Nullwahrscheinlichkeiten, das oft bei kategorischen Varianten von Naive Bayes auftritt. So kann bei der Berechnung von Proportionen ein kleiner Summand zu Zähler und Nenner addiert werden, um eine Glättung zu erreichen. Dadurch lernt der Algorithmus besser mit bis dahin “ungesehenen” Klassen umzugehen. Ist der Summand +1, spricht man von Laplace-Smoothing – ist er kleiner, von Lidstone-Smoothing.

Feature Engineering

…optimiert zwar nicht den Algorithmus an sich, aber führt zu einer deutlich höheren Qualität der Eingangsmerkmale, von der Naive Bayes stark abhängig ist. Dafür werden Features umgewandelt, extrahiert, skaliert und somit dem Klassifikator “schmackhaft” gemacht. Das führt letztlich zu einer verbesserten Genauigkeit und minimiert Fehler.

Ensemble-Methoden

Naive Bayes kann mit anderen Klassifikatoren kombiniert werden, um die Performance insgesamt zu optimieren. Beim sogenannten Stacking werden Methoden wie die logistische Regression ergänzt. Allerdings erfolgen Training und Klassifikation jeweils separat durch die jeweiligen Techniken, bis die besten Ergebnisse ausgewählt und die getroffenen Klassifikationen kombiniert werden. Das Training verschiedener Naive Bayes Klassifikatoren mit diversen zufällig ausgewählten Teilmengen der Trainingsdaten wird Bagging genannt und führt zu geringerem Bias.

Praktische Anwendungsmöglichkeiten

Entsprechend ihrer Vielseitigkeit sind Naive Bayes Klassifikatoren eine beliebte Wahl aus der KI-Trickkiste. Schließlich ist die Einteilung in verschiedene Klassen auch eine wichtige Notwendigkeit für eine Vielzahl von Prozessen – spielt aber sicher die größte Rolle für die Klassifizierung verschiedenster Arten von Text. Hier zwei spezifische Anwendungsfälle:

Spam-Filter

Der wohl bekannteste Fall von Textklassifizierung. Spam-Mails lassen sich leicht durch das gehäufte Auftreten bestimmter Wörter wie “gewinnen”, “Angebot”, oder “kostenlos”, aber auch durch bestimmte Schreibweisen oder Links identifizieren. Ein Naive Bayes Klassifikator benötigt dafür lediglich Trainingsdaten, die sowohl Spam, als auch legitime Mails enthalten. Über die Häufigkeit genannter Merkmale kann er dann die bedingte Wahrscheinlichkeit für das Vorliegen einer Spam-Mail berechnen. Eine vergleichbare Vorgehensweise findet auch in nahezu jeder anderen Form von Textklassifizierung wie auch bei Natural Language Processing (NLP) Anwendung.

spam
Der Begriff „Spam“ stammt ursprünglich von „Spiced Ham“ und erhielt erst durch einen Sketch von Monty Python seine Bedeutung für massenhafte Wiederholung

Dokumentenmanagement

Mit einer Kombination aus einigen der hochentwickeltsten KI-Technologien gewährleistet Konfuzio ein ganzheitliches und vollautomatisiertes Dokumentenmanagement. Das wäre natürlich kaum ohne passgenaue Klassifizierungen möglich, bei denen auch Naive Bayes verwendet werden kann.

Fazit

Naive Bayes ist eine einfach anwendbare und beliebte Technik des maschinellen Lernens, die probabilistische Klassifizierungsmethoden verwendet, um Objekte aufgrund ihrer Merkmale verschiedenen Klassen zuzuordnen. Obwohl es einige Nachteile gibt, wie die Annahme der Unabhängigkeit der Features, bietet Naive Bayes dennoch eine hohe Vorhersagegenauigkeit und ist vielseitig einsetzbar. Es gibt drei Haupttypen von Klassifikatoren: Multinomial, Bernoulli und Gaußsches Naive Bayes, die je nach Anwendungsfall verwendet werden können. Optimierungstechniken wie Smoothing, Feature Engineering und Ensemble-Methoden können die Leistung von Naive Bayes weiter verbessern. Praktische Anwendungsfälle reichen von Spam-Filtern bis hin zum Dokumentenmanagement, wobei Naive Bayes oft in Kombination mit anderen KI-Technologien eingesetzt wird.

«
»
Avatar von Tim Filzinger

Neueste Artikel