Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grunnleggende Operasjoner: Lineær Algebra | Tensores
Introduksjon til TensorFlow

bookGrunnleggende Operasjoner: Lineær Algebra

Lineær algebra-operasjoner

TensorFlow tilbyr et sett med funksjoner dedikert til lineær algebra-operasjoner, noe som gjør matriseoperasjoner enkle.

Matrisemultiplikasjon

Her er en rask påminnelse om hvordan matrisemultiplikasjon fungerer.

Det finnes to likeverdige tilnærminger for matrisemultiplikasjon:

  • Funksjonen tf.matmul();
  • Bruk av @-operatoren.
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
Merk

Multiplikasjon av matriser med størrelse 3x2 og 2x4 vil gi en matrise på 3x4.

Matriseinvers

Du kan finne inversen til en matrise ved å bruke funksjonen tf.linalg.inv(). I tillegg skal vi verifisere en grunnleggende egenskap ved den inverse matrisen.

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
Merk

Å multiplisere en matrise med dens inverse skal gi en identitetsmatrise, som har énere på hoveddiagonalen og nuller ellers. I tillegg tilbyr tf.linalg-modulen et bredt utvalg av lineær algebra-funksjoner. For mer informasjon eller avanserte operasjoner, se gjerne offisiell dokumentasjon.

Transponering

En transponert matrise kan oppnås ved å bruke funksjonen 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

Skalarprodukt

Du kan oppnå et skalarprodukt ved å bruke funksjonen tf.tensordot(). Ved å angi argumentet axes kan du velge langs hvilke akser skalarproduktet skal beregnes. For eksempel, for to vektorer, ved å sette axes=1 får du det klassiske skalarproduktet mellom vektorer. Men når du setter axes=0, får du en broadcastet matrise langs 0-aksen:

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
Merk

Hvis du tar to matriser med passende dimensjoner (NxM @ MxK, hvor NxM representerer dimensjonene til den første matrisen og MxK den andre), og beregner prikkproduktet langs axes=1, utføres det i hovedsak matrise-multiplikasjon.

Oppgave

Swipe to start coding

Bakgrunn

Et system av lineære ligninger kan representeres i matriseform ved hjelp av ligningen:

AX = B

Hvor:

  • A er en matrise med koeffisienter;
  • X er en kolonnematrise med variabler;
  • B er en kolonnematrise som representerer verdiene på høyre side av ligningene.

Løsningen på dette systemet kan finnes ved hjelp av formelen:

X = A^-1 B

Hvor A^-1 er den inverse av matrisen A.

Mål

Gitt et system av lineære ligninger, bruk TensorFlow til å løse det. Du får følgende system av lineære ligninger:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Representer ligningssystemet i matriseform (del det opp i matrisene A og B).
  2. Bruk TensorFlow til å finne inversen av matrisen A.
  3. Multipliser inversen av matrisen A med matrisen B for å finne løsningsmatrisen X, som inneholder verdiene til x, y og z.

Merk

Slicing i TensorFlow fungerer på samme måte som i NumPy. Derfor vil X[:, 0] hente ut alle elementene fra kolonnen med indeks 0. Vi kommer tilbake til slicing senere i kurset.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 9
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

close

Awesome!

Completion rate improved to 5.56

bookGrunnleggende Operasjoner: Lineær Algebra

Sveip for å vise menyen

Lineær algebra-operasjoner

TensorFlow tilbyr et sett med funksjoner dedikert til lineær algebra-operasjoner, noe som gjør matriseoperasjoner enkle.

Matrisemultiplikasjon

Her er en rask påminnelse om hvordan matrisemultiplikasjon fungerer.

Det finnes to likeverdige tilnærminger for matrisemultiplikasjon:

  • Funksjonen tf.matmul();
  • Bruk av @-operatoren.
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
Merk

Multiplikasjon av matriser med størrelse 3x2 og 2x4 vil gi en matrise på 3x4.

Matriseinvers

Du kan finne inversen til en matrise ved å bruke funksjonen tf.linalg.inv(). I tillegg skal vi verifisere en grunnleggende egenskap ved den inverse matrisen.

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
Merk

Å multiplisere en matrise med dens inverse skal gi en identitetsmatrise, som har énere på hoveddiagonalen og nuller ellers. I tillegg tilbyr tf.linalg-modulen et bredt utvalg av lineær algebra-funksjoner. For mer informasjon eller avanserte operasjoner, se gjerne offisiell dokumentasjon.

Transponering

En transponert matrise kan oppnås ved å bruke funksjonen 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

Skalarprodukt

Du kan oppnå et skalarprodukt ved å bruke funksjonen tf.tensordot(). Ved å angi argumentet axes kan du velge langs hvilke akser skalarproduktet skal beregnes. For eksempel, for to vektorer, ved å sette axes=1 får du det klassiske skalarproduktet mellom vektorer. Men når du setter axes=0, får du en broadcastet matrise langs 0-aksen:

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
Merk

Hvis du tar to matriser med passende dimensjoner (NxM @ MxK, hvor NxM representerer dimensjonene til den første matrisen og MxK den andre), og beregner prikkproduktet langs axes=1, utføres det i hovedsak matrise-multiplikasjon.

Oppgave

Swipe to start coding

Bakgrunn

Et system av lineære ligninger kan representeres i matriseform ved hjelp av ligningen:

AX = B

Hvor:

  • A er en matrise med koeffisienter;
  • X er en kolonnematrise med variabler;
  • B er en kolonnematrise som representerer verdiene på høyre side av ligningene.

Løsningen på dette systemet kan finnes ved hjelp av formelen:

X = A^-1 B

Hvor A^-1 er den inverse av matrisen A.

Mål

Gitt et system av lineære ligninger, bruk TensorFlow til å løse det. Du får følgende system av lineære ligninger:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Representer ligningssystemet i matriseform (del det opp i matrisene A og B).
  2. Bruk TensorFlow til å finne inversen av matrisen A.
  3. Multipliser inversen av matrisen A med matrisen B for å finne løsningsmatrisen X, som inneholder verdiene til x, y og z.

Merk

Slicing i TensorFlow fungerer på samme måte som i NumPy. Derfor vil X[:, 0] hente ut alle elementene fra kolonnen med indeks 0. Vi kommer tilbake til slicing senere i kurset.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 9
single

single

some-alt