
Das Ziel dieses Artikels ist es, angehenden Datenwissenschaftlern Unterstützung zu bieten. In diesem Artikel haben wir drei Methoden zur Lösung der linearen Regressionsgleichung erläutert: analytische Lösung, Gradientenabstieg und stochastischer Gradientenabstieg. Für die analytische Lösung haben wir dann die Formel verwendet
. Wie im Titel angedeutet, werden wir in diesem Artikel die Anwendung dieser Formel begründen oder anders ausgedrückt, sie selbst ableiten.
Warum es sinnvoll ist, besonderes Augenmerk auf die Formel zu legen
?
In den meisten Fällen beginnt das Verständnis der linearen Regression genau mit der Matrixgleichung. Dabei sind ausführliche Ableitungen, wie die Formel hergeleitet wurde, selten zu finden.
Zum Beispiel in den Machine-Learning-Kursen von Yandex, wenn den Teilnehmern Regularisierung vorgestellt wird, wird empfohlen, Funktionen aus der Bibliothek zu verwenden. sklearn, wobei die matrixbasierte Darstellung des Algorithmus nicht erwähnt wird. Genau in diesem Moment könnte bei einigen Zuhörern der Wunsch entstehen, sich eingehender mit diesem Thema zu befassen – den Code ohne die Verwendung fertiger Funktionen zu schreiben. Dafür muss zunächst die Gleichung mit einem Regularisierer in matrixbasierter Form dargestellt werden. Dieser Artikel wird gerade denjenigen helfen, die solche Fähigkeiten erwerben möchten. Lassen Sie uns beginnen.
Ausgangsbedingungen
Zielvorgaben
Wir haben eine Reihe von Werten für die Zielvorgabe. Beispielsweise könnte die Zielvorgabe der Preis eines Vermögenswerts sein: Öl, Gold, Weizen, Dollar usw. Unter einer Reihe von Werten der Zielvorgabe verstehen wir die Anzahl der Beobachtungen. Solche Beobachtungen könnten beispielsweise die monatlichen Ölpreise über ein Jahr sein, das heißt, wir hätten 12 Werte für die Zielvorgabe. Lassen Sie uns mit den Bezeichnungen beginnen. Wir bezeichnen jeden Wert der Zielvorgabe als
. Insgesamt haben wir
Beobachtungen, sodass wir unsere Beobachtungen als
.
Regressoren darstellen können.
Lassen Sie uns annehmen, dass es Faktoren gibt, die bis zu einem gewissen Grad die Werte des Zielparameters erklären. Zum Beispiel hat der Ölpreis, die Federal Reserve-Zinsen und andere erheblichen Einfluss auf den Wechselkurs des Dollar/Rubels. Solche Faktoren nennt man Regressoren. Dabei muss jedem Wert des Zielparameters ein Wert des Regressors entsprechen. Wenn wir also 12 Zielparameter für jeden Monat im Jahr 2018 haben, müssen wir auch 12 Werte der Regressoren für denselben Zeitraum haben. Bezeichnen wir die Werte jedes Regressors mit
. Nehmen wir in unserem Fall an, dass es
Regressoren gibt (d.h.
Faktoren, die Einfluss auf die Werte des Zielparameters haben). Das bedeutet, unsere Regressoren lassen sich wie folgt darstellen: für den 1. Regressor (zum Beispiel den Ölpreis):
, für den 2. Regressor (zum Beispiel die Federal Reserve-Zinsen):
, für den '
-ten' Regressor: 
Die Abhängigkeit der Zielparameter von Regressoren
Angenommen, die Abhängigkeit des Zielparameters
von den Regressoren '
-ten' Beobachtungen kann durch eine Gleichung der linearen Regression des Typs ausgedrückt werden:

, wobei
— «
-ter' Wert des Regressors von 1 bis
,
— Anzahl der Regressoren von 1 bis 
— die Koeffizienten, die den Betrag darstellen, um den sich der berechnete Zielwert im Durchschnitt ändern wird, wenn sich der Regressor ändert.
Mit anderen Worten, wir bestimmen für jeden (außer
) Regressor seinen eigenen Koeffizienten
, dann multiplizieren wir die Koeffizienten mit den Werten der Regressoren des „
-ten“ Beobachtungswerts, wodurch wir eine Art Näherung des „
-ten“ Zielwerts erhalten.
Daher müssen wir solche Koeffizienten finden
, bei denen die Werte unserer approximierenden Funktion
möglichst nah an den Werten der Zielgrößen liegen.
Bewertung der Qualität der approximierenden Funktion
Wir werden die Bewertung der Qualität der approximierenden Funktion mit der Methode der kleinsten Quadrate bestimmen. Die Bewertungsfunktion hat in diesem Fall folgende Form:

Wir müssen solche Koeffizientenwerte $w$ finden, bei denen der Wert
am kleinsten ist.
Wir bringen die Gleichung in matrixform.
Vektorielle Darstellung
Um es uns zunächst einfacher zu machen, sollten wir auf die Gleichung der linearen Regression achten und feststellen, dass der erste Koeffizient
wird nicht mit einem Regressor multipliziert. Wenn wir die Daten in matrixform umwandeln, wird dieses Umstand die Berechnungen erheblich erschweren. In diesem Zusammenhang wird vorgeschlagen, einen zusätzlichen Regressor für den ersten Koeffizienten einzuführen.
und ihn auf Eins zu setzen. Genauer gesagt, jedes "
-te" Wert dieses Regressors auf Eins setzen – denn bei der Multiplikation mit Eins ändert sich aus Sicht der Berechnungsergebnisse nichts, aber aus der Perspektive der Matrizengesetze wird unser Aufwand erheblich reduziert.
Nun, um das Material zu vereinfachen, nehmen wir für eine Weile an, dass wir nur eine "
-te" Beobachtung haben. Dann stellen wir die Werte der Regressoren der "
-ten" Beobachtung als Vektor dar.
Der Vektor
hat die Dimension
, das heißt
Zeilen und 1 Spalte:

Die gesuchten Koeffizienten stellen wir in Form eines Vektors
dar, der die Dimension
:

hat. Die lineare Regressionsgleichung für die "
-te" Beobachtung lautet:

Die Bewertungsfunktion der linearen Modellqualität hat die Form:

Wir beachten, dass wir gemäß den Regeln der Matrizenmultiplikation den Vektor
.
transponieren mussten. Matrizendarstellung
Durch das Multipizieren von Vektoren erhalten wir die Zahl:
, was zu erwarten war. Diese Zahl ist die Annäherung an den "
-ten" Zielwert. Aber wir benötigen keine Annäherung an einen einzelnen Zielwert, sondern an alle. Dazu schreiben wir alle "
-ten" Regressoren in Matrixform.
Die resultierende Matrix hat die Dimension
:

Jetzt wird die Gleichung der linearen Regression wie folgt aussehen:

Lassen Sie uns die Werte der Zielkennzahlen (alle
) als Vektor bezeichnen.
Mit der Dimension
:

Jetzt können wir die Gleichung zur Bewertung der Qualität des linearen Modells in Matrixform aufschreiben:

Tatsächlich ergibt sich aus dieser Formel die uns bekannte Formel 
Wie wird das gemacht? Die Klammern werden aufgelöst, die Differenzierung durchgeführt, die erhaltenen Ausdrücke umgeformt usw., genau das werden wir jetzt tun.
Matrixtransformationen
Lösen wir die Klammern auf


Bereiten wir die Gleichung für die Differenzierung vor
Dazu führen wir einige Umformungen durch. In den nächsten Berechnungen wird es uns leichter fallen, wenn der Vektor
zu Beginn jedes Produkts in der Gleichung dargestellt wird.
Transformation 1

Wie ist das passiert? Um diese Frage zu beantworten, genügt es, sich die Dimensionen der multiplizierten Matrizen anzusehen und zu erkennen, dass wir als Ergebnis eine Zahl erhalten oder anders gesagt,
.
Fangen wir an, die Dimensionen der matrixbasierten Ausdrücke aufzuschreiben.



Transformation 2

Lassen Sie uns ähnlich wie bei Transformation 1 vorgehen.


Als Ergebnis erhalten wir eine Gleichung, die wir ableiten müssen:

Leiten Sie die Funktion zur Bewertung der Modellqualität ab.
Wir differenzieren bezüglich des Vektors.
:




Es sollte keine Fragen geben, aber wir werden die Ableitungen in zwei anderen Ausdrücken ausführlicher betrachten.
Differenzierung 1
Lassen Sie uns die Differenzierung aufschlüsseln:
Um die Ableitung einer Matrix oder eines Vektors zu bestimmen, müssen wir dessen Inhalt überprüfen. Schauen wir: 
Bezeichnen wir das Produkt der Matrizen



