Lineare Regression und Methoden ihrer Wiederherstellung.

Lineare Regression und Methoden ihrer Wiederherstellung.
Quelle: xkcd

Die lineare Regression ist einer der grundlegenden Algorithmen fĂŒr viele Bereiche der Datenanalyse. Der Grund dafĂŒr ist offensichtlich. Es handelt sich um einen sehr einfachen und verstĂ€ndlichen Algorithmus, der seit vielen Jahrzehnten, wenn nicht Jahrhunderten, weit verbreitet ist. Die Idee besteht darin, eine lineare AbhĂ€ngigkeit einer Variablen von einer Reihe anderer Variablen anzunehmen und dann zu versuchen, diese AbhĂ€ngigkeit zu rekonstruieren.

In diesem Artikel geht es jedoch nicht um die Anwendung der linearen Regression zur Lösung praktischer Aufgaben. Wir werden interessante Aspekte der Implementierung verteilter Algorithmen zu ihrer Rekonstruktion betrachten, mit denen wir wÀhrend der Entwicklung des Machine-Learning-Moduls in Apache Ignite. Ein wenig Grundlagenwissen in Mathematik, den Grundprinzipien des maschinellen Lernens und der verteilten Berechnungen wird helfen, zu verstehen, wie man die lineare Regression rekonstruieren kann, selbst wenn die Daten auf Tausenden von Knoten verteilt sind.

Worum geht es?

Unser Ziel ist es, eine lineare AbhĂ€ngigkeit wiederherzustellen. Als Eingabedaten wird eine Menge von Vektoren bereitgestellt, von denen angenommen wird, dass sie unabhĂ€ngige Variablen darstellen, und jeder dieser Vektoren ist mit einem bestimmten Wert einer abhĂ€ngigen Variablen verknĂŒpft. Diese Daten können in Form von zwei Matrizen dargestellt werden:

Lineare Regression und Methoden ihrer Wiederherstellung.

Da eine AbhĂ€ngigkeit angenommen wird, und zwar eine lineare, drĂŒcken wir unsere Annahme in Form des Produkts von Matrizen aus (zur Vereinfachung wird hier und im Folgenden angenommen, dass der freie Term 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.

Das sieht sehr nach einem System linearer Gleichungen aus, nicht wahr? Es scheint so, aber wahrscheinlich hat ein solches Gleichungssystem keine Lösungen. Der Grund dafĂŒr ist das Rauschen, das in nahezu allen realen Daten vorhanden ist. Ein weiterer Grund kann das Fehlen einer linearen AbhĂ€ngigkeit an sich sein, gegen die man versuchen könnte, durch EinfĂŒhrung zusĂ€tzlicher Variablen vorzugehen, die nichtlinear von den ursprĂŒnglichen abhĂ€ngen. Betrachten wir folgendes 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 (entlang der Achse Lineare Regression und Methoden ihrer Wiederherstellung.). Damit das entsprechende System linearer Gleichungen eine Lösung hat, mĂŒssen alle Punkte genau auf einer Linie liegen. Das ist jedoch nicht der Fall. Und sie liegen nicht auf einer Linie genau wegen des Rauschens (oder weil die Annahme einer linearen AbhĂ€ngigkeit fehlerhaft war). Daher ist es ĂŒblich, eine weitere Annahme einzufĂŒhren, um die lineare AbhĂ€ngigkeit aus realen Daten wiederherzustellen: Die Eingabedaten enthalten Rauschen, und dieses Rauschen hat eine normale Verteilung. Man kann auch Annahmen ĂŒber andere Arten von Rauschverteilungen treffen, aber in der ĂŒberwiegenden Mehrheit der FĂ€lle wird tatsĂ€chlich die normale Verteilung betrachtet, ĂŒber die hier weiter gesprochen wird.

Das Maximum-Likelihood-Verfahren

Also haben wir das Vorhandensein von zufĂ€lligem, normalverteiltem Rauschen angenommen. Wie gehen wir in einer solchen Situation damit um? In der Mathematik gibt es hierfĂŒr ein Konzept, das weit verbreitet ist das Maximum-Likelihood-Verfahren. Kurz gesagt, es geht darum, der Likelihood-Funktion. und diese dann zu maximieren.

Kehren wir zurĂŒck zur Wiederherstellung der linearen AbhĂ€ngigkeit aus Daten mit normalem Rauschen. Beachten Sie, dass die angenommene lineare AbhĂ€ngigkeit das mathematische Erwartungswert darstellt. Lineare Regression und Methoden ihrer Wiederherstellung. eine normale Verteilung. Gleichzeitig ist die Wahrscheinlichkeit, dass Lineare Regression und Methoden ihrer Wiederherstellung. einen bestimmten Wert annimmt, unter der Annahme, dass beobachtbare Lineare Regression und Methoden ihrer Wiederherstellung., folgendermaßen aus:

Lineare Regression und Methoden ihrer Wiederherstellung.

Nun 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 der Vektor zu finden Lineare Regression und Methoden ihrer Wiederherstellung., bei dem diese Wahrscheinlichkeit maximal ist. Um eine solche Funktion zu maximieren, ist es sinnvoll, sie zunÀchst zu logarithmieren (der Logarithmus der Funktion erreicht sein Maximum an demselben Punkt wie die Funktion selbst):

Lineare Regression und Methoden ihrer Wiederherstellung.

Was wiederum darauf hinauslÀuft, die folgende Funktion zu minimieren:

Lineare Regression und Methoden ihrer Wiederherstellung.

Übrigens nennt man dies die Methode der kleinsten Quadrate.Oft werden alle oben genannten Überlegungen weggelassen und 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 folgendermaßen dargestellt:

Lineare Regression und Methoden ihrer Wiederherstellung.

QR-Zerlegung ist ein matrixbasierter Ansatz zur Lösung von Minimierungsproblemen, der in der Methode der kleinsten Quadrate verwendet wird. Daher 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 behandelt, nur seine Anwendung auf die gegebene Aufgabe):

Lineare Regression und Methoden ihrer Wiederherstellung.

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

Lineare Regression und Methoden ihrer Wiederherstellung.

Und wenn wir Lineare Regression und Methoden ihrer Wiederherstellung. findet man Lineare Regression und Methoden ihrer Wiederherstellung.ersetzen, dann erhalten wir Lineare Regression und Methoden ihrer Wiederherstellung.. Da Lineare Regression und Methoden ihrer Wiederherstellung. eine obere Dreiecksmatrix ist, sieht das folgendermaßen aus:

Lineare Regression und Methoden ihrer Wiederherstellung.

Dies kann mit der Substitutionsmethode gelöst werden. Das Element Lineare Regression und Methoden ihrer Wiederherstellung. liegt vor als Lineare Regression und Methoden ihrer Wiederherstellung., das vorherige Element Lineare Regression und Methoden ihrer Wiederherstellung. liegt vor als Lineare Regression und Methoden ihrer Wiederherstellung. usw.

Hier sei darauf hingewiesen, dass die KomplexitÀt des resultierenden Algorithmus aufgrund der Verwendung der QR-Zerlegung gleich ist Lineare Regression und Methoden ihrer Wiederherstellung.. Dabei ist es, obwohl die Matrixmultiplikation gut parallelisiert werden kann, nicht möglich, eine effiziente verteilte Version dieses Algorithmus zu schreiben.

Gradientenabstieg

Wenn es um die Minimierung einer bestimmten Funktion geht, sollte man immer die Methode des (stochastischen) Gradientenabstiegs im Hinterkopf behalten. Dies ist eine einfache und effektive Minimierungsmethode, die auf der iterativen Berechnung des Gradienten der Funktion an einem Punkt basiert und anschließend eine Verschiebung in die entgegengesetzte Richtung des Gradienten vornimmt. Jeder solche Schritt bringt die Lösung dem Minimum nĂ€her. Der Gradient sieht dabei weiterhin so aus:

Lineare Regression und Methoden ihrer Wiederherstellung.

Diese Methode lĂ€sst sich gut parallelisieren und verteilt dank der linearen Eigenschaften des Gradientoperators. Es ist zu beachten, dass in der oben genannten Formel unter dem Summenzeichen unabhĂ€ngige Summanden stehen. Mit anderen Worten, wir können den Gradient unabhĂ€ngig fĂŒr alle Indizes berechnen. Lineare Regression und Methoden ihrer Wiederherstellung. von eins bis Lineare Regression und Methoden ihrer Wiederherstellung., gleichzeitig den Gradienten fĂŒr die Indizes von Lineare Regression und Methoden ihrer Wiederherstellung. bis zu Lineare Regression und Methoden ihrer Wiederherstellung.zu berechnen. Anschließend werden die berechneten Gradienten addiert. Das Ergebnis der Addition ist dasselbe, als hĂ€tten wir den Gradienten direkt fĂŒr die Indizes von eins bis Lineare Regression und Methoden ihrer Wiederherstellung.berechnet. Somit kann, wenn die Daten auf mehrere Teile verteilt sind, der Gradient unabhĂ€ngig fĂŒr jeden Teil berechnet und die Ergebnisse dieser Berechnungen zur Erzielung des endgĂŒltigen Ergebnisses summiert werden:

Lineare Regression und Methoden ihrer Wiederherstellung.

Aus der Sicht der Implementierung passt dies in das Paradigma MapReduce. Bei jedem Schritt des Gradientenabstiegs wird jedem Datenknoten ein Auftrag zur Berechnung des Gradienten zugewiesen, dann werden die berechneten Gradienten zusammengefĂŒhrt, und das Ergebnis ihrer Summierung wird zur Verbesserung des Ergebnisses verwendet.

Trotz der Einfachheit der Implementierung und der Möglichkeit, im MapReduce-Paradigma ausgefĂŒhrt zu werden, hat der Gradientabstieg 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 ein weiterer Ansatz zur Lösung des Problems, der sowohl zur Wiederherstellung linearer Regressionen als auch zur Lösung von Systemen linearer Gleichungen geeignet ist. Sein Hauptmerkmal ist, dass es die Vorteile von Matrixmethoden und iterativen AnsĂ€tzen vereint. Implementierungen dieser Methode sind in Bibliotheken zu finden SciPyals 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 fĂŒr den Einsatz in einer verteilten Umgebung anzupassen.

Die Grundlage der LSQR-Methode ist die bidiagonalization. Dies ist ein iterativer Prozess, wobei jede Iteration aus den folgenden Schritten besteht:
Lineare Regression und Methoden ihrer Wiederherstellung.

Doch wenn man davon ausgeht, dass die Matrix Lineare Regression und Methoden ihrer Wiederherstellung. Wenn die Daten horizontal partitioniert sind, kann jede Iteration in zwei Schritte von MapReduce unterteilt werden. Dadurch wird die DatenĂŒbertragung wĂ€hrend jeder Iteration minimiert (nur Vektoren mit einer LĂ€nge, die der Anzahl der Unbekannten entspricht):

Lineare Regression und Methoden ihrer Wiederherstellung.

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

Fazit

Es gibt viele Algorithmen zur Wiederherstellung der linearen Regression, aber nicht alle können unter allen Bedingungen angewendet werden. Das QR-Zerlegungsverfahren eignet sich hervorragend fĂŒr die genaue Lösung bei kleinen DatensĂ€tzen. Der Gradientenabstieg lĂ€sst sich einfach umsetzen und ermöglicht eine schnelle AnnĂ€herung an die Lösung. LSQR kombiniert die besten Eigenschaften der beiden vorherigen Algorithmen, da er verteilbar ist, schneller konvergiert als der Gradientenabstieg und im Gegensatz zur QR-Zerlegung eine vorzeitige Beendigung des Algorithmus zur Suche nach einer Approximationslösung zulĂ€sst.

Quelle: habr.com

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster