Die 10 gebräuchlichsten Algorithmen des maschinellen Lernens

7 min read

Die 10 gebräuchlichsten Algorithmen des maschinellen Lernens

1 – Lineare Regression

Von allen in Statistik und maschinellem Lernen verwendeten Algorithmen ist die lineare Regression einer der bekanntesten und verständlichsten.

Prädiktives Modellieren beschäftigt sich hauptsächlich mit dem Minimieren des Modellfehlers oder dem Erstellen der möglichst genauen Vorhersagen auf Kosten der Erklärbarkeit. Die Algorithmen werden aus vielen verschiedenen Gebieten, einschließlich Statistiken, geliehen, wiederverwendet und gestohlen und zu diesen Zwecken eingesetzt.

Die lineare Regression wird als eine Gleichung dargestellt, die eine Gerade beschreibt, die den Zusammenhang zwischen den Eingabevariablen (x) und den Ausgabevariablen (y) am besten ermittelt. Dies wird durch das Ermitteln bestimmter Gewichtungen für die Eingabevariablen (die auch als Koeffizienten (B) bezeichnet werden) gemacht.

Lineare Regression

Ein Beispiel: y = B0 + B1*x

Aufgrund der Eingabe x wird y vorausgesagt. Das Ziel des Lernalgorithmus der linearen Regression besteht in der Ermittlung der Werte für die Koeffizienten B0 und B1.

Es gibt verschieden Methoden zum Training des linearen Regressionsmodells aus Daten wie beispielsweise eine Lösung der linearen Algebra für gewöhnliche kleinste Quadrate und eine Optimierung des Gradientenabstiegs.

Die lineare Regression ist der Wissenschaft seit mehr als 200 Jahren bekannt und wurde gründlich erforscht. Einige gute Faustregeln beim Verwenden dieser Methoden bestehen darin, dass sehr ähnliche Variablen (korrelierte) entfernt werden und das Rauschen aus den Daten beseitigt wird, falls dies möglich ist. Die lineare Regression ist also nicht nur eine schnelle und einfache Methode, sondern auch ein guter erster Algorithmus zum Ausprobieren.

2 – Logistische Regression

Die logistische Regression ist eine andere Methode, die das maschinelle Lernen auch aus dem Gebiet der Statistik übernommen hat. Sie wird als eine Übergangsmethode zu binären Klassifikationsproblemen (d.h. Problemen mit zwei Klassenwerten) betrachtet.

Wie bei der linearen Regression besteht das Ziel der logistischen Regression in der Ermittlung der Werte für die Koeffizienten, die jede Eingangsvariable gewichten. Im Unterschied zur linearen Regression wird die Vorhersage für die Ausgabe durch Verwendung einer nichtlinearen Funktion umgewandelt, die logistische Funktion genannt wird.

Logistische Funktion sieht wie ein  großes S aus. Ihre Aufgabe ist es, jeden Wert in den Bereich 0 bis 1 umzuwandeln. Dies ist nützlich, weil die Regel auf die Ausgabe der logistischen Funktion angewendet werden kann, um die Werte an 0 und 1 zu binden (z. B. WENN kleiner als 0,5 ist, dann ist die Ausgabe 1) und einen Klassenwert vorherzusagen.

Lineare Regression

Da das Modell gelernt wird, gibt es die Möglichkeit, die mithilfe der logistischen Regression gemachten Vorhersagen auch als Wahrscheinlichkeit für eine gegebene Dateninstanz zu verwenden, die der Klasse 0 oder Klasse 1 zugeordnet ist. Dies ist für die Lösung der Probleme sehr hilfreich, bei denen eine Vorhersage besser begründet werden muss.

Wie bei der linearen Regression funktioniert die logistische Regression besser, wenn sowohl die nicht mit der Ausgabevariable zusammenhängenden Attribute als auch die einander sehr ähnlichen Attribute entfernt werden. Logistische Regression ist also ein schnelles Modell zum Erlernen. Außerdem kann sie die Probleme der binären Klassifikation sehr effektiv lösen.

3 – Diskriminanzanalyse

Da die logistische Regression ein Klassifikationsalgorithmus ist, der hauptsächlich auf Klassifikationsprobleme mit zwei Klassen begrenzt ist, wird der linearen Klassifikationstechnik der Algorithmus der Diskriminanzanalyse vorgezogen, wenn es mehr als zwei Klassen gibt.

