banner
Nachrichtenzentrum
Ansprechendes Design

Klassifizierung im maschinellen Lernen: Eine Einführung

Jul 11, 2023

Unter Klassifizierung versteht man den Prozess der Vorhersage der Klasse gegebener Datenpunkte. Klassen werden manchmal als Ziele, Labels oder Kategorien bezeichnet. Bei der klassifizierungsprädiktiven Modellierung handelt es sich um die Aufgabe, eine Zuordnungsfunktion (f) von Eingabevariablen (X) an diskrete Ausgabevariablen (y) anzunähern.

Als Klassifizierungsproblem kann beispielsweise die Spam-Erkennung bei E-Mail-Dienstleistern identifiziert werden. Dies ist eine binäre Klassifizierung, da es nur zwei Klassen gibt, die als „Spam“ und „kein Spam“ gekennzeichnet sind. Ein Klassifikator verwendet einige Trainingsdaten, um zu verstehen, wie sich bestimmte Eingabevariablen auf die Klasse beziehen. In diesem Fall müssen bekannte Spam- und Nicht-Spam-E-Mails als Trainingsdaten verwendet werden. Wenn der Klassifikator genau trainiert ist, kann er zur Erkennung einer unbekannten E-Mail verwendet werden.

Die Klassifizierung gehört zur Kategorie des überwachten Lernens, bei dem auch die Ziele mit den Eingabedaten versorgt werden. Die Klassifizierung kann auf eine Vielzahl von Aufgaben angewendet werden, darunter Kreditgenehmigung, medizinische Diagnose und gezieltes Marketing usw.

Bei der Klassifikation gibt es zwei Arten von Lernenden: faule Lernende und eifrige Lernende.

Faule Lernende speichern die Trainingsdaten und warten, bis Testdaten angezeigt werden. Wenn dies der Fall ist, erfolgt die Klassifizierung auf Grundlage der relevantesten gespeicherten Trainingsdaten. Im Vergleich zu eifrigen Lernenden verbringen faule Lernende weniger Trainingszeit, aber mehr Zeit mit Vorhersagen.

Beispiele:K-nächster Nachbar und fallbasiertes Denken.

Eifrige Lernende erstellen ein Klassifizierungsmodell basierend auf den gegebenen Trainingsdaten, bevor sie Daten zur Klassifizierung erhalten. Es muss in der Lage sein, sich auf eine einzige Hypothese festzulegen, die den gesamten Instanzraum abdeckt. Aus diesem Grund benötigen eifrige Lernende viel Zeit für das Training und weniger Zeit für Vorhersagen.

Beispiele:Entscheidungsbaum, naive Bayes und künstliche neuronale Netze.

Mehr zum Thema maschinelles Lernen: Die 10 wichtigsten Algorithmen für maschinelles Lernen, die jeder Anfänger kennen sollte

Es stehen viele Klassifizierungsalgorithmen zur Auswahl. Die Auswahl des richtigen hängt von der Anwendung und der Art des verfügbaren Datensatzes ab. Wenn die Klassen beispielsweise linear trennbar sind, können lineare Klassifikatoren wie die logistische Regression und die lineare Diskriminante nach Fisher anspruchsvollere Modelle übertreffen und umgekehrt.

Ein Entscheidungsbaum erstellt Klassifizierungs- oder Regressionsmodelle in Form einer Baumstruktur. Es nutzt einen „Wenn-Dann“-Regelsatz, der sich gegenseitig ausschließt und für die Klassifizierung erschöpfend ist. Die Regeln werden nacheinander anhand der Trainingsdaten einzeln erlernt. Jedes Mal, wenn eine Regel gelernt wird, werden die von den Regeln abgedeckten Tupel entfernt. Dieser Prozess wird fortgesetzt, bis eine Beendigungsbedingung erfüllt ist.

Der Baum ist nach dem rekursiven Prinzip „Teile und Herrsche“ von oben nach unten aufgebaut. Alle Attribute sollten kategorisch sein. Andernfalls sollten sie vorab diskretisiert werden. Attribute oben im Baum haben einen größeren Einfluss auf die Klassifizierung und werden mithilfe des Informationsgewinnkonzepts identifiziert.

Ein Entscheidungsbaum kann leicht überangepasst werden, was zu viele Zweige erzeugt und Anomalien aufgrund von Rauschen oder Ausreißern widerspiegeln kann. Ein überangepasstes Modell führt zu sehr schlechten Leistungen bei den unsichtbaren Daten, obwohl es bei Trainingsdaten eine beeindruckende Leistung liefert. Sie können dies vermeiden, indem Sie einen Vorschnitt vornehmen, der den Baumaufbau frühzeitig stoppt, oder einen Nachschnitt durchführen, bei dem Äste vom ausgewachsenen Baum entfernt werden.

Naive Bayes ist ein probabilistischer Klassifikator, der vom Bayes-Theorem inspiriert ist und von der Annahme ausgeht, dass Attribute bedingt unabhängig sind.

Die Klassifizierung erfolgt durch Ableitung des Maximums posterior, also des maximalen P(Ci|X), wobei die obige Annahme auf das Bayes-Theorem zutrifft. Diese Annahme reduziert den Rechenaufwand erheblich, da nur die Klassenverteilung gezählt wird. Auch wenn die Annahme in den meisten Fällen nicht zutrifft, da die Attribute voneinander abhängig sind, kann der naive Bayes überraschenderweise beeindruckende Leistungen erbringen.

Naive Bayes ist ein einfach zu implementierender Algorithmus, der in den meisten Fällen zu guten Ergebnissen führen kann. Es kann leicht auf größere Datensätze skaliert werden, da es lineare Zeit benötigt und nicht die teure iterative Näherung erfordert, die andere Arten von Klassifikatoren verwenden.

