Naiver Bayes-Algorithmus im maschinellen Lernen
โก Intelligente Zusammenfassung
Naive Bayes ist ein รผberwachtes, probabilistisches Klassifikationsverfahren, das auf dem Bayes-Theorem basiert und davon ausgeht, dass jedes Merkmal unabhรคngig beitrรคgt. Seine Theorie, ein ausgearbeiteter Shopping Beispielsweise werden im Folgenden die drei Modellvarianten, ihre Vorteile, Einschrรคnkungen und Anwendungsbeispiele aus der Praxis erlรคutert.
Naiver Bayes-Klassifikator-Algorithmus
Ein Klassifikator ist ein Algorithmus des maschinellen Lernens, der Daten in eine oder mehrere von mehreren โKlassenโ einteilt. Ein bekanntes Beispiel ist ein E-Mail-Klassifikator: Er scannt jede eingehende Nachricht und ordnet ihr die Klassenbezeichnung Spam oder Kein Spam zu.
Der Naive Bayes-Klassifikator im maschinellen Lernen ist ein รผberwachtes Lernen Fรผr Klassifizierungsaufgaben verwendeter Algorithmus.
Das folgende Diagramm veranschaulicht diesen Ablauf.
Naive Bayes wird zur Lรถsung von Klassifizierungsproblemen verwendet. Es prognostiziert auf der Grundlage der Wahrscheinlichkeit eines Objekts. Naive Bayes basiert auf dem Bayes-Theorem und wird hauptsรคchlich zur Textklassifizierung verwendet. Naive Bayes ist ein probabilistischer Klassifizierungsalgorithmus, der einfach zu implementieren und schnell zu trainieren ist.
Da der Naive-Bayes-Klassifikator auf dem Bayes-Theorem basiert, wird er auch als Wahrscheinlichkeitsklassifikator bezeichnet. Er trifft Vorhersagen auf Grundlage der Wahrscheinlichkeit eines Ereignisses.
Warum heiรt es Naive Bayes?
Der Name Naive Bayes setzt sich aus zwei Teilen zusammen: Naiv und Bayes. Warum naiv? Der Algorithmus ignoriert die Reihenfolge der Merkmale, sodass โDu bistโ und โBist duโ fรผr ihn identisch erscheinen. Er geht auรerdem davon aus, dass kein Merkmal ein anderes beeinflusst. Um beispielsweise einen Apfel zu erkennen, nutzt man die rote Farbe, die kugelfรถrmige Gestalt und den sรผรen Geschmack. Der Algorithmus behandelt jedes dieser Merkmale als separates, unabhรคngiges Indiz.
- Der Naive-Bayes-Klassifikator geht davon aus, dass die Merkmale voneinander unabhรคngig sind. Da dies in realen Daten selten der Fall ist, wird der Klassifikator als naiv bezeichnet.
- Dieser Klassifizierungsalgorithmus basiert auf dem Bayes-Theorem und wird daher als Naive-Bayes-Klassifikator bezeichnet.
Satz von Naive Bayes
Das Bayes-Theorem dient zur Berechnung der Wahrscheinlichkeit einer Hypothese unter Berรผcksichtigung bedingter Wahrscheinlichkeiten, die vom Vorwissen abhรคngen. Es ist nach Thomas Bayes benannt. Der Naive-Bayes-Klassifikator basiert auf dem Prinzip der bedingten Wahrscheinlichkeit gemรคร dem Bayes-Theorem.
Um den Satz von Bayes zu verstehen, betrachten wir ein einfaches Beispiel eines Naive-Bayes-Klassifikators: das Werfen zweier Mรผnzen. Die Ergebnisrรคume fรผr das Werfen zweier Mรผnzen lauten: {HH, HT, TH, TT}. Die Wahrscheinlichkeiten fรผr diese Ereignisse sind dann:
- Zwei Kรถpfe bekommen = 1/4
- Mindestens ein Schwanz = 3/4
- Die zweite Mรผnze ist Kopf, vorausgesetzt, die erste Mรผnze ist Schwanz = 1/2
- Wenn man davon ausgeht, dass die erste Mรผnze zwei Kรถpfe hat, ist ein Kopf = 1/2
Das Bayes-Theorem berechnet die Wahrscheinlichkeit eines Ereignisses auf Grundlage der Wahrscheinlichkeit eines anderen, bereits eingetretenen Ereignisses. Die Formel fรผr das Bayes-Theorem lautet:
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B) ist die Wahrscheinlichkeit fรผr Ereignis A, wenn Ereignis B bereits eingetreten ist. Die Wahrscheinlichkeit P(B) darf nicht null sein.
- Sie mรผssen die Wahrscheinlichkeit von Ereignis A ermitteln, die gegeben ist, wenn Ereignis B (Beweis) wahr ist.
- P(A) ist die A-priori-Wahrscheinlichkeit von A, also die Wahrscheinlichkeit des Ereignisses, bevor irgendwelche Anzeichen vorliegen. Hierbei ist Ereignis B der Wert einer unbekannten Instanz.
- P(A|B) ist die A-posteriori-Wahrscheinlichkeit des Ereignisses A, also die Wahrscheinlichkeit von A nach Betrachtung der Evidenz B.
Funktionsbeispiel eines Naive-Bayes-Klassifikators
Am schnellsten lรคsst sich die Funktionsweise der Formel รผberprรผfen, indem man sie von Hand durchfรผhrt.
Nehmen wir als Beispiel ein Geschรคftping Um die Funktionsweise des Bayes-Naive-Klassifikators zu verstehen, enthรคlt dieser Datensatz fรผr dieses Beispiel einen kleinen Beispieldatensatz von 30 Zeilen.
Datensatz
Das Problem besteht darin, mithilfe des Naive-Bayes-Theorems vorherzusagen, ob eine Person ein Produkt an einer bestimmten Kombination aus Tag, Rabatt und kostenloser Lieferung kaufen wird.
Schritt 1) Wir erstellen Hรคufigkeitstabellen fรผr jedes Attribut unter Verwendung der im Datensatz genannten Eingabetypen, z. B. Tage, Rabatt und kostenlose Lieferung.
Das Ereignis โKaufโ sei mit โAโ bezeichnet, die unabhรคngigen Variablen โRabattโ, โKostenlose Lieferungโ und โTagโ mit โBโ. Mithilfe dieser Ereignisse und Variablen wenden wir den Satz von Bayes an.
Schritt 2) Lassen Sie uns nun die Likelihood-Tabellen einzeln berechnen.
Beispiel 1:
Basierend auf dieser Wahrscheinlichkeitstabelle berechnen wir die bedingten Wahrscheinlichkeiten wie folgt.
P(A) = P(No Buy) = 6/30 = 0.2 P(B) = P(Weekday) = 11/30 = 0.37 P(B/A) = P(Weekday / No Buy) = 2/6 = 0.33
Und finden Sie P(A/B) mithilfe des Bayes-Theorems:
P(A/B) = P(No Buy / Weekday) = P(Weekday / No Buy) * P(No Buy) / P(Weekday) = (2/6 * 6/30) / (11/30) = 0.1818
รhnlich verhรคlt es sich, wenn A โKaufโ ist
= P(Buy / Weekday) = P(Weekday / Buy) * P(Buy) / P(Weekday) = (9/24 * 24/30) / (11/30) = 0.8181
Hinweis: Da P(Kauf | Wochentag) grรถรer als P(Kein Kauf | Wochentag) ist, kรถnnen wir daraus schlieรen, dass ein Kunde das Produkt hรถchstwahrscheinlich an einem Wochentag kaufen wird.
Schritt 3) Ebenso kรถnnen wir die Eintrittswahrscheinlichkeit eines Ereignisses auf der Grundlage aller drei Variablen berechnen. Jetzt berechnen wir die Wahrscheinlichkeitstabellen fรผr alle drei Variablen unter Verwendung der obigen Hรคufigkeitstabellen.
Beispiel 2:
Mithilfe dieser drei Wahrscheinlichkeitstabellen berechnen wir nun anhand einer bestimmten Kombination aus โTagโ, โRabattโ und โKostenlose Lieferungโ, ob ein Kunde wahrscheinlich einen Kauf tรคtigen wird.
Nehmen wir hier eine Kombination dieser Faktoren:
- Tag = Feiertag
- Rabatt = Ja
- Kostenlose Lieferung = Ja
Wann, A = Kaufen
Berechnen Sie die bedingte Kaufwahrscheinlichkeit fรผr die folgende Kombination aus Tag, Rabatt und Gratislieferung.
Wobei B ist:
- Tag = Feiertag
- Rabatt = Ja
- Kostenlose Lieferung = Ja
Und A = Kaufen
Daher sind
= P(A/B) = P(Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/Buy)) * P(Free Delivery=(Yes/Buy)) * P(Day=(Holiday/Buy)) * P(Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (19/24 * 21/24 * 8/24 * 24/30) / (20/30 * 23/30 * 11/30) = 0.986
Wenn A = Kein Kauf
Berechnen Sie auf รคhnliche Weise die bedingte Kaufwahrscheinlichkeit fรผr die folgende Kombination aus Tag, Rabatt und kostenloser Lieferung.
Wobei B ist:
- Tag = Feiertag
- Rabatt = Ja
- Kostenlose Lieferung = Ja
Und A = Kein Kauf
Daher sind
= P(A/B) = P(No Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/No Buy)) * P(Free Delivery=(Yes/No Buy)) * P(Day=(Holiday/No Buy)) * P(No Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (1/6 * 2/6 * 3/6 * 6/30) / (20/30 * 23/30 * 11/30) = 0.027
Schritt 4) Daher
Kaufwahrscheinlichkeit = 0.986
Wahrscheinlichkeit, dass kein Kauf erfolgt = 0.027
Schlieรlich haben wir an diesem Tag bedingte Kaufwahrscheinlichkeiten. Lassen Sie uns nun diese Wahrscheinlichkeiten verallgemeinern, um die Wahrscheinlichkeit der Ereignisse zu erhalten.
- Summe der Wahrscheinlichkeiten = 0.986 + 0.027 = 1.013
- Kaufwahrscheinlichkeit = 0.986 / 1.013 = 97.33 %
- Wahrscheinlichkeit, dass kein Kauf erfolgt = 0.027 / 1.013 = 2.67 %
Die beiden Werte ergeben zusammen 1.013 statt 1, weil die Unabhรคngigkeitsannahme dazu fรผhrt, dass jede Schรคtzung nur annรคhernd ist. Durch die Division durch die Gesamtsumme werden sie in Prozentwerte umgerechnet.
Beachten Sie, dass 97.33 % grรถรer als 2.67 % ist. Wir kรถnnen daraus schlieรen, dass der durchschnittliche Kunde im Urlaub mit Rabatt und kostenloser Lieferung einkauft.
Arten des Naive-Bayes-Modells
Es gibt viele Arten von Naive-Bayes-Klassifikatoren. Hier haben wir Multinomial-, Bernoulli- und Gauรsche Naive-Bayes-Klassifikatoren besprochen.
| Variante | Funktionstyp | Typische Verwendung |
|---|---|---|
| Multinomial | Wortanzahl | Themen- und Dokumentenklassifizierung |
| Bernoulli | Binรคre Anwesenheits- oder Abwesenheitsflags | Kurze Texte und Spamfilter |
| Gauร | Kontinuierliche numerische Werte | Sensorwerte und Messungen |
1. Multinomiale Naive Bayes
Diese Art von Naive-Bayes-Modell wird fรผr Probleme bei der Dokumentenklassifizierung verwendet. Es arbeitet mit Funktionen, die die Hรคufigkeit von Wรถrtern in einem Dokument darstellen. Der Klassifikator berรผcksichtigt das Vorkommen und die Anzahl von Wรถrtern, um die Wahrscheinlichkeit zu bestimmen, dass ein Dokument zu einer bestimmten Kategorie gehรถrt, beispielsweise Sport, Politik oder Technologie.
2. Bernoulli Naive Bayes
Dies รคhnelt dem multinomialen Naive Bayes. Der Bernoulli Naive Bayes-Klassifikator wird fรผr Dokumentenklassifizierungsaufgaben verwendet. Es werden jedoch boolesche Prรคdiktoren verwendet. Es stellt dar, ob ein Wort vorhanden ist oder nicht und nimmt nur die Werte Ja oder Nein an. Der Klassifikator berechnet die Wahrscheinlichkeiten basierend darauf, ob ein Wort im Text vorkommt oder nicht.
3. Gauรscher naiver Bayes
Dieser Klassifikator wird im Fall eines kontinuierlichen Werts, aber nicht eines diskreten Werts verwendet. Dieser Klassifikator berechnet Wahrscheinlichkeiten anhand der Parameter des Gauร Verteilung, d. h. Mittelwert und Varianz.
Die Formel fรผr die bedingte Wahrscheinlichkeit รคndert sich zu:
Das scikit-lernen Die Bibliothek fรผgt zwei weitere Varianten hinzu: Complement Naive Bayes fรผr unausgewogene Texte und Categorical Naive Bayes fรผr diskrete Kategorien.
Vorteile und Grenzen des Naive Bayes-Klassifikators
Es gibt verschiedene Vor- und Nachteile des Naive Bayes-Algorithmus beim maschinellen Lernen.
Vorteile des Naive Bayes-Klassifikators
- Einfachheit und Effizienz: Naive Bayes ist einfach und leicht zu trainieren und umzusetzen. Aufgrund des geringen Rechenaufwands ist es effizient. Es kann groรe Datenmengen effizient verarbeiten.
- Schnelles Training und Vorhersage: Naive Bayes benรถtigt aufgrund der Unabhรคngigkeit der Merkmale weniger Trainingsdaten. Nach dem Training des Modells kann es schnell Vorhersagen treffen.
- Skalierbarkeit: Naive Bayes kann hochdimensionale Datensรคtze mit einer groรen Anzahl von Funktionen verarbeiten. Es funktioniert auch dann gut, wenn die Anzahl der Funktionen grรถรer ist als die Anzahl der Trainingsbeispiele. Es skaliert mit der Anzahl der Datenpunkte und Prรคdiktoren. Es verarbeitet sowohl kontinuierliche als auch diskrete Daten.
- Robustheit gegenรผber irrelevanten Funktionen: Es reagiert nicht auf irrelevante Funktionen.
- Funktioniert gut mit kleinen Trainingssets: Naive Bayes kann auch mit begrenzten Trainingsdaten zufriedenstellende Ergebnisse liefern. Es eignet sich fรผr Situationen, in denen die Anzahl der Trainingsbeispiele gering ist.
Einschrรคnkung des Naive Bayes-Klassifikators
Naive Bayes in Maschinelles Lernen geht davon aus, dass alle Merkmale unabhรคngig voneinander sind. Daher kann es keine Beziehungen zwischen verschiedenen Merkmalen in den Daten lernen. Es behandelt jedes Merkmal so, als ob es keine Beziehung zu den anderen hรคtte.
Ein zweiter Warnhinweis: Die angegebenen Klassenwahrscheinlichkeiten sind schlecht kalibriert, daher ist die einer Vorhersage zugeordnete Konfidenzzahl keine verlรคssliche Wahrscheinlichkeit.
Um dieses Problem zu lรถsen, kรถnnen Sie verwenden EntscheidungsbรคumeRandom Forests, Support Vector Machines (SVM), Neuronale Netze Diese Algorithmen sind in der Lage, komplexe Beziehungen und Abhรคngigkeiten zwischen Merkmalen in den Daten zu erkennen. Dadurch kรถnnen sie genauere Ergebnisse vorhersagen.
Anwendungen des Naive Bayes-Klassifikators
Da dieser Algorithmus schnell und effizient ist, kรถnnen Sie damit Echtzeitvorhersagen treffen.
Spam-Erkennung
E-Mail-Dienste (Wie z. B. GmailDieser Algorithmus wird verwendet, um festzustellen, ob eine E-Mail Spam ist. Er eignet sich hervorragend zur Spamfilterung.
Stimmungsanalyse
Es kann Text anhand von Merkmalen wie Wortwahl, Satzstruktur und Kontext als positiv, negativ oder neutral klassifizieren. Es findet Anwendung in der Social-Media-รberwachung, in Kundenrezensionen und in der Marktforschung.
Dokumentenklassifizierung
Es kann Dokumente basierend auf der Hรคufigkeit oder dem Vorhandensein bestimmter Wรถrter oder Merkmale im Dokument in Kategorien wie Sport, Politik, Technologie oder Finanzen einteilen.
Empfehlungssysteme
Es kann Benutzerprรคferenzen, historische Daten und Artikelmerkmale analysieren, um Benutzerinteressen oder -prรคferenzen fรผr die Empfehlung von Produkten, Filmen oder Artikeln vorherzusagen.
Dieser Klassifizierungsalgorithmus wird auch in der Gesichtserkennung, Wettervorhersage, medizinischen Diagnostik und im Einzelhandel eingesetzt.pingNachrichtenklassifizierung usw. Sie kรถnnen Naive Bayes implementieren in Python, wobei das Modul sklearn.naive_bayes alle oben beschriebenen Varianten bereitstellt.