durch eine Matrix
. Die Matrix
ist quadratisch und darüber hinaus symmetrisch. Diese Eigenschaften werden uns später nützlich sein, behalten wir sie im Hinterkopf. Die Matrix
Jetzt besteht unsere Aufgabe darin, die Vektoren korrekt mit der Matrix zu multiplizieren und nicht "zwei mal zwei gibt fünf" zu erhalten, also konzentrieren wir uns und seien wir äußerst aufmerksam.
hat die Dimension
:

Теперь наша задача правильно перемножить вектора на матрицу и не получить «дважды два пять», поэтому сосредоточимся и будем предельно внимательны.




Doch, das ist eine ganz schön komplizierte Ausdrucksweise! Tatsächlich haben wir eine Zahl erhalten – einen Skalar. Und jetzt kommen wir wirklich zur Differenzierung. Wir müssen die Ableitung des erhaltenen Ausdrucks bezüglich jedes Koeffizienten finden.
und erhalten als Ergebnis einen Vektor der Dimension
. Zur Verdeutlichung werde ich die Schritte aufschreiben:
1) Differenzieren wir nach
, erhalten wir: 
2) Differenzieren wir nach
, erhalten wir: 
3) Differenzieren wir nach
, erhalten wir: 
Am Ende erhalten wir den versprochenen Vektor der Größe
:

Wenn wir den Vektor näher betrachten, können wir bemerken, dass die linken und entsprechenden rechten Elemente des Vektors so gruppiert werden können, dass wir letztendlich den Vektor
der Größe
. Zum Beispiel
(linkes Element der oberen Zeile des Vektors)
(rechtes Element der oberen Zeile des Vektors) kann dargestellt werden als
, und
– wie
usw. für jede Zeile. Lassen Sie uns gruppieren:

Wir ziehen den Vektor heraus
und erhalten als Ergebnis:

Jetzt betrachten wir die entstandene Matrix. Die Matrix stellt die Summe zweier Matrizen dar
:

Erinnern wir uns, dass wir vorhin ein wichtiges Merkmal der Matrix hervorgehoben haben.
— es ist symmetrisch. Aufgrund dieser Eigenschaft können wir mit Zuversicht behaupten, dass der Ausdruck
gleich ist
. Dies lässt sich ganz einfach überprüfen, indem wir das Produkt der Matrizen elementweise auflösen
. Wir werden dies hier nicht tun; interessierte Personen können die Überprüfung selbst durchführen.
Kehren wir zu unserem Ausdruck zurück. Nach unseren Transformationen sieht er genau so aus, wie wir ihn sehen wollten:

So, das erste Differenzieren haben wir geschafft. Kommen wir zum zweiten Ausdruck.
Differenzierung 2

Gehen wir den gewohnten Weg. Dieser wird viel kürzer sein als der vorherige, also bleiben Sie nicht zu weit vom Bildschirm entfernt.
Lassen Sie uns die Vektoren und die Matrix elementweise auflösen:



Lassen Sie die Zwei vorübergehend aus den Berechnungen weg — sie spielt keine große Rolle, wir bringen sie später zurück. Multiplikation der Vektoren mit der Matrix. Zuerst multiplizieren wir die Matrix
mit dem Vektor
, hier gibt es keine Einschränkungen. Wir erhalten einen Vektor der Größe
:

Führen wir den nächsten Schritt durch – multiplizieren wir den Vektor
mit dem erhaltenen Vektor. Am Ende erwartet uns eine Zahl:

Die werden wir differenzieren. Am Ende erhalten wir einen Vektor der Dimension
:

Kommt Ihnen das bekannt vor? Genau! Das ist das Produkt der Matrix
mit dem Vektor
.
So wurde die zweite Differenzierung erfolgreich abgeschlossen.
Abschließend
Jetzt wissen wir, wie es zu der Gleichheit kam.
.
Zum Schluss beschreiben wir den schnellen Weg zur Umwandlung der grundlegenden Formeln.
Bewerten wir die Modellqualität gemäß der Methode der kleinsten Quadrate:


Differenzieren wir den erhaltenen Ausdruck:


Literatur
Internetquellen:
1)
2)
3)
4)
Lehrbücher, Aufgabensammlungen:
1) Vorlesungsnotizen zur höheren Mathematik: vollständiger Kurs / D.T. Pismennyi – 4. Auflage – Moskau: Iris Press, 2006
2) Angewandte Regressionsanalyse / N. Draper, G. Smith – 2. Auflage – Moskau: Finanzen und Statistik, 1986 (Übersetzung aus dem Englischen)
3) Aufgaben zur Lösung von Matrixgleichungen:
Quelle: habr.com
