Ich bin ein Enthusiast des Programmierens und des maschinellen Lernens. Vor ein paar Monaten habe ich angefangen, maschinelles Lernen zu lernen. Wie viele andere, die keinen quantitativen wissenschaftlichen Hintergrund haben, habe ich mich auch mit ML befasst, indem ich an den Algorithmen und Datensätzen des weit verbreiteten ML-Pakets (Caret R) herumgebastelt habe.
Vor einiger Zeit habe ich einen Blog gelesen, in dem der Autor über die Verwendung der linearen Regression in ML spricht. Wenn ich mich richtig erinnere, sprach er darüber, wie das gesamte maschinelle Lernen letztendlich eine Art "lineare Regression" verwendet (nicht sicher, ob er genau diesen Begriff verwendet hat), selbst für lineare oder nichtlineare Probleme. Diesmal habe ich nicht verstanden, was er damit meinte.
Mein Verständnis der Verwendung von maschinellem Lernen für nichtlineare Daten besteht darin, einen nichtlinearen Algorithmus zum Trennen der Daten zu verwenden.
Das war mein Denken
Nehmen wir an, wir klassifizieren lineare Daten, indem wir die lineare Gleichung und für nicht lineare Daten verwenden wir die nicht lineare Gleichung say y = s i n ( x ).
Dieses Bild wird vom sikit genommen, Website der Stützvektormaschine zu lernen. In SVM haben wir verschiedene Kernel für ML-Zwecke verwendet. Mein erster Gedanke war also, dass der lineare Kernel die Daten mithilfe einer linearen Funktion trennt und der RBF-Kernel eine nicht lineare Funktion verwendet, um die Daten zu trennen.
Aber dann habe ich diesen Blog gesehen, in dem der Autor über neuronale Netze spricht.
Um das nichtlineare Problem in der linken Teilkurve zu klassifizieren, transformiert das neuronale Netzwerk die Daten so, dass wir am Ende eine einfache lineare Trennung zu den transformierten Daten in der rechten Teilkurve verwenden können
Meine Frage ist, ob am Ende alle Algorithmen für maschinelles Lernen eine lineare Trennung zur Klassifizierung verwenden (linearer / nichtlinearer Datensatz).
Antworten:
Die Antwort lautet Nein. User20160 hat eine perfekte Antwort. Ich werde 3 Beispiele mit Visualisierung hinzufügen, um die Idee zu veranschaulichen. Beachten Sie, dass diese Diagramme möglicherweise nicht hilfreich sind, um festzustellen, ob die "endgültige Entscheidung" in linearer Form vorliegt, aber Sie ein wenig über Baum, Boosting und KNN informieren.
Wir werden mit Entscheidungsbäumen beginnen. Bei vielen Teilungen handelt es sich um eine nichtlineare Entscheidungsgrenze. Und wir können nicht glauben, dass alle vorherigen Splits "Feature-Transformationen" sind und dass am Ende eine endgültige Entscheidungslinie steht.
Ein weiteres Beispiel ist das Boosting-Modell, bei dem viele "schwache Klassifikatoren" aggregiert werden und die endgültige Entscheidungsgrenze nicht linear ist. Sie können sich vorstellen, dass es ein komplizierter Code / Algorithmus ist, um die endgültige Vorhersage zu treffen.
Denken Sie abschließend an K Nearest Neighbours (KNN). Es ist auch keine lineare Entscheidungsfunktion in der Endschicht. Darüber hinaus gibt es in KNN keine "Feature-Transformationen".
Hier sind drei Visualisierungen im 2D-Raum (Tree, Boosting und KNN von oben nach unten). Die Grundwahrheit ist, dass 2 Spiralen zwei Klassen darstellen, und die linke Teilkurve die Vorhersagen aus dem Modell und die rechte Teilkurve die Entscheidungsgrenzen aus dem Modell sind.
BEARBEITEN: @ ssdecontrol Antwort in diesem Beitrag gibt eine andere Perspektive.
Es kommt darauf an, wie wir die "Transformation" definieren .
quelle
spirals
viel in meinen Experimenten). Ein Vorschlag: Zeichnen Sie die Entscheidungsgrenzen alsimage
und fügen Sie möglicherweise Wahrscheinlichkeiten hinzu (wenn Sie probabilistische Ausgaben verwenden)contour
.Einige Algorithmen verwenden eine Hyperebene (dh eine lineare Funktion), um die Daten zu trennen. Ein prominentes Beispiel ist die logistische Regression. Andere verwenden eine Hyperebene, um die Daten nach einer nichtlinearen Transformation zu trennen (z. B. neuronale Netze und unterstützen Vektormaschinen mit nichtlinearen Kerneln). In diesem Fall ist die Entscheidungsgrenze im ursprünglichen Datenraum nichtlinear, im Merkmalsraum, in den die Daten abgebildet werden, jedoch linear. Im Fall von SVMs definiert die Kernelformulierung diese Zuordnung implizit. Andere Algorithmen verwenden mehrere aufteilende Hyperebenen in lokalen Regionen des Datenraums (z. B. Entscheidungsbäume). In diesem Fall ist die Entscheidungsgrenze stückweise linear (aber insgesamt nicht linear).
Andere Algorithmen haben jedoch nichtlineare Entscheidungsgrenzen und sind nicht in Form von Hyperebenen formuliert. Ein prominentes Beispiel ist die Klassifizierung der nächsten Nachbarn. Ensemble-Klassifikatoren (z. B. durch Boosten oder Absacken anderer Klassifikatoren) sind im Allgemeinen nichtlinear.
quelle