Naive Bayes können unter einem Problem leiden, das als Nullwahrscheinlichkeitsproblem bezeichnet wird. Wenn die bedingte Wahrscheinlichkeit für ein bestimmtes Attribut Null ist, kann keine gültige Vorhersage abgegeben werden. Dies muss explizit mithilfe eines Laplace-Schätzers behoben werden.

Ein künstliches neuronales Netzwerk besteht aus einer Reihe verbundener Eingabe-/Ausgabeeinheiten, wobei jeder Verbindung eine Gewichtung zugeordnet ist. Ein Team aus Psychologen und Neurobiologen gründete es als eine Möglichkeit, rechnerische Analoga von Neuronen zu entwickeln und zu testen. Während der Lernphase lernt das Netzwerk, indem es die Gewichte anpasst, um die korrekte Klassenbezeichnung der Eingabetupel vorhersagen zu können.

Heutzutage sind mehrere Netzwerkarchitekturen verfügbar, darunter Feed-Forward-, Faltungs- und wiederkehrende Netzwerke. Die geeignete Architektur hängt von der Anwendung des Modells ab. In den meisten Fällen liefern Feed-Forward-Modelle einigermaßen genaue Ergebnisse, Faltungsnetzwerke schneiden jedoch bei der Bildverarbeitung besser ab.

Abhängig von der Komplexität der Funktion, die das Modell abbilden soll, kann es mehrere verborgene Ebenen im Modell geben. Mithilfe dieser verborgenen Schichten können Sie komplexe Beziehungen modellieren, beispielsweise tiefe neuronale Netze.

Wenn es jedoch viele versteckte Schichten gibt, nimmt das Training und die Anpassung der Gewichte viel Zeit in Anspruch. Der andere Nachteil hiervon ist die schlechte Interpretierbarkeit des Modells im Vergleich zu anderen Modellen wie Entscheidungsbäumen. Dies liegt an der unbekannten symbolischen Bedeutung hinter den erlernten Gewichten.

Aber künstliche neuronale Netze haben in den meisten realen Anwendungen beeindruckende Leistungen erbracht. Es weist eine hohe Toleranz gegenüber verrauschten Daten auf und ist in der Lage, untrainierte Muster zu klassifizieren. Normalerweise schneiden künstliche neuronale Netze mit Ein- und Ausgaben mit kontinuierlichen Werten besser ab.

Alle oben genannten Algorithmen sind lernbegierig, da sie ein Modell im Voraus trainieren, um die Trainingsdaten zu verallgemeinern und sie später für Vorhersagen zu verwenden.

K-Nearest Neighbor ist ein Lazy-Learning-Algorithmus, der alle Instanzen speichert, die Trainingsdatenpunkten im n-dimensionalen Raum entsprechen. Wenn unbekannte diskrete Daten empfangen werden, analysiert es die nächstgelegene k Anzahl gespeicherter Instanzen (nächste Nachbarn) und gibt die häufigste Klasse als Vorhersage zurück. Für reellwertige Daten wird der Mittelwert von k nächsten Nachbarn zurückgegeben.

Im abstandsgewichteten Algorithmus für den nächsten Nachbarn wird der Beitrag jedes der k Nachbarn entsprechend seiner Entfernung gewichtet, indem die folgende Abfrage verwendet wird, wodurch den nächsten Nachbarn ein größeres Gewicht gegeben wird:

Normalerweise ist KNN robust gegenüber verrauschten Daten, da es die k-nächsten Nachbarn mittelt.

Nach dem Training des Modells besteht der wichtigste Teil darin, den Klassifikator zu bewerten, um seine Anwendbarkeit zu überprüfen.

Mehr zum maschinellen Lernen: Wie funktioniert Backpropagation in einem neuronalen Netzwerk?

Es gibt mehrere Methoden zum Auswerten eines Klassifikators, die gebräuchlichste Methode ist jedoch die Holdout-Methode. Darin ist der gegebene Datensatz in zwei Partitionen unterteilt: Test und Train. Zwanzig Prozent der Daten werden als Test und 80 Prozent zum Trainieren verwendet. Der Zugsatz wird zum Trainieren des Modells verwendet und die nicht sichtbaren Testdaten werden zum Testen seiner Vorhersagekraft verwendet.

Überanpassung ist ein häufiges Problem beim maschinellen Lernen und tritt in den meisten Modellen auf. Eine K-fache Kreuzvalidierung kann durchgeführt werden, um zu überprüfen, ob das Modell nicht überangepasst ist. Bei dieser Methode wird der Datensatz zufällig in k sich gegenseitig ausschließende Teilmengen aufgeteilt, die jeweils ungefähr gleich groß sind. Einer wird zum Testen aufbewahrt, während andere für Schulungen verwendet werden. Dieser Prozess wird über die gesamten k-Falten wiederholt.

Präzision ist der Anteil relevanter Instanzen unter den abgerufenen Instanzen, während Rückruf der Anteil relevanter Instanzen ist, die an der Gesamtzahl relevanter Instanzen abgerufen wurden. Als Maß für die Relevanz werden Präzision und Erinnerung herangezogen.

Eine ROC-Kurve bietet einen visuellen Vergleich von Klassifizierungsmodellen und zeigt den Kompromiss zwischen der Richtig-Positiv-Rate und der Falsch-Positiv-Rate.

Die Fläche unter der ROC-Kurve ist ein Maß für die Genauigkeit des Modells. Wenn ein Modell näher an der Diagonale liegt, ist es weniger genau. Ein Modell mit perfekter Genauigkeit hat eine Fläche von 1,0.

Beispiele:Beispiele: