Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Grundlagen der Linearen Algebra | Mathematik mit NumPy
Numpy-Grundlagen
Abschnitt 4. Kapitel 3
single

single

Grundlagen der Linearen Algebra

Swipe um das Menü anzuzeigen

Lineare Algebra ist ein grundlegender Zweig der Mathematik, der eine entscheidende Rolle in verschiedenen Bereichen spielt, darunter maschinelles Lernen, Deep Learning 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 Zahlenarray, das durch ein 2D-Array in NumPy dargestellt werden kann.

Die Addition und Subtraktion von Vektoren und Matrizen sowie die Skalare Multiplikation wurden bereits im Kapitel "Grundlegende mathematische Operationen" behandelt. Hier liegt der Fokus auf weiteren Operationen.

Transponieren

Transponieren ist eine Operation, die eine Matrix an ihrer Diagonalen spiegelt. Anders ausgedrückt, werden dabei die Zeilen der Matrix zu Spalten und die Spalten zu Zeilen.

Transposition

Eine Matrix kann mit dem Attribut .T eines NumPy-Arrays transponiert werden:

12345
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 möglicherweise die am häufigsten verwendete lineare Algebra-Operation im Bereich des maschinellen Lernens und Deep Learning. Das Skalarprodukt zweier Vektoren (die eine gleiche Anzahl an Elementen haben müssen) ist die Summe ihrer elementweisen Produkte. Das Ergebnis ist ein Skalar:

Skalarprodukt

Matrixmultiplikation

Matrixmultiplikation ist nur definiert, wenn die Anzahl der Spalten der ersten Matrix gleich der Anzahl der Zeilen der zweiten Matrix ist. Die resultierende Matrix hat die gleiche Anzahl an Zeilen wie die erste Matrix und die gleiche Anzahl an Spalten wie die zweite Matrix.

Matrixmultiplikation

Wie zu sehen ist, 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 beide Vektoren die gleiche Anzahl an Elementen haben.

Skalarprodukt und Matrixmultiplikation in NumPy

NumPy stellt die Funktion dot() sowohl für das Skalarprodukt als auch für die Matrixmultiplikation zur Verfügung. Diese Funktion nimmt zwei Arrays als Argumente entgegen.

Alternativ kann auch der Operator @ zwischen zwei Arrays verwendet werden, um das gleiche Ergebnis zu erzielen.

12345678910111213
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 diesen als Matrix, bei der die letzte Dimension 1 ist. Beim Multiplizieren einer 6x4-Matrix mit einem Vektor mit 4 Elementen wird der Vektor als 4x1-Matrix betrachtet.

Wenn das linke Argument bei der Matrixmultiplikation ein Vektor ist, behandelt NumPy diesen als Matrix, bei der die erste Dimension 1 ist. Beim Multiplizieren eines Vektors mit 4 Elementen mit einer 4x6-Matrix wird der Vektor als 1x4-Matrix behandelt.

Die folgende Abbildung zeigt die Struktur der Arrays exam_scores und coefficients, die in der Aufgabe verwendet werden:

Exams coefficients
Aufgabe

Wischen, um mit dem Codieren zu beginnen

Die Endnote jeder Schülerin und jedes Schülers wird berechnet, indem die Fachnoten mit den jeweiligen Koeffizienten multipliziert und die Ergebnisse aufsummiert werden. Das Skalarprodukt führt beide Operationen gleichzeitig aus.

Berechne das Skalarprodukt zwischen exam_scores und coefficients, um die Endnoten für alle drei Studierenden zu erhalten.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 3
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt