Maschinelles Lernen - überwacht

Betreutes Lernen ist eines der wichtigsten Lernmodelle für Trainingsmaschinen. In diesem Kapitel wird ausführlich darauf eingegangen.

Algorithmen für überwachtes Lernen

Für das überwachte Lernen stehen verschiedene Algorithmen zur Verfügung. Einige der weit verbreiteten Algorithmen des überwachten Lernens sind wie folgt:

  • k-Nächste Nachbarn
  • Entscheidungsbäume
  • Naive Bayes
  • Logistische Regression
  • Support-Vektor-Maschinen

Lassen Sie uns in diesem Kapitel die einzelnen Algorithmen ausführlich erläutern.

k-Nächste Nachbarn

Die k-Nearest Neighbors, einfach kNN genannt, sind statistische Techniken, mit denen Klassifizierungs- und Regressionsprobleme gelöst werden können. Lassen Sie uns den Fall der Klassifizierung eines unbekannten Objekts mit kNN diskutieren. Betrachten Sie die Verteilung der Objekte wie in der Abbildung unten gezeigt -

Quelle:

https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm

Das Diagramm zeigt drei Arten von Objekten, die in den Farben Rot, Blau und Grün markiert sind. Wenn Sie den kNN-Klassifizierer für den obigen Datensatz ausführen, werden die Grenzen für jeden Objekttyp wie unten gezeigt markiert.

Quelle:

https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm

Stellen Sie sich nun ein neues unbekanntes Objekt vor, das Sie als rot, grün oder blau klassifizieren möchten. Dies ist in der folgenden Abbildung dargestellt.

Wie Sie es visuell sehen, gehört der unbekannte Datenpunkt zu einer Klasse von blauen Objekten. Mathematisch kann dies geschlossen werden, indem die Entfernung dieses unbekannten Punktes mit jedem anderen Punkt im Datensatz gemessen wird. Wenn Sie dies tun, werden Sie wissen, dass die meisten Nachbarn von blauer Farbe sind. Die durchschnittliche Entfernung zu roten und grünen Objekten wäre definitiv größer als die durchschnittliche Entfernung zu blauen Objekten. Somit kann dieses unbekannte Objekt als zur blauen Klasse gehörend klassifiziert werden.

Der kNN-Algorithmus kann auch für Regressionsprobleme verwendet werden. Der kNN-Algorithmus ist in den meisten ML-Bibliotheken einsatzbereit.

Entscheidungsbäume

Ein einfacher Entscheidungsbaum in einem Flussdiagrammformat ist unten dargestellt -

Sie würden einen Code schreiben, um Ihre Eingabedaten basierend auf diesem Flussdiagramm zu klassifizieren. Das Flussdiagramm ist selbsterklärend und trivial. In diesem Szenario versuchen Sie, eine eingehende E-Mail zu klassifizieren, um zu entscheiden, wann sie gelesen werden soll.

In der Realität können die Entscheidungsbäume groß und komplex sein. Es stehen verschiedene Algorithmen zur Verfügung, um diese Bäume zu erstellen und zu durchlaufen. Als Enthusiast des maschinellen Lernens müssen Sie diese Techniken zum Erstellen und Durchlaufen von Entscheidungsbäumen verstehen und beherrschen.

Naive Bayes

Naive Bayes wird zum Erstellen von Klassifikatoren verwendet. Angenommen, Sie möchten Früchte verschiedener Arten aus einem Obstkorb aussortieren (klassifizieren). Sie können Merkmale wie Farbe, Größe und Form einer Frucht verwenden. Beispielsweise kann jede Frucht mit roter Farbe, runder Form und einem Durchmesser von etwa 10 cm als Apfel betrachtet werden. Um das Modell zu trainieren, würden Sie diese Features verwenden und die Wahrscheinlichkeit testen, dass ein bestimmtes Feature den gewünschten Einschränkungen entspricht. Die Wahrscheinlichkeiten verschiedener Merkmale werden dann kombiniert, um eine Wahrscheinlichkeit zu erhalten, dass eine bestimmte Frucht ein Apfel ist. Naive Bayes benötigt im Allgemeinen eine kleine Anzahl von Trainingsdaten für die Klassifizierung.

Logistische Regression

Schauen Sie sich das folgende Diagramm an. Es zeigt die Verteilung der Datenpunkte in der XY-Ebene.

Aus dem Diagramm können wir die Trennung von roten und grünen Punkten visuell untersuchen. Sie können eine Grenzlinie zeichnen, um diese Punkte zu trennen. Um einen neuen Datenpunkt zu klassifizieren, müssen Sie nur noch bestimmen, auf welcher Seite der Linie der Punkt liegt.

Support-Vektor-Maschinen

Sehen Sie sich die folgende Datenverteilung an. Hier können die drei Datenklassen nicht linear getrennt werden. Die Grenzkurven sind nicht linear. In einem solchen Fall wird das Finden der Kurvengleichung zu einer komplexen Aufgabe.

Quelle: http://uc-r.github.io/svm

Die Support Vector Machines (SVM) sind praktisch, um die Trennungsgrenzen in solchen Situationen zu bestimmen.