Gradienten- und Vektorableitungen: Zeilen- oder Spaltenvektor?

9

Viele Referenzen (einschließlich Wikipedia und http://www.atmos.washington.edu/~dennis/MatrixCalculus.pdf und http://michael.orlitzky.com/articles/the_derivative_of_a_quadratic_form.php ) definieren das Derivat von a Funktion durch einen Vektor als partielle Ableitungen der in einer Reihe angeordneten Funktion (eine Ableitung einer skalarwertigen Funktion ist also ein Zeilenvektor). In dieser Konvention sind der Gradient und die Vektorableitung Transponierungen voneinander. Der Vorteil dieser Konvention besteht darin, dass wir die Bedeutung der Ableitung als eine Funktion interpretieren können, die Ihnen die lineare Änderungsrate in jeder Richtung angibt. Der Gradient bleibt ein Vektor, er gibt die Richtung und Größe der größten Änderungsrate an.

Ich habe kürzlich Gentles Matrix-Algebra ( http://books.google.com/books/about/Matrix_Algebra.html?id=Pbz3D7Tg5eoC ) gelesen und er scheint eine andere Konvention zu verwenden, bei der der Gradient als gleich der resultierenden Vektorableitung definiert wird in einer Spaltenanordnung (also ist eine Ableitung einer skalarwertigen Funktion ein Spaltenvektor). Infolge dieser Anordnung ist jedes Differenzierungsergebnis die Transponierung des Ergebnisses in der anderen Konvention. Ich vermute hier, dass der Vorteil dieser Konvention nur darin besteht, dass der Gradient und die Ableitung gleich sind. Für Optimierungsaufgaben können Sie also einfach differenzieren, anstatt zu differenzieren und dann die Transponierung vorzunehmen.

Ich denke, die Spannung liegt zwischen Jacobian und Gradient. In der Zeilenkonvention folgt der Jacobi direkt aus der Definition der Ableitung, aber Sie müssen eine Transponierte anwenden, um den Gradienten zu erhalten. Während in der Spaltenkonvention der Gradient derjenige ist, der nicht transponiert werden muss, müssen Sie eine Transponierung anwenden, um den Jacobian zu erhalten. Wenn Sie das abgeleitete Ergebnis also lieber als lineare Abbildung betrachten möchten, ist die erste Konvention sinnvoll. Wenn Sie das Ergebnis lieber als Vektor / Richtung betrachten möchten, ist die zweite Konvention sinnvoll. Man muss also nur konsequent sein.

Welche dieser Konventionen wird beim maschinellen Lernen häufiger verwendet? Werde ich hoffnungslos verwirrt, wenn ich zu viel Zeit damit verbringe, Arbeit in der "falschen" Konvention zu lesen?

Simplefish
quelle
Möglicherweise im Zusammenhang mit math.stackexchange.com/questions/336640/… , wo im Grunde gesagt wird , dass die erste Konvention der richtige Weg ist, aber ich bin immer noch gespannt, was ich mit Gentles Konvention anfangen soll.
Simplefish
chrishecker.com/Column_vs_row_vectors ist ein starkes Argument für die erste Konvention.
Simplefish
In der Ökonometrie ist die Säulenanordnung die Konvention.
Tchakravarty
Ein unglaublich frustrierendes Beispiel für Mehrdeutigkeit in diesem Bereich ist Leutkepohls Zeitreihenlehrbuch. Er gibt niemals an, welche Notation für Zeilen- und Spaltenvektoren verwendet wird. Die einzige Möglichkeit, Gleichungen aus dem Buch zu verwenden, besteht darin, Beweise und Definitionen von Anfang bis Ende genau zu befolgen, was Aussagen über mehrere Buchkapitel hinweg beinhalten kann.
Shadowtalker

Antworten:

4

Wenn Sie eine lineare Abbildung zwischen Vektorräumen (wie die Jacobi) betrachten , die Elemente in der Form mit der Matrix-Vektor - zustimmen Definition : Die Komponenten von sind die inneren Produkte der Reihen von mit .v = J u v J uJ:uUvVv=JuvJu

In z. B. linearer Regression ist der (in diesem Fall skalare) Ausgaberaum eine gewichtete Kombination von Merkmalen: , was wiederum das innere Produkt erfordert.wu=v

Welche Konvention Sie letztendlich verwenden, spielt keine Rolle, solange Sie sie durchgehend beibehalten. Das Matrix-Kochbuch von Pedersen und Petersen ist eine eher trockene, aber definitiv informative Ressource.

ocramz
quelle
Ah ich sehe. Ich habe mir Gentles Definition des Jacobi genauer angesehen und sie ist in beiden Konventionen tatsächlich gleich und stimmt mit der Definition der Matrixdarstellung einer linearen Karte überein. Insbesondere gibt es unter der Spaltenkonvention den Begriff eines "Matrixgradienten", der die Transponierte des Jacobian unter der Zeilenkonvention ist. Aber in der Spaltenkonvention wird der Jacobi als genau diese Transponierte definiert, so dass die Matrixdefinition des Jacobian unter beiden Konventionen dieselbe ist! Es sind nur die eindimensionalen Entitäten, die unterschiedlich sind (Vektoren gegen lineare Abbildungen auf R).
Simplefish