Lineare Regression und Methoden ihrer Wiederherstellung

Lineare Regression und Methoden ihrer Wiederherstellung
Quelle: xkcd

Lineare Regression ist einer der grundlegenden Algorithmen fĂŒr viele Bereiche der Datenanalyse. Der Grund dafĂŒr ist offensichtlich. Es ist ein sehr einfacher und verstĂ€ndlicher Algorithmus, der seit vielen Jahrzehnten, wenn nicht Jahrhunderten, weit verbreitet ist. Die Idee besteht darin, dass wir eine lineare AbhĂ€ngigkeit einer Variablen von einer Menge anderer Variablen annehmen und dann versuchen, diese AbhĂ€ngigkeit zu rekonstruieren.

Aber dieser Artikel handelt nicht von der Anwendung der linearen Regression zur Lösung praktischer Probleme. Hier werden interessante Aspekte der Implementierung verteilter Algorithmen zu ihrer Rekonstruktion betrachtet, mit denen wir beim Schreiben des Moduls fĂŒr maschinelles Lernen in Apache Ignite. Ein wenig Grundmathematik, die Grundlagen des maschinellen Lernens und der verteilten Berechnungen helfen zu verstehen, wie man die lineare Regression rekonstruiert, selbst wenn die Daten ĂŒber Tausende von Knoten verteilt sind.

Worum geht es?

Vor uns steht die Aufgabe, eine lineare AbhÀngigkeit zu rekonstruieren. Als Eingabedaten wird eine Menge von Vektoren angeblicher unabhÀngiger Variablen bereitgestellt, von denen jeder einem bestimmten Wert der abhÀngigen Variablen zugeordnet wird. Diese Daten können in Form von zwei Matrizen dargestellt werden:

Lineare Regression und Methoden ihrer Wiederherstellung

Jetzt, da eine AbhĂ€ngigkeit angenommen wird, und zudem eine lineare, drĂŒcken wir unsere Annahme in Form eines Matrizenprodukts aus (zur Vereinfachung der Darstellung wird hier und im Folgenden angenommen, dass das konstante Glied der Gleichung verborgen ist hinter Lineare Regression und Methoden ihrer Wiederherstellung, und die letzte Spalte der Matrix Lineare Regression und Methoden ihrer Wiederherstellung enthĂ€lt Einsen):

Lineare Regression und Methoden ihrer Wiederherstellung

Sieht sehr nach einem System linearer Gleichungen aus, nicht wahr? Es scheint so, aber fĂŒr ein solches Gleichungssystem wird es wahrscheinlich keine Lösungen geben. Der Grund dafĂŒr sind die Störungen, die in praktisch allen realen Daten vorhanden sind. Auch das Fehlen einer linearen AbhĂ€ngigkeit selbst könnte der Grund sein, gegen die man versuchen kann, durch EinfĂŒhrung zusĂ€tzlicher Variablen vorzugehen, die nichtlinear von den UrsprĂŒnglichen abhĂ€ngen. Betrachten wir das folgende Beispiel:
Lineare Regression und Methoden ihrer Wiederherstellung
Quelle: Wikipedia

Dies ist ein einfaches Beispiel fĂŒr lineare Regression, das die AbhĂ€ngigkeit einer Variablen (auf der Achse Lineare Regression und Methoden ihrer Wiederherstellung) von einer anderen Variablen (auf der Achse Lineare Regression und Methoden ihrer Wiederherstellung). Damit das dem Beispiel entsprechende System linearer Gleichungen eine Lösung hat, mĂŒssen alle Punkte genau auf einer Linie liegen. Aber das ist nicht der Fall. Und sie liegen nicht auf einer Linie genau wegen des Rauschens (oder weil die Annahme einer linearen AbhĂ€ngigkeit fehlerhaft war). Um also die lineare AbhĂ€ngigkeit aus realen Daten wiederherzustellen, ist es normalerweise erforderlich, eine weitere Annahme einzufĂŒhren: die Eingabedaten enthalten Rauschen, und dieses Rauschen hat eine normale Verteilung. Man kann auch Annahmen ĂŒber andere Arten von Rauschverteilungen treffen, aber in den ĂŒberwiegenden FĂ€llen wird tatsĂ€chlich die normale Verteilung betrachtet, ĂŒber die wir im Folgenden sprechen werden.

Die Maximum-Likelihood-Methode

Also haben wir das Vorhandensein von zufĂ€llig normalverteiltem Rauschen angenommen. Was tun wir in einer solchen Situation? FĂŒr diesen Fall gibt es in der Mathematik ein weit verbreitetes Konzept. Maximum-Likelihood-Verfahren. Kurz gesagt, es besteht darin, Likelihood-Funktion und dann diese zu maximieren.

