Eine Tour durch die Top 10 Algorithmen des Maschinen Lernen für Newbies

8 min read

Top 10 Algorithmen des Maschinen Lernen für Newbies

Im maschinellen Lernen gibt es etwas, das “No Free Lunch“-Theorem genannt wird. Kurz gesagt, es wird festgestellt, dass kein Algorithmus für jedes Problem am besten funktioniert, und es ist besonders relevant für überwachtes Lernen (d.h. vorausschauende Modellierung).

Man kann zum Beispiel nicht sagen, dass neuronale Netzwerke immer besser sind als Entscheidungsbäume oder umgekehrt. Es sind viele Faktoren im Spiel, wie die Größe und Struktur Ihres Datensatzes.

Aus diesem Grund sollten Sie viele verschiedene Algorithmen für Ihr Problem ausprobieren. Verwenden Sie dazu einen Testsatz, um die Leistung zu bewerten und den Gewinner auszuwählen.

Natürlich müssen die Algorithmen, die Sie ausprobieren, für Ihr Problem geeignet sein. In diesem Fall ist es wichtig, die richtige maschinelle Lernaufgabe auszuwählen. Wenn Sie Ihr Haus reinigen müssen, können Sie einen Staubsauger, einen Besen oder einen Mopp verwenden, aber Sie würden keine Schaufel nehmen und anfangen zu graben.

Das große Prinzip

Es gibt jedoch ein gemeinsames Prinzip, das allen überwachten maschinellen Lernalgorithmen für die vorausschauende Modellierung zugrunde liegt.

Machine Learning Algorithmen werden als Lernen einer Zielfunktion (f) beschrieben, die  Eingabevariablen (X) am besten auf eine Ausgangsvariable (Y) abbildet: Y = f (X)

Dies ist eine allgemeine Lernaufgabe, bei der wir für die Zukunft Vorhersagen treffen möchten (Y), wenn neue Beispiele für Eingangsvariable (X) gegeben werden. Wir wissen nicht, wie die Funktion (f) oder ihre Form aussieht. Wenn wir dies tun würden, würden wir es direkt verwenden, und wir müssten es nicht unter Verwendung von Machine Learning aus den Daten lernen.

Die häufigste Art des maschinellen Lernens besteht darin, die Funktion Y = f (X) zu lernen, um Vorhersagen von Y für das neue X zu treffen. Dies wird als vorausschauende Modellierung oder predictive Analyticsbezeichnet und unser Ziel ist es, die genauesten Vorhersagen zu ermöglichen.

Für Anfänger im Bereich des maschinellen Lernens, die die Grundlagen des maschinellen Lernens verstehen möchten, finden Sie hier eine kurze Einführung in die Top 10 Algorithmen für Machine Learning die von Datenwissenschaftlern verwendet werden.

1 —  Lineare Regression

Die lineare Regression ist vielleicht einer der bekanntesten Algorithmen in Statistik und maschinellem Lernen überhaupt.

Bei der prädiktiven Modellierung geht es in erster Linie darum, den Fehler eines Modells zu minimieren oder möglichst genaue Vorhersagen auf Kosten der Erklärbarkeit zu treffen. Wir werden Algorithmen aus vielen verschiedenen Bereichen, einschließlich Statistik, ausleihen und verwenden um sie zu diesen Zwecken einsetzen.

Die Darstellung der linearen Regression ist eine Gleichung, die eine Linie beschreibt, die am besten zu der Beziehung zwischen den Eingabevariablen (x) und den Ausgabevariablen (y) passt, indem bestimmte Gewichtungen für die Eingabevariablen (Koeffizienten) (B) ermittelt werden.

Lineare Regression

Zum Beispiel: y = B0 + B1 * x

Mit der Eingabe x wird y vorausgesagt und das Ziel des linearen Regressionslernalgorithmus besteht darin, die Werte für die Koeffizienten B0 und B1 zu ermitteln.

Um das lineare Regressionsmodell aus Daten zu lernen, können verschiedene Techniken verwendet werden, z. B. eine lineare Algebra-Lösung für gewöhnliche Kleinstquadrate und eine Optimierung der Glättungsfaktoren.

Lineare Regression gibt es seit mehr als 200 Jahren und wurde intensiv untersucht. Einige gute Faustregeln beim Verwenden dieser Technik sind das Entfernen von sehr ähnlichen Variablen (korreliert) und das Entfernen von Rauschen aus Ihren Daten, falls möglich. Es ist eine schnelle und einfache Technik und ein guter erster Algorithmus zum Ausprobieren.

2 — Logistische Regression

Die logistische Regression ist eine weitere Technik, die dem maschinellen Lernen aus dem Bereich der Statistik entnommen ist. Es ist die bevorzugte Methode für binäre Klassifizierungsprobleme (Probleme mit zwei Klassen).

Die logistische Regression ist wie die lineare Regression, da das Ziel darin besteht, die Werte für die Koeffizienten zu finden, die jede Eingabevariable gewichten. Im Gegensatz zur linearen Regression wird die Vorhersage für die Ausgabe mit einer nichtlinearen Funktion transformiert, die als logistische Funktion bezeichnet wird.

Die logistische Funktion sieht aus wie ein großes S und wandelt jeden Wert in den Bereich 0 bis 1 um. Dies ist nützlich, da wir auf die Ausgabe der logistischen Funktion eine Regel anwenden können, um Werte auf 0 und 1 zu erfassen (z. B. WENN kleiner als 0,5 Ausgabe 1) und eine Klasse vorherzusagen.

Logistische Regression

Aus Gründen, die das Modell erlernen wird, können die Vorhersagen der logistischen Regression auch als die Wahrscheinlichkeit einer bestimmten Dateninstanz der Klasse 0 oder der Klasse 1 verwendet werden. Dies kann nützlich sein für Probleme, bei denen Sie mehr Begründung für eine Vorhersage brauchen.

Ähnlich wie bei der linearen Regression, funktioniert die logistische Regression besser, wenn Sie Attribute entfernen, die nicht mit der Eingabevariablen zusammenhängen, sowie Attribute, die einander sehr ähnlich sind. Es ist ein schnelles Modell zum Trainieren und zur Lösung von Problemen bei der binären Klassifizierung.

3 —  Lineare Diskriminanzanalyse

Logistische Regression ist ein Klassifizierungsalgorithmus, der traditionell auf Klassifikationsprobleme mit zwei Klassen beschränkt ist. Wenn Sie mehr als zwei Klassen haben, ist der lineare Diskriminanzanalyse-Algorithmus die bevorzugte lineare Klassifikationstechnik.

Die Darstellung der LDA ist ziemlich einfach. Es besteht aus statistischen Eigenschaften Ihrer Daten, die für jede Klasse berechnet werden. Für eine einzelne Eingabevariante beinhaltet dies:

  1. Der Mittelwert für jede Klasse.
  2. Die Abweichung, die über alle Klassen berechnet wird.
Lineare Diskriminanzanalyse

Vorhersagen werden gemacht, indem man einen diskriminierenden Wert für jede Klasse berechnet und eine Vorhersage für die Klasse mit dem größten Wert macht. Die Technik geht davon aus, dass die Daten eine Gaußische-Verteilung (Glockenkurve) haben, daher ist es eine gute Idee, Ausreißer aus Ihren Daten im Voraus zu entfernen. Es ist eine einfache und leistungsstarke Methode zur Klassifizierung vorausschauender Modellierungsprobleme.

4 — Klassifizierungs- und Regressionsbäume

Entscheidungsbäume sind ein wichtiger Bestandteil des prädiktiven Modellierens bei Machine Learning.

Die Darstellung des Entscheidungsbaummodells ist ein Binärbaum. Dier Binärbaum aus Algorithmen und Datenstrukturen, ist eigentlich nichts Besonderes. Jeder Knoten repräsentiert eine einzelne Eingabevariable (x) und einen Aufteilungspunkt dieser Variablen (vorausgesetzt, die Variable ist numerisch).

Entscheidungsbaum

Die Blattknoten des Baumes enthalten eine Ausgabevariable (y), die zur Vorhersage verwendet wird. Vorhersagen werden gemacht, indem man die Abzweigungen des Baumes bis zum Eintreffen an einem Blattknoten geht und den Klassenwert an diesem Blattknoten ausgibt.

Bäume sind schnell zu trainieren und sehr schnell, um Vorhersagen zu treffen. Die sind auch häufig für eine Vielzahl von Problemen korrekt und erfordern keine besondere Vorbereitung Ihrer Daten.

5 — Naive Bayes

Naive Bayes ist ein einfacher, aber überraschend leistungsfähiger Algorithmus für die vorausschauende Modellierung.

Das Modell besteht aus zwei Arten von Wahrscheinlichkeiten, die direkt aus Ihren Trainingsdaten berechnet werden können: 1) Die Wahrscheinlichkeit jeder Klasse; und 2) die bedingte Wahrscheinlichkeit für jede Klasse bei jedem x-Wert. Nach der Berechnung kann das Wahrscheinlichkeitsmodell verwendet werden, um mit Hilfe von Satz von Vorhersagen für neue Daten zu treffen. Wenn Ihre Daten einen echten Wert haben, ist es üblich, eine Gaußische-Verteilung (Glockenkurve) anzunehmen, damit Sie diese Wahrscheinlichkeiten leicht abschätzen können.

Naive Bayes

Naive Bayes wird naiv genannt, weil sie davon ausgeht, dass jede Eingabevariante unabhängig ist. Das ist eine starke Annahme und unrealistisch für reale Daten, dennoch ist die Technik sehr effektiv bei einer Vielzahl von komplexen Problemen.

6 — K-Nearest neighbor

Der KNN-Algorithmus ist sehr einfach und sehr effektiv. Die Modelldarstellung für KNN ist der gesamte Trainingsdatensatz.

Vorhersagen für einen neuen Datenpunkt werden gemacht, indem man den gesamten Trainingssatz für die K-ähnlichsten Instanzen (die Nachbarn) durchsucht und die Ausgabevariablen für diese K-Instanzen zusammenfasst. Bei Regressionsproblemen könnte dies die mittleren Ausgabevariablen sein, bei Einstufungs-Problemen könnte dies der Modus (oder der häufigste) Klassenwert sein.

Der Trick besteht darin, wie man die Ähnlichkeit zwischen den Dateninstanzen feststellt. Wenn Ihre Attribute alle dieselbe Skalierung haben (beispielsweise alle Zoll), verwenden Sie die euklidische Entfernung. Diese Zahl können Sie direkt anhand der Unterschiede zwischen den einzelnen Eingabevariablen berechnen.

KNN-Algorithmus

KNN kann viel Speicherplatz zum Speichern aller Daten benötigen, führt jedoch nur dann eine Berechnung durch, wenn eine Vorhersage gerade erforderlich ist. Sie können auch Ihre Trainingsinstanzen im Laufe der Zeit aktualisieren und kuratieren, um die Vorhersagen genau zu halten.

Die Vorstellung von Entfernung oder Nähe kann in sehr hohen Dimensionen (viele Eingabevariablen) dargestellt werden, was die Leistung des Algorithmus für Ihr Problem negativ beeinflussen kann. Dies wird als Fluch der Dimensionalität bezeichnet. Es wird empfohlen, nur die Eingabevariablen zu verwenden, die für die Vorhersage der Ausgabevariablen am relevantesten sind.

7 — Vektor Quantisierung lernen

Ein Nachteil der KNN ist, dass Sie an Ihrem gesamten Trainingsdatensatz arbeiten müssen. Der Learning-Vektor-Quantisierungsalgorithmus (oder kurz LVQ) ist ein künstlicher neuronaler Netzwerkalgorithmus, mit dem Sie auswählen können, wie viele Trainingsinstanzen verwendet werden sollen, und wie genau diese Instanzen aussehen sollen.

Vektor Quantisierung lernen

Die Darstellung für LVQ ist eine Sammlung von Codebook-Vektoren. Diese werden am Anfang zufällig ausgewählt und angepasst, um den Trainingsdatensatz am besten über eine Reihe von Iterationen des Lernalgorithmus zusammenzufassen. Nach dem Erlernen können die Codebook-Vektoren verwendet werden, um Vorhersagen zu machen, genau wie bei KNN. Der ähnlichste Nachbar (bester passender Codebook-Vektor) wird durch die Berechnung des Abstands zwischen jedem Codebook-Vektor und der neuen Dateninstanz gefunden. Der Klassenwert oder (realer Wert im Falle einer Regression) für die beste Anpassungseinheit wird dann als Vorhersage zurückgegeben. Die besten Ergebnisse werden erzielt, wenn Sie Ihre Daten für den gleichen Bereich neu skalieren, z. B. zwischen 0 und 1.

Wenn Sie feststellen, dass KNN gute Ergebnisse für Ihre Datenmenge liefert, versuchen Sie es mit LVQ, um den Speicherbedarf für die Speicherung der gesamten Trainingsdatenmenge zu reduzieren.

8 — Support Vector Machines

Support Vector Machines sind vielleicht eine der beliebtesten Algorithmen des Machine Learnings.

Eine Hyperebene ist eine Linie, die den Eingabevariablenraum aufteilt. In SVM wird eine Hyperebene ausgewählt, um die Punkte im Eingabevariablenraum durch ihre Klasse, entweder Klasse 0 oder Klasse 1, am besten zu trennen. In zwei Dimensionen können Sie dies als Linie darstellen und nehmen wir an, dass alle unsere Eingangspunkte durch diese Linie vollständig getrennt werden können. Der SVM-Lernalgorithmus findet die Koeffizienten, die zur besten Trennung der Klassen durch die Hyperebene führen.

Support Vector Machines

Der Abstand zwischen der Hyperebene und den nächsten Datenpunkten wird als Rand bezeichnet. Die beste oder optimale Hyperebene, die die beiden Klassen trennen kann, ist die Linie mit dem größten Rand. Nur diese Punkte sind für die Definition der Hyperebene und für den Aufbau des Betrachters relevant. Diese Punkte werden Support-Vektoren genannt. Sie unterstützen oder definieren die Hyperebene. In der Praxis wird ein Optimierungsalgorithmus verwendet, um die Werte für die Koeffizienten zu finden, die den Spielraum maximieren.

SVM könnte einer der mächtigsten Modelle sein und es lohnt sich, SVM an Ihrem Datensatz zu testen.

9 — Bagging und Random Forest

Random Forest ist einer der beliebtesten und leistungsfähigsten Algorithmen für das maschinelle Lernen. Es ist eine Art von Ensemble Machine Learning, der als Bootstrap Aggregation oder Bagging bezeichnet wird.

Bootstrap ist eine leistungsstarke statistische Methode, um eine Menge aus einer Datenprobe zu schätzen. So wie ein Mittelwert. Sie nehmen viele Proben Ihrer Daten, berechnen den Mittelwert, dann den Durchschnitt alle Mittelwerte, um Ihnen eine bessere Einschätzung des wahren Mittelwertes zu geben.

Es werden mehrere Proben Ihrer Trainingsdaten entnommen, dann werden für jede Datenprobe Modelle konstruiert. Wenn Sie eine Vorhersage für neue Daten machen müssen, macht jedes Modell eine Vorhersage und die Vorhersagen werden zum Durchschnitt zusammengeführt, um eine bessere Schätzung des wahren Ausgabewertes zu geben.

Random Forest

Random Forest ist eine Optimierung in diesem Ansatz, bei dem Entscheidungsbäume geschaffen werden, so dass, anstatt optimale Verzweigungen auszuwählen, suboptimale durch die Einführung von Zufälligkeit ausgewählt werden.

Die Modelle, die für jede Datenprobe erstellt werden, sind daher unterschiedlicher als sonst, aber in ihrer einzigartigen und unterschiedlichen Weise immer noch korrekt. Die Kombination ihrer Vorhersagen führt zu einer besseren Schätzung des tatsächlichen zugrunde liegenden Ausgabewerts.

Wenn Sie mit einem Algorithmus mit hoher Varianz (wie Entscheidungsbäumen) gute Ergebnisse erzielen, können Sie durchdieses Modell oft bessere Ergebnisse erzielen.

10 — Boosting und AdaBoost

Boosting ist eine Ensemble-Technik, die versucht, aus einer Reihe schwacher  Modelle eine starkes Modell zu erstellen. Dazu wirdaus den Trainingsdaten ein Modell erstellt und dann ein zweites Modell, das versucht, die Fehler des ersten Modells zu korrigieren. Modelle werden hinzugefügt, bis der Trainingssatz perfekt vorhergesagt wird oder eine maximale Anzahl von Modellen hinzugefügt wurde.

AdaBoost war der erste wirklich erfolgreiche Boost-Algorithmus, der für die Binärklassifizierung entwickelt wurde. Moderne Modelle bauen auf AdaBoost, vor allem stochastischen Gradientensteigerungsmaschinen.

AdaBoost

AdaBoost wird mit kurzen Entscheidungsbäumen verwendet. Nachdem der erste Baum erstellt wurde, wird anhand der Leistung des Baums in jeder Trainingsinstanz gewichtet, wie viel Aufmerksamkeit der nächste erstellte Baum auf jede Trainingsinstanz achten sollte. Trainingsdaten, die schwer vorherzusagen sind, bekommen mehr Gewicht, während leicht vorherzusagen Instanzen weniger Gewicht bekommen. Die Modelle werden nacheinander erstellt, wobei die Gewichte auf den Trainingsinstanzen aktualisiert werden, die das Lernen des nächsten Baumes in der Folge beeinflussen. Nachdem alle Bäume gebaut sind, werden Vorhersagen für neue Daten gemacht. Die Leistung jedes Baumes wird durch die Richtigkeit auf Trainingsdaten gewichtet.

Da so viel Aufmerksamkeit auf die Korrektur von Fehlern durch den Algorithmus gelegt wird, ist es wichtig, dass Sie saubere Daten haben und die Ausreißer  davor entfernen.

Fazit

Eine typische Frage, die sich ein Anfänger stellt, wenn er sich einer Vielzahl von maschinellen Lernalgorithmen stellt, lautet, “welchen Algorithmus sollte ich verwenden?” Die Antwort auf die Frage variiert je nach vielen Faktoren, darunter:

  • Größe, Qualität und Art der Daten;
  • Die verfügbare Rechenzeit;
  • Dringlichkeit der Aufgabe; und
  • Was Sie mit den Daten machen möchten.

Selbst ein erfahrener Datenwissenschaftler kann nicht sagen, welcher Algorithmus am besten funktioniert, bevor er verschiedene Algorithmen ausprobiert hat.

Obwohl es noch viele andere Algorithmen des maschinellen Lernens gibt, sind dies die beliebtesten. Wenn Sie ein Neuling im Machine Learning sind, wären diese ein guter Ausgangspunkt um zu starten.

Welche Machine Learning Modelle verwenden Sie meistens in der Praxis?Welche Vorteile und Nachteile hat diese Methode?

Gern beantwortet Ihnen das Team von AI United alle möglichen Fragen per Email oder in dem Q&A Bereich.

Quellen: https://towardsdatascience.com/a-tour-of-the-top-10-algorithms-for-machine-learning-newbies-dde4edffae11

Schreibe einen Kommentar

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