Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Grundlegende Operationen: Lineare Algebra | Tensors
Einführung in TensorFlow

bookGrundlegende 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 @.
1234567891011121314
import 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)
copy
Note
Hinweis

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.

123456789101112131415
import 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)
copy
Note
Hinweis

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.

123456789101112
import 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)
copy

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:

1234567891011121314
import 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)
copy
Note
Hinweis

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.

Aufgabe

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:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Das Gleichungssystem in Matrixform darstellen (Aufteilung in die Matrizen A und B).
  2. Mit TensorFlow die Inverse der Matrix A berechnen.
  3. Die Inverse der Matrix A mit der Matrix B multiplizieren, um die Lösungsmatrix X zu erhalten, die die Werte für x, y und z enthält.

Hinweis

Das Slicing in TensorFlow funktioniert ähnlich wie in NumPy. Daher ruft X[:, 0] alle Elemente aus der Spalte mit dem Index 0 ab. Auf das Slicing gehen wir später im Kurs noch genauer ein.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 9
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

close

Awesome!

Completion rate improved to 5.56

bookGrundlegende 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 @.
1234567891011121314
import 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)
copy
Note
Hinweis

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.

123456789101112131415
import 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)
copy
Note
Hinweis

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.

123456789101112
import 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)
copy

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:

1234567891011121314
import 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)
copy
Note
Hinweis

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.

Aufgabe

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:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Das Gleichungssystem in Matrixform darstellen (Aufteilung in die Matrizen A und B).
  2. Mit TensorFlow die Inverse der Matrix A berechnen.
  3. Die Inverse der Matrix A mit der Matrix B multiplizieren, um die Lösungsmatrix X zu erhalten, die die Werte für x, y und z enthält.

Hinweis

Das Slicing in TensorFlow funktioniert ähnlich wie in NumPy. Daher ruft X[:, 0] alle Elemente aus der Spalte mit dem Index 0 ab. Auf das Slicing gehen wir später im Kurs noch genauer ein.

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 1. Kapitel 9
single

single

some-alt