Der naive Bayes-Klassifikator ist ein überwachter Algorithmus für maschinelles Lernen, der für Klassifizierungsaufgaben wie die Textklassifizierung verwendet wird. Er nutzt die Prinzipien der Wahrscheinlichkeit, um Klassifizierungsaufgaben durchzuführen.
Der naive Bayes-Klassifikator gehört zur Familie der generativen Lernalgorithmen. Das bedeutet, dass er versucht, die Verteilung der Eingaben einer bestimmten Klasse oder Kategorie zu modellieren. Im Gegensatz zu diskriminierenden Klassifikatoren, wie der logistischen Regression, lernt er nicht, welche Merkmale für die Unterscheidung zwischen den Klassen am wichtigsten sind.
Erfahren Sie, wie wirkungsvoll die Integration einer Data-Lakehouse-Strategie in Ihre Datenarchitektur sein kann, einschließlich Verbesserungen zur Skalierung von KI und Möglichkeiten zur Kostenoptimierung.
Registrieren Sie sich für das E-Book zum Thema generative KI
Der naive Bayes ist auch als probabilistischer Klassifikator bekannt, da er auf dem Bayes'schen Theorem basiert. Es wäre schwierig, diesen Algorithmus zu erklären, ohne auf die Grundlagen der Bayes'schen Statistik einzugehen. Dieses Theorem, das auch als der Satz von Bayes bekannt ist, ermöglicht es uns, bedingte Wahrscheinlichkeiten zu „invertieren“. Zur Erinnerung: Bedingte Wahrscheinlichkeiten stellen die Wahrscheinlichkeit eines Ereignisses unter der Voraussetzung dar, dass ein anderes Ereignis eingetreten ist, was mit der folgenden Formel dargestellt wird:
Der Satz von Bayes zeichnet sich dadurch aus, dass er von aufeinanderfolgenden Ereignissen ausgeht, bei denen zusätzliche, später gewonnene Informationen die ursprüngliche Wahrscheinlichkeit beeinflussen. Diese Wahrscheinlichkeiten werden als A-priori- und A-posteriori-Wahrscheinlichkeit bezeichnet. Die A-priori-Wahrscheinlichkeit ist die anfängliche Wahrscheinlichkeit eines Ereignisses, bevor es unter einer bestimmten Bedingung kontextualisiert wird, oder die Randwahrscheinlichkeit. Die A-posteriori-Wahrscheinlichkeit ist die Wahrscheinlichkeit eines Ereignisses nach der Betrachtung von Daten.
Ein beliebtes Beispiel in der Literatur zu Statistik und maschinellem Lernen (Link befindet sich außerhalb von ibm.com), um dieses Konzept zu demonstrieren, sind medizinische Tests. Stellen Sie sich zum Beispiel vor, eine Person namens Jane unterzieht sich einem Test, um festzustellen, ob sie Diabetes hat. Nehmen wir an, die Gesamtwahrscheinlichkeit, dass sie Diabetes hat, liegt bei 5 %, was unsere A-priori-Wahrscheinlichkeit wäre. Wenn sie jedoch ein positives Testergebnis erhält, wird die A-priori-Wahrscheinlichkeit aktualisiert, um dieser zusätzlichen Information Rechnung zu tragen. Sie wird dann zu unserer A-posteriori-Wahrscheinlichkeit. Dieses Beispiel kann mit Hilfe des Satzes von Bayes durch die folgende Gleichung dargestellt werden:
Da unser Wissen über A-priori-Wahrscheinlichkeiten angesichts anderer Variablen (z. B. Ernährung, Alter, Familiengeschichte usw.) jedoch nicht exakt sein dürfte, nutzen wir in der Regel Wahrscheinlichkeitsverteilungen aus Zufallsstichproben und vereinfachen die Gleichung zu P(Y|X) = P(X|Y)P(Y) / P(X)
Naive Bayes-Klassifikatoren funktionieren anders, da sie unter einer Reihe von Grundannahmen arbeiten, was ihnen den Zusatz „naiv“ einbrachte. Es wird davon ausgegangen, dass die Prädiktoren in einem naiven Bayes-Modell bedingt unabhängig sind, d. h. in keinem Zusammenhang mit den anderen Merkmalen des Modells stehen. Außerdem wird angenommen, dass alle Merkmale gleichermaßen zum Ergebnis beitragen. Diese Annahmen werden zwar in der Praxis oft verletzt (z. B. hängt ein nachfolgendes Wort in einer E-Mail von dem Wort ab, das ihm vorausgeht), aber sie vereinfachen ein Klassifizierungsproblem, indem sie es rechnerisch überschaubarer machen. Das heißt, dass für jede Variable nur noch eine einzige Wahrscheinlichkeit benötigt wird, was wiederum die Modellberechnung erleichtert. Trotz dieser unrealistischen Unabhängigkeitsannahme schneidet der Klassifizierungsalgorithmus gut ab, insbesondere bei kleinen Stichprobengrößen.
Mit dieser Annahme im Hinterkopf können wir nun die Bestandteile eines naiven Bayes-Klassifikators genauer untersuchen. Ähnlich wie beim Satz von Bayes werden die bedingten und die A-priori-Wahrscheinlichkeiten verwendet, um die A-posteriori-Wahrscheinlichkeiten nach der folgenden Formel zu berechnen:
Stellen wir uns nun einen Anwendungsfall zur Textklassifizierung vor, um zu veranschaulichen, wie der naive Bayes-Algorithmus funktioniert. Stellen Sie sich einen E-Mail-Anbieter vor, der seinen Spam-Filter verbessern möchte. Die Trainingsdaten bestehen aus Wörtern aus E-Mails, die entweder als „Spam“ oder als „kein Spam“ klassifiziert wurden. Von dort aus werden die bedingten Wahrscheinlichkeiten der Klassen und die vorherigen Wahrscheinlichkeiten berechnet, um die nachträgliche Wahrscheinlichkeit zu erhalten. Der naive Bayes-Klassifikator gibt die Klasse zurück, welche die größte A-posteriori-Wahrscheinlichkeit aus einer Gruppe von Klassen (d. h. „Spam“ oder „kein Spam“) für eine bestimmte E-Mail hat. Diese Berechnung wird mit der folgenden Formel dargestellt:
Da sich jede Klasse auf dasselbe Textelement bezieht, können wir den Nenner aus dieser Gleichung eliminieren und sie zu folgender Formel vereinfachen:
Die Genauigkeit des auf dem Trainingsdatensatz basierenden Lernalgorithmus wird dann anhand der Leistung des Testdatensatzes bewertet.
Um dies etwas zu verdeutlichen, gehen wir eine Ebene tiefer zu den einzelnen Teilen, aus denen sich diese Formel zusammensetzt. Die klassenbedingten Wahrscheinlichkeiten sind die individuellen Wahrscheinlichkeiten für jedes Wort in einer E-Mail. Diese werden berechnet, indem die Häufigkeit jedes Wortes für jede Kategorie (also „Spam“ oder „kein Spam“) bestimmt wird, was auch als Maximum-Likelihood-Schätzung (MLE) bekannt ist. Wenn wir in diesem Beispiel die Phrase „Sehr geehrter Herr“ untersuchen würden, würden wir einfach berechnen, wie oft diese Wörter in allen Spam- und Nicht-Spam-E-Mails vorkommen. Dies kann durch die folgende Formel dargestellt werden, wobei y für „Sehr geehrter Herr“ und x für „Spam“ steht.
Die A-priori-Wahrscheinlichkeiten sind genau das, was wir zuvor mit dem Satz von Bayes beschrieben haben. Auf der Grundlage des Trainingssatzes können wir die Gesamtwahrscheinlichkeit berechnen, dass eine E-Mail „Spam“ oder „kein Spam“ ist. Die vorherige Wahrscheinlichkeit für die Klassenbezeichnung „Spam“ wird in der folgenden Formel dargestellt:
Die A-priori-Wahrscheinlichkeit dient als „Gewicht“ für die klassenbedingte Wahrscheinlichkeit, wenn die beiden Werte miteinander multipliziert werden, was die einzelnen A-posteriori-Wahrscheinlichkeiten ergibt. Von dort aus wird die maximale A- posteriori-Schätzung (MAP) berechnet, um die Klasse entweder als Spam oder als Nicht-Spam zu kennzeichnen. Die endgültige Gleichung für die naive Bayes-Gleichung kann folgendermaßen dargestellt werden:
Alternativ kann es auch im Log-Raum dargestellt werden, da naive Bayes-Klassifikatoren üblicherweise in dieser Form verwendet werden:
Eine Möglichkeit zur Bewertung Ihres Klassifikators besteht in der Darstellung einer Konfusionsmatrix, in der die tatsächlichen und die vorhergesagten Werte in einer Matrix dargestellt werden. Die Zeilen stellen im Allgemeinen die tatsächlichen Werte dar, während die Spalten die vorhergesagten Werte repräsentieren. In vielen Handbüchern wird diese Abbildung als 2 x 2-Diagramm dargestellt, wie zum Beispiel im Folgenden:
Wenn Sie jedoch Bilder von Null bis 9 vorhersagen würden, hätten Sie ein 10 x 10 Diagramm. Wenn Sie wissen möchten, wie oft der Klassifikator Bilder mit 4en mit 9en „verwechselt“ hat, brauchen Sie nur die Zeile 4 und die Spalte 9 zu überprüfen.
Es gibt nicht nur einen Typ naiver Bayes-Klassifikatoren. Die gängigsten Typen unterscheiden sich anhand der Verteilungen der Merkmalswerte. Einige dieser Typen sind:
All dies kann über die Python-Bibliothek Scikit Learn (Link befindet sich außerhalb von ibm.com) implementiert werden (auch Sklearn genannt).
Zusammen mit einer Reihe anderer Algorithmen gehört der naive Bayes-Klassifikator zu einer Familie von Data-Mining-Algorithmen, die große Datenmengen in nützliche Informationen verwandeln. Einige Anwendungen des Naive Bayes umfassen:
IBM Cloud Pak for Data ist eine offene, erweiterbare Datenplattform, die eine Data Fabric bietet, mit der alle Daten für KI und Analysen in jeder Cloud verfügbar gemacht werden.
Erstellen, betreiben und verwalten Sie KI-Modelle. Bereiten Sie Daten vor und erstellen Sie Modelle in jeder Cloud mit Open-Source-Code oder visueller Modellierung. Sagen Sie Ihre Ergebnisse voraus und optimieren Sie sie.
Ergreifen Sie den nächsten Schritt und beginnen Sie mit der Operationalisierung und Skalierung von generativer KI und maschinellem Lernen für Ihr Geschäft.
Lernen Sie die grundlegenden Konzepte für KI und generative KI kennen, einschließlich Prompt Engineering, große Sprachmodelle und die besten Open-Source-Projekte.
In dieser Arbeit demonstriert IBM Research empirisch, wie sich eine abnehmende Entropie von klassenbedingten Merkmalsverteilungen auf den Fehler des naiven Bayes-Klassifikators auswirkt.
Anhand von Monte-Carlo-Simulationen zeigt IBM Research, dass Naive Bayes in zwei Fällen am besten funktioniert: bei völlig unabhängigen Merkmalen und bei funktional abhängigen Merkmalen.
Lernen Sie die Grundlagen der Lösung eines auf Klassifizierung basierenden Problems des maschinellen Lernens kennen und erhalten Sie eine vergleichende Studie zu einigen der derzeit beliebtesten Algorithmen.
Verwenden Sie scikit-learn, um eine beliebte Textklassifizierungsaufgabe (Spam-Filterung) mit dem multinomialen naiven Bayes-Algorithmus zu lösen.