Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Lineaire Algebra | Tensor Operations and Execution
Quizzes & Challenges
Quizzes
Challenges
/
Introductie tot TensorFlow

bookLineaire Algebra

Lineaire algebra-bewerkingen

TensorFlow biedt een reeks functies die zijn toegewijd aan lineaire algebra-bewerkingen, waardoor matrixbewerkingen eenvoudig worden.

Matrixvermenigvuldiging

Hier volgt een korte herinnering aan hoe matrixvermenigvuldiging werkt.

Er zijn twee gelijkwaardige benaderingen voor matrixvermenigvuldiging:

  • De functie tf.matmul();
  • Het gebruik van de @-operator.
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
Opmerking

Vermenigvuldiging van matrices met afmetingen 3x2 en 2x4 resulteert in een matrix van 3x4.

Matrixinversie

De inverse van een matrix kan worden verkregen met de functie tf.linalg.inv(). Laten we daarnaast een fundamentele eigenschap van de inverse matrix verifiëren.

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
Opmerking

Het vermenigvuldigen van een matrix met zijn inverse levert een identiteitsmatrix op, die enen op de hoofddiagonaal en nullen elders bevat. Daarnaast biedt de module tf.linalg een breed scala aan lineaire algebra functies. Voor meer informatie of geavanceerdere bewerkingen, raadpleeg de officiële documentatie.

Transponeren

Een getransponeerde matrix verkrijgen met de functie tf.transpose().

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

Inwendig product

Het inwendig product kan worden verkregen met de functie tf.tensordot(). Door het instellen van een axes-argument kan worden gekozen langs welke assen het inwendig product wordt berekend. Bijvoorbeeld, voor twee vectoren levert axes=1 het klassieke inwendig product tussen vectoren op. Bij het instellen van axes=0 wordt een gebroadcast matrix langs as 0 verkregen:

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
Opmerking

Als je twee matrices met geschikte afmetingen (NxM @ MxK, waarbij NxM de afmetingen van de eerste matrix en MxK die van de tweede matrix zijn) neemt en het dotproduct berekent over axes=1, voer je in wezen matrixvermenigvuldiging uit.

Taak

Swipe to start coding

Achtergrond

Een stelsel van lineaire vergelijkingen kan in matrixvorm worden weergegeven met de vergelijking:

AX = B

Waarbij:

  • A een matrix van coëfficiënten is;
  • X een kolommatrix van variabelen is;
  • B een kolommatrix is die de waarden aan de rechterkant van de vergelijkingen weergeeft.

De oplossing voor dit stelsel kan worden gevonden met de formule:

X = A^-1 B

Waarbij A^-1 de inverse is van matrix A.

Doelstelling

Gegeven een stelsel van lineaire vergelijkingen, gebruik TensorFlow om dit op te lossen. Je krijgt het volgende stelsel van lineaire vergelijkingen:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Zet het stelsel van vergelijkingen om in matrixvorm (splits het in matrices A en B).
  2. Gebruik TensorFlow om de inverse van matrix A te vinden.
  3. Vermenigvuldig de inverse van matrix A met matrix B om de oplossingsmatrix X te vinden, die de waarden van x, y en z bevat.

Opmerking

Slicen in TensorFlow werkt vergelijkbaar met NumPy. Daarom haalt X[:, 0] alle elementen op uit de kolom met index 0. We zullen later in de cursus verder ingaan op slicing.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 2
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you explain the difference between tf.matmul() and the @ operator?

How do I know when to use tf.tensordot() instead of tf.matmul()?

Can you provide more examples of matrix operations in TensorFlow?

close

Awesome!

Completion rate improved to 6.25

bookLineaire Algebra

Veeg om het menu te tonen

Lineaire algebra-bewerkingen

TensorFlow biedt een reeks functies die zijn toegewijd aan lineaire algebra-bewerkingen, waardoor matrixbewerkingen eenvoudig worden.

Matrixvermenigvuldiging

Hier volgt een korte herinnering aan hoe matrixvermenigvuldiging werkt.

Er zijn twee gelijkwaardige benaderingen voor matrixvermenigvuldiging:

  • De functie tf.matmul();
  • Het gebruik van de @-operator.
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
Opmerking

Vermenigvuldiging van matrices met afmetingen 3x2 en 2x4 resulteert in een matrix van 3x4.

Matrixinversie

De inverse van een matrix kan worden verkregen met de functie tf.linalg.inv(). Laten we daarnaast een fundamentele eigenschap van de inverse matrix verifiëren.

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
Opmerking

Het vermenigvuldigen van een matrix met zijn inverse levert een identiteitsmatrix op, die enen op de hoofddiagonaal en nullen elders bevat. Daarnaast biedt de module tf.linalg een breed scala aan lineaire algebra functies. Voor meer informatie of geavanceerdere bewerkingen, raadpleeg de officiële documentatie.

Transponeren

Een getransponeerde matrix verkrijgen met de functie tf.transpose().

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

Inwendig product

Het inwendig product kan worden verkregen met de functie tf.tensordot(). Door het instellen van een axes-argument kan worden gekozen langs welke assen het inwendig product wordt berekend. Bijvoorbeeld, voor twee vectoren levert axes=1 het klassieke inwendig product tussen vectoren op. Bij het instellen van axes=0 wordt een gebroadcast matrix langs as 0 verkregen:

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
Opmerking

Als je twee matrices met geschikte afmetingen (NxM @ MxK, waarbij NxM de afmetingen van de eerste matrix en MxK die van de tweede matrix zijn) neemt en het dotproduct berekent over axes=1, voer je in wezen matrixvermenigvuldiging uit.

Taak

Swipe to start coding

Achtergrond

Een stelsel van lineaire vergelijkingen kan in matrixvorm worden weergegeven met de vergelijking:

AX = B

Waarbij:

  • A een matrix van coëfficiënten is;
  • X een kolommatrix van variabelen is;
  • B een kolommatrix is die de waarden aan de rechterkant van de vergelijkingen weergeeft.

De oplossing voor dit stelsel kan worden gevonden met de formule:

X = A^-1 B

Waarbij A^-1 de inverse is van matrix A.

Doelstelling

Gegeven een stelsel van lineaire vergelijkingen, gebruik TensorFlow om dit op te lossen. Je krijgt het volgende stelsel van lineaire vergelijkingen:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Zet het stelsel van vergelijkingen om in matrixvorm (splits het in matrices A en B).
  2. Gebruik TensorFlow om de inverse van matrix A te vinden.
  3. Vermenigvuldig de inverse van matrix A met matrix B om de oplossingsmatrix X te vinden, die de waarden van x, y en z bevat.

Opmerking

Slicen in TensorFlow werkt vergelijkbaar met NumPy. Daarom haalt X[:, 0] alle elementen op uit de kolom met index 0. We zullen later in de cursus verder ingaan op slicing.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 2
single

single

some-alt