Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grundlæggende Lineær Algebra med NumPy | Matematik med NumPy
Ultimate NumPy

bookGrundlæggende Lineær Algebra med NumPy

Lineær algebra er en grundlæggende gren af matematik, der spiller en afgørende rolle inden for forskellige områder, herunder maskinlæring, dyb læring og dataanalyse.

Vektorer og matricer

I lineær algebra er en vektor et ordnet sæt af værdier. 1D NumPy-arrays kan effektivt repræsentere vektorer. En matrix er et todimensionelt array af tal, som kan repræsenteres af et 2D-array i NumPy.

Vi har allerede gennemgået vektor- og matrixaddition og -subtraktion samt skalarmultiplikation i kapitlet "Grundlæggende matematiske operationer". Her vil vi fokusere på andre operationer.

Transponering

Transponering er en operation, der vender en matrix over dens diagonal. Med andre ord omdanner den rækkerne i matricen til kolonner og kolonnerne til rækker.

Du kan transponere en matrix ved at bruge attributten .T på et NumPy array:

12345
import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
copy

Prikprodukt

Prikproduktet er sandsynligvis den mest anvendte lineære algebraoperation inden for maskinlæring og dyb læring. Prikproduktet af to vektorer (som skal have samme antal elementer) er summen af deres elementvise produkter. Resultatet er en skalar:

Matrixmultiplikation

Matrixmultiplikation er kun defineret, hvis antallet af kolonner i den første matrix er lig antallet af rækker i den anden matrix. Den resulterende matrix vil have samme antal rækker som den første matrix og samme antal kolonner som den anden matrix.

Som det kan ses, er hvert element i den resulterende matrix prikproduktet af to vektorer. Rækkenummeret for elementet svarer til nummeret på rækkevektoren i den første matrix, og kolonnenummeret svarer til nummeret på kolonnevektoren i den anden matrix.

Antallet af kolonner i den første matrix skal være lig antallet af rækker i den anden matrix, da prikproduktet kræver, at de to vektorer har samme antal elementer.

Prikprodukt og matrixmultiplikation i NumPy

NumPy tilbyder funktionen dot() til både prikprodukt og matrixmultiplikation. Denne funktion tager to arrays som argumenter.

Du kan dog også bruge operatoren @ mellem to arrays for at opnå samme resultat.

12345678910111213
import numpy as np vector_1 = np.array([1, 2, 3]) vector_2 = np.array([4, 5, 6]) # Dot product using the dot() function print(np.dot(vector_1, vector_2)) # Dot product using the @ operator print(vector_1 @ vector_2) matrix_1 = np.array([[1, 2, 3], [4, 5, 6]]) matrix_2 = np.array([[7, 10], [8, 11], [9, 12]]) # Matrix multiplication using the dot() function print(np.dot(matrix_1, matrix_2)) # Matrix multiplication using the @ operator print(matrix_1 @ matrix_2)
copy

Hvis højre argument i matrixmultiplikation er en vektor (1D-array), behandler NumPy den som en matrix, hvor sidste dimension er 1. For eksempel, når man multiplicerer en 6x4 matrix med en vektor med 4 elementer, betragtes vektoren som en 4x1 matrix.

Hvis venstre argument i matrixmultiplikation er en vektor, behandler NumPy den som en matrix, hvor første dimension er 1. For eksempel, når man multiplicerer en vektor med 4 elementer med en 4x6 matrix, behandles vektoren som en 1x4 matrix.

Billedet nedenfor viser strukturen af arraysene exam_scores og coefficients, der bruges i opgaven:

Opgave

Swipe to start coding

Du arbejder med arrayet exam_scores, som indeholder simulerede eksamensresultater for tre studerende (hver række repræsenterer en studerende) på tværs af tre fag (hver kolonne repræsenterer et fag).

  1. Multiplicer resultaterne for hver fagprøve med den respektive koefficient.
  2. Læg de resulterende point sammen for hver studerende for at beregne deres endelige score.
  3. Beregn prikproduktet mellem exam_scores og coefficients.

Dette giver dig de endelige resultater for alle studerende baseret på de vægtede bidrag fra deres fagresultater.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

Awesome!

Completion rate improved to 3.7

bookGrundlæggende Lineær Algebra med NumPy

Stryg for at vise menuen

Lineær algebra er en grundlæggende gren af matematik, der spiller en afgørende rolle inden for forskellige områder, herunder maskinlæring, dyb læring og dataanalyse.

Vektorer og matricer

I lineær algebra er en vektor et ordnet sæt af værdier. 1D NumPy-arrays kan effektivt repræsentere vektorer. En matrix er et todimensionelt array af tal, som kan repræsenteres af et 2D-array i NumPy.

Vi har allerede gennemgået vektor- og matrixaddition og -subtraktion samt skalarmultiplikation i kapitlet "Grundlæggende matematiske operationer". Her vil vi fokusere på andre operationer.

Transponering

Transponering er en operation, der vender en matrix over dens diagonal. Med andre ord omdanner den rækkerne i matricen til kolonner og kolonnerne til rækker.

Du kan transponere en matrix ved at bruge attributten .T på et NumPy array:

12345
import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
copy

Prikprodukt

Prikproduktet er sandsynligvis den mest anvendte lineære algebraoperation inden for maskinlæring og dyb læring. Prikproduktet af to vektorer (som skal have samme antal elementer) er summen af deres elementvise produkter. Resultatet er en skalar:

Matrixmultiplikation

Matrixmultiplikation er kun defineret, hvis antallet af kolonner i den første matrix er lig antallet af rækker i den anden matrix. Den resulterende matrix vil have samme antal rækker som den første matrix og samme antal kolonner som den anden matrix.

Som det kan ses, er hvert element i den resulterende matrix prikproduktet af to vektorer. Rækkenummeret for elementet svarer til nummeret på rækkevektoren i den første matrix, og kolonnenummeret svarer til nummeret på kolonnevektoren i den anden matrix.

Antallet af kolonner i den første matrix skal være lig antallet af rækker i den anden matrix, da prikproduktet kræver, at de to vektorer har samme antal elementer.

Prikprodukt og matrixmultiplikation i NumPy

NumPy tilbyder funktionen dot() til både prikprodukt og matrixmultiplikation. Denne funktion tager to arrays som argumenter.

Du kan dog også bruge operatoren @ mellem to arrays for at opnå samme resultat.

12345678910111213
import numpy as np vector_1 = np.array([1, 2, 3]) vector_2 = np.array([4, 5, 6]) # Dot product using the dot() function print(np.dot(vector_1, vector_2)) # Dot product using the @ operator print(vector_1 @ vector_2) matrix_1 = np.array([[1, 2, 3], [4, 5, 6]]) matrix_2 = np.array([[7, 10], [8, 11], [9, 12]]) # Matrix multiplication using the dot() function print(np.dot(matrix_1, matrix_2)) # Matrix multiplication using the @ operator print(matrix_1 @ matrix_2)
copy

Hvis højre argument i matrixmultiplikation er en vektor (1D-array), behandler NumPy den som en matrix, hvor sidste dimension er 1. For eksempel, når man multiplicerer en 6x4 matrix med en vektor med 4 elementer, betragtes vektoren som en 4x1 matrix.

Hvis venstre argument i matrixmultiplikation er en vektor, behandler NumPy den som en matrix, hvor første dimension er 1. For eksempel, når man multiplicerer en vektor med 4 elementer med en 4x6 matrix, behandles vektoren som en 1x4 matrix.

Billedet nedenfor viser strukturen af arraysene exam_scores og coefficients, der bruges i opgaven:

Opgave

Swipe to start coding

Du arbejder med arrayet exam_scores, som indeholder simulerede eksamensresultater for tre studerende (hver række repræsenterer en studerende) på tværs af tre fag (hver kolonne repræsenterer et fag).

  1. Multiplicer resultaterne for hver fagprøve med den respektive koefficient.
  2. Læg de resulterende point sammen for hver studerende for at beregne deres endelige score.
  3. Beregn prikproduktet mellem exam_scores og coefficients.

Dette giver dig de endelige resultater for alle studerende baseret på de vægtede bidrag fra deres fagresultater.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4
single

single

some-alt