Grundlegende Operationen: Lineare Algebra
Lineare Algebraoperationen
TensorFlow bietet eine Reihe von Funktionen für lineare Algebra-Operationen, die Matrixoperationen unkompliziert machen.
Matrixmultiplikation
Hier eine kurze Erinnerung daran, wie Matrixmultiplikation funktioniert.
Es gibt zwei gleichwertige Ansätze für die Matrixmultiplikation:
- Die Funktion
tf.matmul()
; - Die Verwendung des Operators
@
.
1234567891011121314import tensorflow as tf # Create two matrices matrix1 = tf.constant([[1, 2], [3, 4], [2, 1]]) matrix2 = tf.constant([[2, 0, 2, 5], [2, 2, 1, 3]]) # Multiply the matrices product1 = tf.matmul(matrix1, matrix2) product2 = matrix1 @ matrix2 # Display tensors print(product1) print('-' * 50) print(product2)
Die Multiplikation von Matrizen der Größe 3x2 und 2x4 ergibt eine Matrix der Größe 3x4.
Matrixinversion
Die Inverse einer Matrix kann mit der Funktion tf.linalg.inv()
berechnet werden. Zusätzlich wird eine grundlegende Eigenschaft der inversen Matrix überprüft.
123456789101112131415import tensorflow as tf # Create 2x2 matrix matrix = tf.constant([[1., 2.], [3., 4.]]) # Compute the inverse of a matrix inverse_mat = tf.linalg.inv(matrix) # Check the result identity = matrix @ inverse_mat # Display tensors print(inverse_mat) print('-' * 50) print(identity)
Das Multiplizieren einer Matrix mit ihrer Inversen sollte eine Einheitsmatrix ergeben, die Einsen auf der Hauptdiagonale und Nullen an allen anderen Stellen enthält. Zusätzlich bietet das Modul tf.linalg
eine breite Palette an linearen Algebra-Funktionen. Für weitere Details oder fortgeschrittene Operationen empfiehlt sich ein Blick in die offizielle Dokumentation.
Transponieren
Eine transponierte Matrix kann mit der Funktion tf.transpose()
erzeugt werden.
123456789101112import tensorflow as tf # Create a matrix 3x2 matrix = tf.constant([[1, 2], [3, 4], [2, 1]]) # Get the transpose of a matrix transposed = tf.transpose(matrix) # Display tensors print(matrix) print('-' * 40) print(transposed)
Skalarprodukt
Das Skalarprodukt kann mit der Funktion tf.tensordot()
berechnet werden. Durch Festlegen des Arguments axes kann ausgewählt werden, entlang welcher Achsen das Skalarprodukt berechnet wird. Zum Beispiel ergibt bei zwei Vektoren die Einstellung axes=1
das klassische Skalarprodukt zwischen Vektoren. Bei Einstellung von axes=0
wird eine Matrix entlang der 0-Achse gebroadcastet:
1234567891011121314import tensorflow as tf # Create two vectors matrix1 = tf.constant([1, 2, 3, 4]) matrix2 = tf.constant([2, 0, 2, 5]) # Compute the dot product of two tensors dot_product_axes1 = tf.tensordot(matrix1, matrix2, axes=1) dot_product_axes0 = tf.tensordot(matrix1, matrix2, axes=0) # Display tensors print(dot_product_axes1) print('-' * 40) print(dot_product_axes0)
Wenn Sie zwei Matrizen mit passenden Dimensionen (NxM @ MxK
, wobei NxM
die Dimensionen der ersten Matrix und MxK
die der zweiten darstellt) nehmen und das Skalarprodukt entlang axes=1
berechnen, wird im Wesentlichen eine Matrixmultiplikation durchgeführt.
Swipe to start coding
Hintergrund
Ein lineares Gleichungssystem kann in Matrixform durch die Gleichung dargestellt werden:
AX = B
Wobei:
A
eine Koeffizientenmatrix ist;X
eine Spaltenmatrix der Variablen ist;B
eine Spaltenmatrix darstellt, die die Werte auf der rechten Seite der Gleichungen enthält.
Die Lösung dieses Systems kann mit der Formel gefunden werden:
X = A^-1 B
Wobei A^-1
die Inverse der Matrix A
ist.
Zielsetzung
Gegeben ist ein lineares Gleichungssystem, das mit TensorFlow gelöst werden soll. Das folgende Gleichungssystem ist gegeben:
2x + 3y - z = 1
.4x + y + 2z = 2
.-x + 2y + 3z = 3
.

- Das Gleichungssystem in Matrixform darstellen (Aufteilung in die Matrizen
A
undB
). - Mit TensorFlow die Inverse der Matrix
A
berechnen. - Die Inverse der Matrix
A
mit der MatrixB
multiplizieren, um die LösungsmatrixX
zu erhalten, die die Werte fürx
,y
undz
enthält.
Hinweis
Das Slicing in TensorFlow funktioniert ähnlich wie in NumPy. Daher ruft
X[:, 0]
alle Elemente aus der Spalte mit dem Index0
ab. Auf das Slicing gehen wir später im Kurs noch genauer ein.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 5.56
Grundlegende Operationen: Lineare Algebra
Swipe um das Menü anzuzeigen
Lineare Algebraoperationen
TensorFlow bietet eine Reihe von Funktionen für lineare Algebra-Operationen, die Matrixoperationen unkompliziert machen.
Matrixmultiplikation
Hier eine kurze Erinnerung daran, wie Matrixmultiplikation funktioniert.
Es gibt zwei gleichwertige Ansätze für die Matrixmultiplikation:
- Die Funktion
tf.matmul()
; - Die Verwendung des Operators
@
.
1234567891011121314import tensorflow as tf # Create two matrices matrix1 = tf.constant([[1, 2], [3, 4], [2, 1]]) matrix2 = tf.constant([[2, 0, 2, 5], [2, 2, 1, 3]]) # Multiply the matrices product1 = tf.matmul(matrix1, matrix2) product2 = matrix1 @ matrix2 # Display tensors print(product1) print('-' * 50) print(product2)
Die Multiplikation von Matrizen der Größe 3x2 und 2x4 ergibt eine Matrix der Größe 3x4.
Matrixinversion
Die Inverse einer Matrix kann mit der Funktion tf.linalg.inv()
berechnet werden. Zusätzlich wird eine grundlegende Eigenschaft der inversen Matrix überprüft.
123456789101112131415import tensorflow as tf # Create 2x2 matrix matrix = tf.constant([[1., 2.], [3., 4.]]) # Compute the inverse of a matrix inverse_mat = tf.linalg.inv(matrix) # Check the result identity = matrix @ inverse_mat # Display tensors print(inverse_mat) print('-' * 50) print(identity)
Das Multiplizieren einer Matrix mit ihrer Inversen sollte eine Einheitsmatrix ergeben, die Einsen auf der Hauptdiagonale und Nullen an allen anderen Stellen enthält. Zusätzlich bietet das Modul tf.linalg
eine breite Palette an linearen Algebra-Funktionen. Für weitere Details oder fortgeschrittene Operationen empfiehlt sich ein Blick in die offizielle Dokumentation.
Transponieren
Eine transponierte Matrix kann mit der Funktion tf.transpose()
erzeugt werden.
123456789101112import tensorflow as tf # Create a matrix 3x2 matrix = tf.constant([[1, 2], [3, 4], [2, 1]]) # Get the transpose of a matrix transposed = tf.transpose(matrix) # Display tensors print(matrix) print('-' * 40) print(transposed)
Skalarprodukt
Das Skalarprodukt kann mit der Funktion tf.tensordot()
berechnet werden. Durch Festlegen des Arguments axes kann ausgewählt werden, entlang welcher Achsen das Skalarprodukt berechnet wird. Zum Beispiel ergibt bei zwei Vektoren die Einstellung axes=1
das klassische Skalarprodukt zwischen Vektoren. Bei Einstellung von axes=0
wird eine Matrix entlang der 0-Achse gebroadcastet:
1234567891011121314import tensorflow as tf # Create two vectors matrix1 = tf.constant([1, 2, 3, 4]) matrix2 = tf.constant([2, 0, 2, 5]) # Compute the dot product of two tensors dot_product_axes1 = tf.tensordot(matrix1, matrix2, axes=1) dot_product_axes0 = tf.tensordot(matrix1, matrix2, axes=0) # Display tensors print(dot_product_axes1) print('-' * 40) print(dot_product_axes0)
Wenn Sie zwei Matrizen mit passenden Dimensionen (NxM @ MxK
, wobei NxM
die Dimensionen der ersten Matrix und MxK
die der zweiten darstellt) nehmen und das Skalarprodukt entlang axes=1
berechnen, wird im Wesentlichen eine Matrixmultiplikation durchgeführt.
Swipe to start coding
Hintergrund
Ein lineares Gleichungssystem kann in Matrixform durch die Gleichung dargestellt werden:
AX = B
Wobei:
A
eine Koeffizientenmatrix ist;X
eine Spaltenmatrix der Variablen ist;B
eine Spaltenmatrix darstellt, die die Werte auf der rechten Seite der Gleichungen enthält.
Die Lösung dieses Systems kann mit der Formel gefunden werden:
X = A^-1 B
Wobei A^-1
die Inverse der Matrix A
ist.
Zielsetzung
Gegeben ist ein lineares Gleichungssystem, das mit TensorFlow gelöst werden soll. Das folgende Gleichungssystem ist gegeben:
2x + 3y - z = 1
.4x + y + 2z = 2
.-x + 2y + 3z = 3
.

- Das Gleichungssystem in Matrixform darstellen (Aufteilung in die Matrizen
A
undB
). - Mit TensorFlow die Inverse der Matrix
A
berechnen. - Die Inverse der Matrix
A
mit der MatrixB
multiplizieren, um die LösungsmatrixX
zu erhalten, die die Werte fürx
,y
undz
enthält.
Hinweis
Das Slicing in TensorFlow funktioniert ähnlich wie in NumPy. Daher ruft
X[:, 0]
alle Elemente aus der Spalte mit dem Index0
ab. Auf das Slicing gehen wir später im Kurs noch genauer ein.
Lösung
Danke für Ihr Feedback!
single