Lineær Algebra
Lineær algebra-operasjoner
TensorFlow tilbyr et sett med funksjoner dedikert til lineær algebra, 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.
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)
Multiplikasjon av matriser med størrelse 3x2 og 2x4 gir en matrise med størrelse 3x4.
Matriseinvers
Du kan finne inversen til en matrise ved å bruke funksjonen tf.linalg.inv(). La oss i tillegg verifisere en grunnleggende egenskap ved den inverse matrisen.
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)
Multiplikasjon av 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().
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
Du kan oppnå et skalarprodukt ved å bruke funksjonen tf.tensordot(). Ved å angi et argument for axes kan du velge langs hvilke akser skalarproduktet skal beregnes. For eksempel, for to vektorer vil du ved å sette axes=1 få det klassiske skalarproduktet mellom vektorer. Men ved å sette axes=0 vil du få en kringkastet matrise langs 0-aksen:
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)
Hvis du tar to matriser med passende dimensjoner (NxM @ MxK, der NxM representerer dimensjonene til den første matrisen og MxK den andre), og beregner prikkproduktet langs axes=1, utføres det i hovedsak matrisemultiplikasjon.
Swipe to start coding
Bakgrunn
Et system av lineære ligninger kan representeres i matriseform ved hjelp av ligningen:
AX = B
Hvor:
Aer en matrise med koeffisienter;Xer en kolonnematrise med variabler;Ber 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:
2x + 3y - z = 1.4x + y + 2z = 2.-x + 2y + 3z = 3.
- Representer ligningssystemet i matriseform (del det opp i matrisene
AogB). - Bruk TensorFlow til å finne inversen av matrisen
A. - Multipliser inversen av matrisen
Amed matrisenBfor å finne løsningsmatrisenX, som inneholder verdiene tilx,yogz.
Merk
Slicing i TensorFlow fungerer på samme måte som i NumPy. Derfor vil
X[:, 0]hente ut alle elementene fra kolonnen med indeks0. Vi kommer tilbake til slicing senere i kurset.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 6.25
Lineær Algebra
Sveip for å vise menyen
Lineær algebra-operasjoner
TensorFlow tilbyr et sett med funksjoner dedikert til lineær algebra, 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.
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)
Multiplikasjon av matriser med størrelse 3x2 og 2x4 gir en matrise med størrelse 3x4.
Matriseinvers
Du kan finne inversen til en matrise ved å bruke funksjonen tf.linalg.inv(). La oss i tillegg verifisere en grunnleggende egenskap ved den inverse matrisen.
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)
Multiplikasjon av 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().
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
Du kan oppnå et skalarprodukt ved å bruke funksjonen tf.tensordot(). Ved å angi et argument for axes kan du velge langs hvilke akser skalarproduktet skal beregnes. For eksempel, for to vektorer vil du ved å sette axes=1 få det klassiske skalarproduktet mellom vektorer. Men ved å sette axes=0 vil du få en kringkastet matrise langs 0-aksen:
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)
Hvis du tar to matriser med passende dimensjoner (NxM @ MxK, der NxM representerer dimensjonene til den første matrisen og MxK den andre), og beregner prikkproduktet langs axes=1, utføres det i hovedsak matrisemultiplikasjon.
Swipe to start coding
Bakgrunn
Et system av lineære ligninger kan representeres i matriseform ved hjelp av ligningen:
AX = B
Hvor:
Aer en matrise med koeffisienter;Xer en kolonnematrise med variabler;Ber 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:
2x + 3y - z = 1.4x + y + 2z = 2.-x + 2y + 3z = 3.
- Representer ligningssystemet i matriseform (del det opp i matrisene
AogB). - Bruk TensorFlow til å finne inversen av matrisen
A. - Multipliser inversen av matrisen
Amed matrisenBfor å finne løsningsmatrisenX, som inneholder verdiene tilx,yogz.
Merk
Slicing i TensorFlow fungerer på samme måte som i NumPy. Derfor vil
X[:, 0]hente ut alle elementene fra kolonnen med indeks0. Vi kommer tilbake til slicing senere i kurset.
Løsning
Takk for tilbakemeldingene dine!
single