Die Darstellung der Diskriminanzanalyse ist ziemlich einfach. Sie enthält statistische Eigenschaften der Daten, die für jede Klasse berechnet werden. Für eine einzelne Eingabevariable schließt dies folgendes ein:

  1. Den Mittelwert für jede Klasse.
  2. Die Varianz, die für alle Klassen berechnet wird.
Diskriminanzanalyse

Die Vorhersagen werden erstellt, indem ein Diskriminanzwert für jede Klasse berechnet und eine Vorhersage für die Klasse mit dem höchsten Wert gemacht wird. Diese Methode geht davon aus, dass die Daten eine Gauß-Verteilung (Glockenkurve) haben. Deshalb wird empfohlen, Ausreißer aus den Daten vorher zu entfernen. Die Diskriminanzanalyse eignet sich also am besten für Klassifikation von prädektiven Modellierungsproblemen.

4 – Klassifikations- und Regressionsbäume

Entscheidungsbäume sind  ein wichtiger Algorithmus für das prädiktive Modellieren des maschinellen Lernens.

Das Modell des Entscheidungsbaums wird als ein binärer Baum dargestellt. Ein binärer Baum hat eine sehr einfache Struktur, da er aus Algorithmen und Datenstrukturen besteht. Jeder Knoten dient zur Darstellung einer einzelnen Eingabevariable (x) und eines Teilungspunktes dieser Variable (vorausgesetzt, die Variable ist numerisch).

Entscheidungsbaum

Die Endknoten des Baums bestehen aus einer Ausgabevariable (y), mit Hilfe derer eine Vorhersage gemacht wird: Die Baumteilungen  laufen bis zum Endknoten durch und der Klassenwert wird an diesem Endknoten ausgegeben.

Die Vorteile der Bäume bestehen darin, dass sie schnell zu lernen und sehr schnell bei der Ermittlung der Vorhersagen sind. Außerdem sind sie auch oft bei der Lösung einer Vielzahl der Probleme genau und benötigen keine besondere Vorbereitung der Daten.

5 – Naive Bayes

Naive Bayes gilt als ein einfacher, aber überraschend leistungsfähiger Algorithmus zur prädiktiven  Modellierung.

Die Bestandteile des Modells sind zwei Arten von Wahrscheinlichkeiten: 1) Die Wahrscheinlichkeit jeder Klasse; 2) die bedingte Wahrscheinlichkeit für jede Klasse bei jedem angegebenen x-Wert. Diese Wahrscheinlichkeiten werden direkt aus den Trainingsdaten berechnet. Nachdem die Berechnung gemacht worden ist, wird das Wahrscheinlichkeitsmodell verwendet, um anhand von Bayes-Theorem Vorhersagen für neue Daten zu ermitteln. Bei Daten, die einen echten Wert haben, wird üblicherweise eine Gauß-Verteilung (Glockenkurve) angenommen, um die Schätzung dieser Wahrscheinlichkeiten zu erleichtern.

Bayes-Theorem

Naive Bayes wird naiv genannt, da vermutet wird, dass jede Eingangsvariable unabhängig ist. Obwohl dies eine ernsthafte Annahme und für echte Daten unrealistisch ist, bewies diese Methode ihre Wirksamkeit bei der Lösung einer Vielzahl komplizierter Probleme.

6 – K-Nächste-Nachbarn (KNN)

Der KNN-Algorithmus gehört auch zu sehr einfachen und effektiven Algorithmen des maschinellen Lernens. Das KNN-Modell wird als ein gesamter Trainingsdatensatz dargestellt. Einfach, nicht wahr?

Die Vorhersagen für einen neuen Datenpunkt werden durch die Durchsuchung des gesamten Trainingssatzes nach den K-ähnlichsten Instanzen (den Nachbarn) und die Erstellung der Ausgabevariable für diese K-Instanzen gemacht. Bei Regressionsproblemen handelt es sich um die durchschnittliche Ausgabevariable und bei Klassifikationsproblemen um den Moduswert (oder am häufigsten) Klassenwert.

Es gibt einen ganz einfachen Trick, wie die Ähnlichkeit zwischen den Dateninstanzen bestimmt wird. Die einfachste Methode besteht in der Verwendung des euklidischen Abstandes, wenn alle Attribute gleich skaliert sind (z. B.  alle in Zoll). Als Basis zur Berechnung einer Zahl dienen die Unterschiede zwischen den einzelnen Eingabevariablen.

