Site Overlay

Naive Bayes Explained (Deutsch)

Naive Bayes ist ein Wahrscheinlichkeitsalgorithmus, der normalerweise für Klassifizierungsprobleme verwendet wird. Naive Bayes ist einfach, intuitiv und doch überraschend gut in vielen Fällen. Zum Beispiel sind Spam-Filter, die die E-Mail-App verwendet, auf naiven Bayes aufgebaut. In diesem Artikel werde ich die Gründe hinter Naive Bayes erklären und einen Spamfilter in Python erstellen.,y, I’ll focus on binary classification problems)

Thomas Bayes, the ‘betting man’, from BBC

Before we get started, please memorize the notations used in this article:

Basic Idea

To make classifications, we need to use X to predict Y., Mit anderen Worten, bei einem Datenpunkt X=(x1,x2,…,xn) ist die Ungerade von Y y. Dies kann als die folgende Gleichung umgeschrieben werden:

Dies ist die Grundidee von Naive Bayes, der Rest des Algorithmus konzentriert sich wirklich mehr darauf, wie man die bedingte Wahrscheinlichkeit oben berechnet.

Bayes-Theorem

Bisher hat Herr Bayes keinen Beitrag zum Algorithmus. Jetzt ist seine Zeit zu glänzen., Nach dem Bayes-Satz:

Bayes-Satz

Dies ist eine ziemlich einfache Transformation, die jedoch die Lücke zwischen dem, was wir tun möchten, und dem, was wir tun können, überbrückt. Wir können P(Y|X) nicht direkt erhalten, aber wir können P(X|Y) und P(Y) aus den Trainingsdaten erhalten., Here’s an example:

Weather dataset, from the University of Edinburgh

In this case, X =(Outlook, Temperature, Humidity, Windy), and Y=Play., P(X|Y) und P(Y) können berechnet werden:

Beispiel für das Finden von P(Y) und P(X|Y)

/figcaption>

Naive Bayes Annahme und warum

Theoretisch ist es nicht schwer, P(X|Y) zu finden. In der Realität ist es jedoch viel schwieriger, da die Anzahl der Funktionen zunimmt.,

7 parameters are needed for a 2-feature binary dataset

Estimate Join Distribution requires more data

Having this amount of parameters in the model is impractical., Um dieses Problem zu lösen, wird eine naive Annahme gemacht. Wir tun so, als wären alle Funktionen unabhängig. Was bedeutet das?,div>

Naive Bayes Classifier

Naive Bayes need fewer parameters (4 in this case)

This is a big deal., Wir haben die Anzahl der Parameter von exponentiell zu linear geändert. Dies bedeutet, dass Naive Bayes hochdimensionale Daten gut verarbeitet.

Kategoriale und kontinuierliche Merkmale

Kategoriale Daten

Für kategoriale Merkmale ist die Schätzung von P(Xi|Y) einfach.,

Berechnen Sie die Wahrscheinlichkeit kategorialer Merkmale

Ein Problem besteht jedoch darin, dass, wenn einige Funktionswerte niemals angezeigt werden (möglicherweise fehlen Daten), ihre Wahrscheinlichkeit Null ist, was die gesamte hintere Wahrscheinlichkeit Null macht., Eine einfache Möglichkeit, dieses Problem zu beheben, heißt Laplace Estimator: Fügen Sie imaginäre Samples (normalerweise eines) zu jeder Kategorie hinzu

Laplace Estimator

Continuous Data

Für continuous Features gibt es im Wesentlichen zwei Möglichkeiten: Diskretisierung und continuous Naive Bayes.

Die Diskretisierung funktioniert, indem die Daten in kategoriale Werte aufgeteilt werden., Die einfachste Diskretisierung ist das gleichmäßige Binden, wodurch Behälter mit fester Reichweite erzeugt werden. Es gibt natürlich intelligentere und kompliziertere Methoden wie rekursive minimale Entropie-Partitionierung oder SOM-basierte Partitionierung.

Diskretisierung von Kontinuierlichen Funktion für Naive Bayes

Die zweite option ist die Verwendung bekannter Distributionen.,

Es gibt natürlich auch andere Distributionen:

Naive Bayes, von Scikit-Learn

Obwohl diese Methoden in der Form variieren, ist die Grundidee dahinter die gleiche: Angenommen, das Feature erfüllt eine bestimmte Verteilung, schätzt die Parameter der Verteilung und erhält dann eine die Wahrscheinlichkeitsdichtefunktion.,

Stärke und Schwäche

  1. Obwohl die naive Annahme selten wahr ist, funktioniert der Algorithmus in vielen Fällen überraschend gut
  2. Verarbeitet hochdimensionale Daten gut. Einfach zu parallelisieren und behandelt Big Data gut
  3. Führt besser als kompliziertere Modelle, wenn der Datensatz klein ist

<

  1. Die geschätzte Wahrscheinlichkeit ist oft ungenau wegen der naiven Annahme., Nicht ideal für Regressionsverwendung oder Wahrscheinlichkeitsschätzung
  2. Wenn Daten reichlich vorhanden sind, neigen andere kompliziertere Modelle dazu, Naive Bayes zu übertreffen

Zusammenfassung

Naive Bayes nutzt das grundlegendste Wahrscheinlichkeitswissen und macht eine naive Annahme, dass alle Merkmale unabhängig sind. Trotz der Einfachheit (manche sagen vielleicht zu viel Vereinfachung) bietet Naive Bayes in vielen Anwendungen eine anständige Leistung.

Jetzt verstehst du, wie naiv Bayes funktioniert, es ist Zeit, es in echten Projekten auszuprobieren!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.