Was sind die Schritte, um die gewichtete Quadratsumme in eine Matrixform umzuwandeln?

8

Ich bin neu in der Konvertierung von Formeln in Matrixform. Dies ist jedoch für einen effizienten Code für maschinelles Lernen erforderlich. Also möchte ich den "richtigen" Weg verstehen, nicht das Cowboy-Zeug, das ich mache.

Okay, jetzt geht es los. Ich versuche, die gewichtete Quadratsumme aus der folgenden Form in eine Matrixform umzuwandeln. Ich sehe die Matrixform oft als äquivalent zu der folgenden, und es wird keine Erklärung gegeben, wie sie abgeleitet wird.

J(w)=i=1mui(wTxiyi)2

Dabei ist das Gewicht für jeden Stichprobenfehler . Außerdem ist , , , , . ist der vorhergesagte Wert, das Ergebnis der Multiplikation eines Gewichtsvektors mit einem Merkmalsvektor.uiixiRnwRnyRuiRi=1,...,mwTxi

Folgendes denke ich und werde kreativ. Fühlen Sie sich also frei, bis zum Ende zu springen, wenn ich eine Tangente mache.

Sei ein Spaltenvektor von Funktionen, der den nicht quadratischen Fehler darstellt. Wir können über as darstellenr(wTxiyi)2i=1,...,m

(1)r2=[r1r2rm][r1r2rm]

Die Ergebnisse des Vektors multipliziert mit dem Vektor sind eine Matrix (Skalar).1×mm×11×1

Sei ein Vektor von Gewichten, der jeden Stichprobenfehler wiegt. Da wir die quadratischen Fehler abwägen müssen, müssen wir in die Formel bevor wir den Skalar erhalten. Da wir wollen, dass das erste als Vektor bleibt , definieren wir als eine Diagonalmatrix, wobei die diagonalen Terme von . Wir haben nun:uu1r1×mUu

(2)J(w)=[r1r2rm][u1000u2000um][r1r2rm]

Wir können dies vereinfachen, um

(3)J(w)=rTUr

Jetzt erweitern wir . Wir hatten multipliziert mit , was uns gab, wobei X jetzt eine Matrix und ein Spaltenvektor ist. Sei y der Spaltenvektor, der die Bezeichnungen . Jetzt ist . Wir setzen dies in die Formel und geben uns die endgültige gewichtete Summe der Quadrate in Matrixform: rxiRnwRnXwm×nwn×1m×1y=1,...,mr=(Xwy)3

(4)J(w)=(Xwy)TU(Xwy)

Ist das zunächst sinnvoll? Zweitens, und was am wichtigsten ist, ist das eigentlich so, wie Sie es tun sollen?

Vielen Dank

Vega
quelle
1
Dies: math.stackexchange.com/questions/198257/… könnte Ihnen helfen!
kjetil b halvorsen
+1: Komisch, dass du denkst, du machst 'Cowboy-Zeug'. Dies ist genau der richtige Weg, obwohl ich es niemals so umfassend aufschreiben würde (so gute Arbeit!). Dies ist ein Kapitel eines Buches meines Ökonometrie-1-Kurses während meines Ökonometrie-Studiums. Seite 120 erklärt, wie Sie eine (einfache) Funktion in die Matrixnotation umschreiben, und Seite 121 ist Ihr Beispiel ohne die Gewichte (allerdings etwas andere Notation). Wenn ich mich richtig erinnere, behandelt ein anderes Kapitel auch WLS-Schätzer (was im Grunde Ihr Ausdruck ist).
Marcel10
Sieht gut für mich aus.
Matthew Gunn

Antworten:

1

Ich werde eine Antwort auf diese Frage wagen: Alles, was Sie präsentiert haben, ist korrekt.

Was Sie im Grunde genommen abgeleitet haben, ist das Gauß-Markov-Theorem: Der Schätzer für gewichtete kleinste Quadrate ist der beste lineare unverzerrte Schätzer für gewichtete Daten. Dieser Schätzer minimiert die gewichtete Quadratsumme (Ihre erste Anzeige) und ist gegeben durch: . Hier ist die Entwurfsmatrix, wobei die erste Spalte auf der Vektor von Einsen (dies ist der Intercept-Term).β^WLS=(XTWX)(XTWY)X1n×1

Dieses Ergebnis gilt für eine beliebige Kovarianzmatrix. Gewichtete unabhängige Daten werden jedoch mit einem Gewichtsvektor entlang der Diagonale der Gewichtsmatrix dargestellt. (Ihre Notation hat als Regressionskoeffizienten und als Gewicht. Um Verwirrung zu vermeiden, die Entwurfsmatrix und .wuX=[x],W=diag(u),β=[w]

Der Beweis des Gaußschen Markov-Theorems ist widersprüchlich. Siehe hier . Das bedeutet, dass wir einen solchen Schätzer nicht direkt aus der Verlustfunktion analytisch ableiten. Möglicherweise haben Sie einen solchen Ansatz gesehen, bei dem lineare und logistische Regressionsschätzungsgleichungen abgeleitet wurden.

AdamO
quelle