K-Nächste-Nachbarn

Es sollte noch darauf hingewiesen werden, dass KNN viel Speicher oder Speicherplatz benötigen kann, um alle Daten zu speichern. Dieser Algorithmus führt jedoch eine Berechnung (oder ein Training) nur dann durch, wenn gerade eine Vorhersage erforderlich ist. Wenn die Trainingsinstanzen im Laufe der Zeit aktualisiert und überwacht werden, werden die Vorhersagen genau gehalten.

Das weitere Problem besteht in der Wahrscheinlichkeit des Zusammenbrechens der Vorstellung der Distanz oder Nähe in sehr hohen Dimensionen (viele Eingabevariablen), was die Leistungsfähigkeit des Algorithmus bei der Lösung des Problems negativ beeinflussen kann. Diese Erscheinung ist als Fluch der Dimensionalität bekannt. In diesem Fall ist es empfehlenswert, nur die für die Vorhersage der Ausgabevariablen relevantesten Eingabevariablen zu verwenden.

7 – Lernende Vektorquantisierung

Ein Nachteil der k-nächsten-Nachbarn ist die Abhängigkeit vom gesamten Trainingsdatensatz. Der Algorithmus der lernenden Vektorquantisierung (englisch Learning Vector Quantization oder kurz LVQ) ist ein Algorithmus aus dem Bereich der künstlichen neuronalen Netzwerke, der die Auswahl der Anzahl der verwendeten Trainingsinstanzen ermöglicht und lernt, wie genau diese Instanzen aussehen sollen.

Lernende Vektorquantisierung

Lernende Vektorquantisierung wird als eine Sammlung von Codebuchvektoren dargestellt. Nachdem sie zufällig ausgewählt worden sind, werden sie bearbeitet, um die Zusammenfassung des Trainingsdatensatzes über eine Reihe von Iterationen des Lernalgorithmus am besten durchzuführen. Wie bei k-nächsten-Nachbarn können die Codebuchvektoren nach dem Training zur Erstellung der Vorhersagen verwendet werden. Um den ähnlichsten Nachbar (d. h. am besten passenden Codebuchvektor) zu finden, wird die Distanz zwischen jedem Codebuchvektor und der neuen Dateninstanz berechnet. Der Klassenwert oder realer Wert bei Regression für die am besten passende Einheit wird dann als  Vorhersage zurückgeliefert. Um die besten Ergebnisse zu erzielen, sollten die Daten für denselben Bereich wie beispielsweise zwischen 0 und 1 neu skaliert werden.

Falls KNN gute Ergebnisse für den angegebenen Datensatz zeigt, kann man versuchen, unter Verwendung der lernenden Vektorquantisierung den Speicherbedarf für das Speichern des gesamten Trainingsdatensatzes zu reduzieren.

8 – Support Vector Machines

Support Vector Machines sind vielleicht einer der beliebtesten und meist diskutierten Algorithmen des maschinellen Lernens.

Unter einer Hyperebene ist eine Gerade gemeint, die den Eingabevariablenraum teilt. Die Aufgabe der SVM ist es, eine Hyperebene anzupassen, die die Punkte im Eingabevariablenraum in Klassen teilt (entweder Klasse 0 oder Klasse 1) In zwei Dimensionen kann man dies als eine Gerade darstellen und annehmen, dass alle der Eingabepunkte durch diese Gerade vollständig getrennt sein können. Mithilfe des SVM-Lernalgorithmus werden die Koeffizienten ermittelt, die zur besten Trennung der Klassen durch die Hyperebene führen.

Eine Support Vector Machine

Der Abstand zwischen der Hyperebene und den Datenpunkten, die am nächsten liegen, wird Rand genannt. Die beste oder optimale Hyperebene, die fähig ist, die beiden Klassen zu trennen, ist die Gerade mit dem größten Rand. Die Punkte, die beim Definieren der Hyperebene und Erstellen des Klassifikators relevant sind, werden als Stützvektoren bezeichnet. Ihre Aufgabe ist es, die Hyperebene zu unterstützen oder zu definieren. Der Optimierungsalgorithmus wird in der Praxis zum Erstellen der Werte für die Koeffizienten, die den Rand maximieren, verwendet.

SVM kann einer der leistungsfähigsten sofort einsetzbaren Klassifikatoren sein. Auf jeden Fall lohnt es sich, ihn auszuprobieren.