Kehren wir zur Wiederherstellung der linearen AbhĂ€ngigkeit bei Daten mit normalem Rauschen zurĂŒck. Beachten wir, dass die angenommene lineare AbhĂ€ngigkeit den mathematischen Erwartungswert Lineare Regression und Methoden ihrer Wiederherstellung der vorhandenen normalen Verteilung darstellt. Gleichzeitig ist die Wahrscheinlichkeit, dass Lineare Regression und Methoden ihrer Wiederherstellung einen bestimmten Wert annimmt, unter der Bedingung, dass beobachtbare Lineare Regression und Methoden ihrer Wiederherstellung, sieht folgendermaßen aus:

Lineare Regression und Methoden ihrer Wiederherstellung

Jetzt setzen wir anstelle von Lineare Regression und Methoden ihrer Wiederherstellung und Lineare Regression und Methoden ihrer Wiederherstellung die benötigten Variablen ein:

Lineare Regression und Methoden ihrer Wiederherstellung

Es bleibt nur noch, den Vektor Lineare Regression und Methoden ihrer Wiederherstellungzu finden, bei dem diese Wahrscheinlichkeit maximal ist. Um eine solche Funktion zu maximieren, ist es praktisch, sie zuerst zu logarithmieren (der Logarithmus der Funktion erreicht sein Maximum an derselben Stelle wie die Funktion selbst):

Lineare Regression und Methoden ihrer Wiederherstellung

Was wiederum auf die Minimierung der folgenden Funktion hinauslÀuft:

Lineare Regression und Methoden ihrer Wiederherstellung

Übrigens wird dies als Methode der kleinsten Quadratebezeichnet. Oft werden alle vorangegangenen Überlegungen ĂŒbersprungen und es wird einfach diese Methode verwendet.

QR-Zerlegung

Das Minimum der oben genannten Funktion kann gefunden werden, wenn der Punkt gefunden wird, an dem der Gradient dieser Funktion gleich null ist. Der Gradient wird wie folgt dargestellt:

Lineare Regression und Methoden ihrer Wiederherstellung

QR-Zerlegung ist eine matrizenbasierte Methode zur Lösung von Minimierungsproblemen, die in der Methode der kleinsten Quadrate verwendet wird. In diesem Zusammenhang schreiben wir die Gleichung in matrixform um:

Lineare Regression und Methoden ihrer Wiederherstellung

Also zerlegen wir die Matrix Lineare Regression und Methoden ihrer Wiederherstellung in Matrizen Lineare Regression und Methoden ihrer Wiederherstellung und Lineare Regression und Methoden ihrer Wiederherstellung und fĂŒhren eine Reihe von Transformationen durch (der Algorithmus der QR-Zerlegung wird hier nicht betrachtet, sondern nur seine Anwendung fĂŒr die gestellte Aufgabe):

Lineare Regression und Methoden ihrer Wiederherstellung

Die Matrix Lineare Regression und Methoden ihrer Wiederherstellung ist orthogonal. Das ermöglicht es uns, das Produkt zu eliminieren Lineare Regression und Methoden ihrer Wiederherstellung:

Lineare Regression und Methoden ihrer Wiederherstellung

Wenn wir ersetzen Lineare Regression und Methoden ihrer Wiederherstellung auf Lineare Regression und Methoden ihrer Wiederherstellung, ergibt sich Lineare Regression und Methoden ihrer Wiederherstellung. Unter BerĂŒcksichtigung, dass Lineare Regression und Methoden ihrer Wiederherstellung eine obere Dreiecksmatrix ist, sieht das folgendermaßen aus:

Lineare Regression und Methoden ihrer Wiederherstellung

Das kann durch das Ersatzverfahren gelöst werden. Das Element Lineare Regression und Methoden ihrer Wiederherstellung wird gefunden als Lineare Regression und Methoden ihrer Wiederherstellung, das vorhergehende Element Lineare Regression und Methoden ihrer Wiederherstellung wird gefunden als Lineare Regression und Methoden ihrer Wiederherstellung und so weiter.

Hier sei darauf hingewiesen, dass die KomplexitÀt des erhaltenen Algorithmus durch die Verwendung der QR-Zerlegung gleich ist Lineare Regression und Methoden ihrer Wiederherstellung. Obwohl die Matrixmultiplikation gut parallelisierbar ist, ist es nicht möglich, eine effektive verteilte Version dieses Algorithmus zu schreiben.

Gradientenabstieg

Wenn wir ĂŒber die Minimierung einer bestimmten Funktion sprechen, sollte man immer an die Methode (stochastischer) Gradientabstieg denken. Dies ist eine einfache und effektive Methode zur Minimierung, die auf der iterativen Berechnung des Gradienten der Funktion an einem Punkt und der anschließenden Verschiebung in die entgegengesetzte Richtung des Gradienten basiert. Jeder solche Schritt bringt die Lösung nĂ€her an das Minimum. Der Gradient sieht dabei wie folgt aus:

Lineare Regression und Methoden ihrer Wiederherstellung

Diese Methode lĂ€sst sich ebenfalls gut parallelisieren und verteilen aufgrund der linearen Eigenschaften des Gradientenoperators. Beachten Sie, dass in der obigen Formel unter dem Summenzeichen unabhĂ€ngige Summanden stehen. Mit anderen Worten, wir können den Gradient unabhĂ€ngig fĂŒr alle Indizes Lineare Regression und Methoden ihrer Wiederherstellung von eins bis Lineare Regression und Methoden ihrer Wiederherstellung, parallel dazu den Gradient fĂŒr Indizes von Lineare Regression und Methoden ihrer Wiederherstellung bis Lineare Regression und Methoden ihrer Wiederherstellungberechnen. Dann summieren wir die erhaltenen Gradienten. Das Ergebnis dieser Summierung wird dasselbe sein, als hĂ€tten wir sofort den Gradient fĂŒr die Indizes von eins bis Lineare Regression und Methoden ihrer Wiederherstellungberechnet. Somit, wenn die Daten auf mehrere Datenteile verteilt sind, kann der Gradient unabhĂ€ngig auf jedem Teil berechnet werden, und die Ergebnisse dieser Berechnungen können dann zusammengefasst werden, um das endgĂŒltige Ergebnis zu erhalten:

Lineare Regression und Methoden ihrer Wiederherstellung

Aus Implementierungssicht passt dies in das Paradigma MapReduce. Bei jedem Schritt des Gradientabstiegs wird jedem Dataknoten eine Aufgabe zum Berechnen des Gradienten zugewiesen, dann werden die berechneten Gradienten gesammelt, und das Ergebnis ihrer Summierung wird verwendet, um das Ergebnis zu verbessern.

Trotz der einfachen Implementierung und der Möglichkeit der AusfĂŒhrung im MapReduce-Paradigma hat der Gradientensprung auch seine Nachteile. Insbesondere ist die Anzahl der Schritte, die zur Erreichung der Konvergenz erforderlich sind, im Vergleich zu anderen, spezialisierteren Methoden erheblich höher.

LSQR

LSQR ist eine weitere Methode zur Lösung der gestellten Aufgabe, die sowohl fĂŒr die Wiederherstellung der linearen Regression als auch zur Lösung von linearen Gleichungssystemen geeignet ist. Ihr Hauptmerkmal besteht darin, dass sie die Vorteile von Matrixmethoden und iterativen AnsĂ€tzen vereint. Implementierungen dieser Methode sind sowohl in Bibliotheken zu finden SciPy, als auch in MATLAB. Eine Beschreibung dieser Methode wird hier nicht gegeben (sie kann in dem Artikel gefunden werden LSQR: An algorithm for sparse linear equations and sparse least squares). Stattdessen wird ein Ansatz demonstriert, der es ermöglicht, LSQR an die AusfĂŒhrung in einer verteilten Umgebung anzupassen.

Die Grundlage der LSQR-Methode bildet ein Bidiagonalierungsverfahren. Dies ist ein iteratives Verfahren, bei dem jede Iteration aus den folgenden Schritten besteht:
Lineare Regression und Methoden ihrer Wiederherstellung

Wenn man jedoch davon ausgeht, dass die Matrix Lineare Regression und Methoden ihrer Wiederherstellung horizontal partitioniert ist, kann jede Iteration als zwei MapReduce-Schritte dargestellt werden. Dadurch lÀsst sich der Datenversand wÀhrend jeder Iteration minimieren (nur Vektoren der LÀnge, die der Anzahl der Unbekannten entspricht):

Lineare Regression und Methoden ihrer Wiederherstellung

Genau dieser Ansatz wird bei der Implementierung der linearen Regression in Apache Ignite ML.

Fazit

verwendet. Es gibt viele Algorithmen zur Wiederherstellung der linearen Regression, aber nicht alle können unter allen Bedingungen angewendet werden. So ist die QR-Zerlegung hervorragend fĂŒr exakte Lösungen auf kleinen Datenmengen geeignet. Der Gradientensprung lĂ€sst sich einfach umsetzen und ermöglicht es, schnell eine NĂ€herungslösung zu finden. LSQR vereint die besten Eigenschaften der beiden vorherigen Algorithmen, da es verteilt werden kann, schneller konvergiert als der Gradientensprung und auch eine vorzeitige Beendigung des Algorithmus ermöglicht, im Gegensatz zur QR-Zerlegung zur Suche nach einer NĂ€herungslösung.

Quelle: habr.com

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster