Kursinhalt
Ultimatives Numpy
Ultimatives Numpy
Grundlegende Lineare Algebra mit NumPy
Lineare Algebra ist ein grundlegender Zweig der Mathematik, der eine entscheidende Rolle in verschiedenen Bereichen spielt, einschließlich maschinelles Lernen, tiefes Lernen und Datenanalyse.
Vektoren und Matrizen
In der linearen Algebra ist ein Vektor eine geordnete Menge von Werten. 1D NumPy-Arrays können Vektoren effizient darstellen. Eine Matrix ist ein zweidimensionales Array von Zahlen, das durch ein 2D-Array in NumPy dargestellt werden kann.
Wir haben bereits die Vektor- und Matrixaddition und -subtraktion sowie die Skalarmultiplikation im Kapitel "Grundlegende mathematische Operationen" behandelt. Hier werden wir uns auf andere Operationen konzentrieren.
Transposition
Transposition ist eine Operation, die eine Matrix über ihre Diagonale spiegelt. Mit anderen Worten, sie wandelt die Zeilen der Matrix in Spalten und die Spalten in Zeilen um.
Sie können eine Matrix mit dem .T
Attribut eines NumPy Arrays transponieren:
import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
Skalarprodukt
Das Skalarprodukt ist vielleicht die am häufigsten verwendete lineare Algebraoperation im Bereich des maschinellen Lernens und des Deep Learnings. Das Skalarprodukt zweier Vektoren (die eine gleiche Anzahl von Elementen haben müssen) ist die Summe ihrer elementweisen Produkte. Das Ergebnis ist ein Skalar:
Matrixmultiplikation
Matrixmultiplikation ist nur definiert, wenn die Anzahl der Spalten in der ersten Matrix gleich der Anzahl der Zeilen in der zweiten Matrix ist. Die resultierende Matrix hat die gleiche Anzahl von Zeilen wie die erste Matrix und die gleiche Anzahl von Spalten wie die zweite Matrix.
Wie Sie sehen können, ist jedes Element der resultierenden Matrix das Skalarprodukt zweier Vektoren. Die Zeilennummer des Elements entspricht der Nummer des Zeilenvektors in der ersten Matrix, und die Spaltennummer entspricht der Nummer des Spaltenvektors in der zweiten Matrix.
Die Anzahl der Spalten in der ersten Matrix muss gleich der Anzahl der Zeilen in der zweiten Matrix sein, da das Skalarprodukt erfordert, dass die beiden Vektoren die gleiche Anzahl von Elementen haben.
Skalarprodukt und Matrixmultiplikation in NumPy
NumPy bietet die dot()
-Funktion sowohl für das Skalarprodukt als auch für die Matrixmultiplikation. Diese Funktion nimmt zwei Arrays als Argumente.
Sie können jedoch auch den @
Operator zwischen zwei Arrays verwenden, um die gleichen Ergebnisse zu erzielen.
import numpy as np vector_1 = np.array([1, 2, 3]) vector_2 = np.array([4, 5, 6]) # Dot product using the dot() function print(np.dot(vector_1, vector_2)) # Dot product using the @ operator print(vector_1 @ vector_2) matrix_1 = np.array([[1, 2, 3], [4, 5, 6]]) matrix_2 = np.array([[7, 10], [8, 11], [9, 12]]) # Matrix multiplication using the dot() function print(np.dot(matrix_1, matrix_2)) # Matrix multiplication using the @ operator print(matrix_1 @ matrix_2)
Wenn das rechte Argument bei der Matrixmultiplikation ein Vektor (1D-Array) ist, behandelt NumPy es als eine Matrix, bei der die letzte Dimension 1 ist. Zum Beispiel, wenn eine 6x4
Matrix mit einem Vektor mit 4
Elementen multipliziert wird, wird der Vektor als 4x1
Matrix betrachtet.
Wenn das linke Argument bei der Matrixmultiplikation ein Vektor ist, behandelt NumPy es als eine Matrix, bei der die erste Dimension 1 ist. Zum Beispiel, wenn ein Vektor mit 4
Elementen mit einer 4x6
Matrix multipliziert wird, wird der Vektor als 1x4
Matrix betrachtet.
Das untenstehende Bild zeigt die Struktur der exam_scores
und coefficients
Arrays, die in der Aufgabe verwendet werden:
Swipe to start coding
Sie arbeiten mit dem exam_scores
Array, das simulierte Prüfungsergebnisse von drei Studenten enthält (jede Zeile repräsentiert einen Studenten) über drei Fächer (jede Spalte repräsentiert ein Fach).
-
Multiplizieren Sie die Ergebnisse jeder Fachprüfung mit dem jeweiligen Koeffizienten.
-
Addieren Sie die resultierenden Ergebnisse für jeden Studenten, um ihre Endnote zu berechnen.
-
Berechnen Sie das Skalarprodukt zwischen
exam_scores
undcoefficients
.
Dies gibt Ihnen die Endnoten für alle Studenten basierend auf den gewichteten Beiträgen ihrer Fachnoten.
Lösung
Danke für Ihr Feedback!
Grundlegende Lineare Algebra mit NumPy
Lineare Algebra ist ein grundlegender Zweig der Mathematik, der eine entscheidende Rolle in verschiedenen Bereichen spielt, einschließlich maschinelles Lernen, tiefes Lernen und Datenanalyse.
Vektoren und Matrizen
In der linearen Algebra ist ein Vektor eine geordnete Menge von Werten. 1D NumPy-Arrays können Vektoren effizient darstellen. Eine Matrix ist ein zweidimensionales Array von Zahlen, das durch ein 2D-Array in NumPy dargestellt werden kann.
Wir haben bereits die Vektor- und Matrixaddition und -subtraktion sowie die Skalarmultiplikation im Kapitel "Grundlegende mathematische Operationen" behandelt. Hier werden wir uns auf andere Operationen konzentrieren.
Transposition
Transposition ist eine Operation, die eine Matrix über ihre Diagonale spiegelt. Mit anderen Worten, sie wandelt die Zeilen der Matrix in Spalten und die Spalten in Zeilen um.
Sie können eine Matrix mit dem .T
Attribut eines NumPy Arrays transponieren:
import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
Skalarprodukt
Das Skalarprodukt ist vielleicht die am häufigsten verwendete lineare Algebraoperation im Bereich des maschinellen Lernens und des Deep Learnings. Das Skalarprodukt zweier Vektoren (die eine gleiche Anzahl von Elementen haben müssen) ist die Summe ihrer elementweisen Produkte. Das Ergebnis ist ein Skalar:
Matrixmultiplikation
Matrixmultiplikation ist nur definiert, wenn die Anzahl der Spalten in der ersten Matrix gleich der Anzahl der Zeilen in der zweiten Matrix ist. Die resultierende Matrix hat die gleiche Anzahl von Zeilen wie die erste Matrix und die gleiche Anzahl von Spalten wie die zweite Matrix.
Wie Sie sehen können, ist jedes Element der resultierenden Matrix das Skalarprodukt zweier Vektoren. Die Zeilennummer des Elements entspricht der Nummer des Zeilenvektors in der ersten Matrix, und die Spaltennummer entspricht der Nummer des Spaltenvektors in der zweiten Matrix.
Die Anzahl der Spalten in der ersten Matrix muss gleich der Anzahl der Zeilen in der zweiten Matrix sein, da das Skalarprodukt erfordert, dass die beiden Vektoren die gleiche Anzahl von Elementen haben.
Skalarprodukt und Matrixmultiplikation in NumPy
NumPy bietet die dot()
-Funktion sowohl für das Skalarprodukt als auch für die Matrixmultiplikation. Diese Funktion nimmt zwei Arrays als Argumente.
Sie können jedoch auch den @
Operator zwischen zwei Arrays verwenden, um die gleichen Ergebnisse zu erzielen.
import numpy as np vector_1 = np.array([1, 2, 3]) vector_2 = np.array([4, 5, 6]) # Dot product using the dot() function print(np.dot(vector_1, vector_2)) # Dot product using the @ operator print(vector_1 @ vector_2) matrix_1 = np.array([[1, 2, 3], [4, 5, 6]]) matrix_2 = np.array([[7, 10], [8, 11], [9, 12]]) # Matrix multiplication using the dot() function print(np.dot(matrix_1, matrix_2)) # Matrix multiplication using the @ operator print(matrix_1 @ matrix_2)
Wenn das rechte Argument bei der Matrixmultiplikation ein Vektor (1D-Array) ist, behandelt NumPy es als eine Matrix, bei der die letzte Dimension 1 ist. Zum Beispiel, wenn eine 6x4
Matrix mit einem Vektor mit 4
Elementen multipliziert wird, wird der Vektor als 4x1
Matrix betrachtet.
Wenn das linke Argument bei der Matrixmultiplikation ein Vektor ist, behandelt NumPy es als eine Matrix, bei der die erste Dimension 1 ist. Zum Beispiel, wenn ein Vektor mit 4
Elementen mit einer 4x6
Matrix multipliziert wird, wird der Vektor als 1x4
Matrix betrachtet.
Das untenstehende Bild zeigt die Struktur der exam_scores
und coefficients
Arrays, die in der Aufgabe verwendet werden:
Swipe to start coding
Sie arbeiten mit dem exam_scores
Array, das simulierte Prüfungsergebnisse von drei Studenten enthält (jede Zeile repräsentiert einen Studenten) über drei Fächer (jede Spalte repräsentiert ein Fach).
-
Multiplizieren Sie die Ergebnisse jeder Fachprüfung mit dem jeweiligen Koeffizienten.
-
Addieren Sie die resultierenden Ergebnisse für jeden Studenten, um ihre Endnote zu berechnen.
-
Berechnen Sie das Skalarprodukt zwischen
exam_scores
undcoefficients
.
Dies gibt Ihnen die Endnoten für alle Studenten basierend auf den gewichteten Beiträgen ihrer Fachnoten.
Lösung
Danke für Ihr Feedback!