9 – Bagging und Random Forest

Random Forest zählt zu den beliebtesten und leistungsfähigsten Algorithmen des maschinellen Lernens. Es handelt sich um eine Art von Ensemblealgorithmen des maschinellen Lernens, die auch Bootstrap Aggregation oder Bagging genannt wird.

In der Statistik ist das Bootstrap-Verfahren eine leistungsstarke Methode, mit Hilfe derer eine Menge aus einer Datenstichprobe geschätzt wird. Wie beispielsweise ein Mittelwert. Nachdem viele Datenstichproben genommen worden sind, wird zuerst der Mittelwert berechnet und dann alle Mittelwerte gemittelt, um eine bessere Schätzung des wahren Mittelwertes zu erhalten.

Beim Bagging wird dieselbe Methode verwendet. Der Unterschied besteht jedoch darin, dass ganze statistische Modelle meistens anhand der Entscheidungsbäume geschätzt werden. Es werden mehrere Stichproben der Trainingsdaten genommen und für jede Datenstichprobe Modelle erstellt. Wenn eine Vorhersage für neue Daten erstellt werden muss, macht jedes Modell eine Vorhersage, und dann werden diese Vorhersagen gemittelt, um eine bessere Schätzung des tatsächlichen Ausgabewerts zu bekommen.

Random Forest

Ein Random Forest ist ein Klassifikationsverfahren, bei dem die Entscheidungsbäume so erstellt werden, dass suboptimale Aufteilungen durch Einführung der Zufälligkeit durchgeführt werden, statt optimale Aufteilungspunkte auszuwählen.

Die für jede Datenstichprobe erstellten Modelle unterscheiden sich daher stärker als sie es sonst wären, sind dennoch auf ihre einzigartige und andere Art und Weise genau. Durch die Kombination ihrer Vorhersagen wird der wahre Basisausgabewert besser geschätzt.

Erzielt man mit einem Algorithmus mit hoher Varianz (wie Entscheidungsbäumen) gute Ergebnisse, so können durch das Bagging dieses Algorithmus oft noch bessere Ergebnisse erzielt werden.

10 – Boosting und AdaBoost

Boosting ist eine Ensemblemethode, die aus mehreren schwachen Klassifikatoren einen einzigen guten Klassifikator erstellt. Dies wird gemacht, indem ein Modell aus den Trainingsdaten und dann ein zweites Modell erstellt wird, das die Fehler des ersten Modells verbessern soll. Die Besonderheit von Boosting besteht darin, dass die Modelle so lange hinzugefügt werden, bis der Trainingssatz ideal vorhergesagt oder eine maximale Anzahl von Modellen hinzugefügt ist.

Da AdaBoost der erste wirklich erfolgreiche für die binäre Klassifikation entwickelte Boosting-Algorithmus ist, ist es der beste Ausgangspunkt, um Boosting zu verstehen. Moderne Boosting-Methoden basieren auf AdaBoost, vor allem auf stochastischen Gradientenboostingsmaschinen.

Ein AdaBoost

AdaBoost ist mit kurzen Entscheidungsbäumen eng verbunden. Nachdem der erste Baum erstellt worden ist, wird die Leistung des Baums in jeder Trainingsinstanz verwendet, um zu gewichten, wie viel Aufmerksamkeit der nächste erstellte Baum jeder Trainingsinstanz widmen soll. Wenn die schwer vorhersagbaren Trainingsdaten größere Gewichtung erhalten, bekommen die einfach vorhersagbaren Instanzen kleinere Gewichtung. Die Modelle werden nacheinander erstellt und erfüllen die Aufgabe der Aktualisierung der Gewichtungen der Trainingsinstanzen, die das Training beeinflussen, das vom nächsten Baum in der Sequenz durchgeführt wird. Nach der Erstellung aller Bäume kann man Vorhersagen für neue Daten machen. Als Basis für die Gewichtung der Leistung jedes Baums dient die Genauigkeit der Trainingsdaten.

Da eine sehr große Aufmerksamkeit auf die Korrektur von Fehlern mithilfe des Algorithmus gerichtet wird, ist es wichtig, über saubere Daten mit entfernten Ausreißern zu verfügen.

Sollten Sie Fragen zu den in Statistik und maschinellem Lernen verwendeten Algorithmen haben, so können Sie sich an das Team von AI-United.de per Mail oder Q&A wenden.

Quelle

Schreibe einen Kommentar

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