Das dot product einer Matrix ist eine grundlegende lineare Algebra-Berechnung, die beim maschinellen Lernen verwendet wird, um Berechnungen bei zunehmenden Datenmengen effizienter zu gestalten. So wird es berechnet.
Daten werden in vielen verschiedenen Formaten gesammelt, von Zahlen über Bilder und Kategorien bis hin zu Schallwellen. Wir benötigen jedoch numerische Daten, um sie auf Computern analysieren zu können. Modelle für maschinelles Lernen und Deep Learning sind datenhungrig. Ihre Leistung hängt stark von der Datenmenge ab. Daher neigen wir dazu, so viele Daten wie möglich zu sammeln, um ein robustes und genaues Modell zu erstellen. Mit zunehmender Datenmenge werden die mit Skalaren durchgeführten Operationen ineffizient. Wir benötigen vektorisierte oder Matrixoperationen, um Berechnungen effizient durchzuführen. Hier kommt die lineare Algebra ins Spiel.
Die lineare Algebra ist eines der wichtigsten Themen im Bereich der Datenwissenschaft . In diesem Beitrag behandeln wir zwei grundlegende, aber sehr wichtige Operationen der linearen Algebra: dot product und Matrixmultiplikation. Diese grundlegenden Operationen sind die Bausteine komplexer Modelle für maschinelles Lernen und Deep Learning, daher ist es wichtig, sie zu verstehen.
So finden Sie das dot product
Das dot product zweier Vektoren ist die Summe der Produkte der Elemente in Bezug auf die Position. Das erste Element des ersten Vektors wird mit dem ersten Element des zweiten Vektors multipliziert und so weiter. Die Summe dieser Produkte ist das dot product, das mit der Funktion np.dot() berechnet werden kann.
Erstellen wir zunächst zwei einfache Vektoren in Form von NumPy- Arrays und berechnen das dot product.
Das dot product dieser beiden Vektoren ist die Summe der Produkte der Elemente an jeder Position. In diesem Fall ist das dot product (1*2)+(2*4)+(3*6).
Da wir Elemente an den gleichen Positionen multiplizieren, müssen die beiden Vektoren die gleiche Länge haben, um ein dot product zu erhalten.
So berechnen Sie eine dot product matrix
In der Datenwissenschaft beschäftigen wir uns hauptsächlich mit Matrizen. Eine Matrix ist eine Reihe von Zeilen- und Spaltenvektoren, die auf strukturierte Weise kombiniert werden. Daher umfasst die Multiplikation zweier Matrizen viele dot product operationen von Vektoren. Es wird klarer, wenn wir einige Beispiele durchgehen. Lassen Sie uns zunächst zwei 2×2-Matrizen mit NumPy erstellen.
Eine 2×2-Matrix hat zwei Zeilen und zwei Spalten. Der Index der Zeilen und Spalten beginnt mit Null. Beispielsweise ist die erste Zeile von A (Zeile mit Index Null) das Array von [4,2]. Die erste Spalte von A ist das Array von [4,0]. Das Element der ersten Zeile und der ersten Spalte ist vier. Wir können auf einzelne Zeilen, Spalten oder Elemente mit der folgenden NumPy-Syntax zugreifen.
Dies sind wichtige Konzepte, die man verstehen muss, um die Matrizenmultiplikation zu begreifen.
Bei der Multiplikation zweier Matrizen entstehen dot product zwischen der ersten Matrixzeile und den Spalten der zweiten Matrix. Der erste Schritt ist das dot product zwischen der ersten Zeile von A und der ersten Spalte von B. Das Ergebnis dieses dot product ist das Element der resultierenden Matrix an Position [0,0] (also erste Zeile, erste Spalte).
Die resultierende Matrix C hat also (4*4) + (2*1)in der ersten Zeile und der ersten Spalte ein . C[0,0] = 18.
Der nächste Schritt ist das dot product der ersten Zeile von A und der zweiten Spalte von B.
C hat ein (4*0) + (2*4)in der ersten Zeile und zweiten Spalte. C[0,1] = 8.
Die erste Reihe A ist fertig, also beginnen wir mit der zweiten Reihe von A und führen die gleichen Schritte aus.
C hat ein (0*4) + (3*1)in der zweiten Zeile und ersten Spalte. C[1,0] = 3.
Der letzte Schritt ist das dot product zwischen der zweiten Zeile von A und der zweiten Spalte von B.
C hat ein (0*0) + (3*4)in der zweiten Zeile und zweiten Spalte. C[1,1] = 12.
Wir haben jetzt gesehen, wie es Schritt für Schritt gemacht wird. Alle diese Operationen können auch mit einer np.dotOperation durchgeführt werden:
Wie Sie sich vielleicht von Vektor-dot product erinnern, müssen zwei Vektoren die gleiche Länge haben, um ein dot product zu erhalten. Jede dot product operation in einer Matrixmultiplikation muss dieser Regel folgen. dot product werden zwischen den Zeilen der ersten Matrix und den Spalten der zweiten Matrix durchgeführt. Daher müssen die Zeilen der ersten Matrix und die Spalten der zweiten Matrix die gleiche Länge haben.
Ich möchte hier einen wichtigen Punkt hervorheben: Die Länge einer Zeile entspricht der Anzahl der Spalten. Ebenso entspricht die Länge einer Spalte der Anzahl der Zeilen.
Betrachten Sie die folgende Matrix D:
D hat drei Zeilen und zwei Spalten, ist also eine 3×2-Matrix. Die Länge einer Zeile beträgt zwei, was der Anzahl der Spalten entspricht, und die Länge einer Spalte beträgt drei, was der Anzahl der Zeilen entspricht.
Das ist die lange Erklärung, aber der Punkt ist, dass, um eine Matrixmultiplikation durchführen zu können, die Anzahl der Spalten in der ersten Matrix gleich der Anzahl der Zeilen in der zweiten Matrix sein muss.
Beispielsweise können wir eine 3×2-Matrix mit einer 2×3-Matrix multiplizieren pseudocode.
Die Form der resultierenden Matrix ist 3×3, da wir für jede Zeile von A drei dot product operationen durchführen und A drei Zeilen hat. Eine einfache Möglichkeit, die Form der resultierenden Matrix zu bestimmen, besteht darin, die Anzahl der Zeilen aus der ersten und die Anzahl der Spalten aus der zweiten zu nehmen:
- Die Multiplikation von 3×2 und 2×3 ergibt 3×3.
- Die Multiplikation von 3×2 und 2×2 ergibt 3×2.
- Die Multiplikation mit 2×4 und 4×3 ergibt 2×3.
Wenn die besprochenen Bedingungen nicht erfüllt sind, ist eine Matrixmultiplikation unmöglich. Betrachten Sie die folgenden Matrizen C und D. Beide sind 3×2-Matrizen:
Wenn wir versuchen, sie zu multiplizieren, erhalten wir den folgenden Wertefehler:
Wir haben jetzt die grundlegenden, aber sehr fundamentalen Operationen der linearen Algebra behandelt. Diese grundlegenden Operationen sind die Bausteine komplexer Modelle für maschinelles Lernen und Deep Learning. Während des Optimierungsprozesses von Modellen werden viele Matrixmultiplikationsoperationen durchgeführt. Daher ist es sehr wichtig, auch die Grundlagen zu verstehen.