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 | Matematik med NumPy
Numpy-Grundlæggende
Sektion 4. Kapitel 3
single

single

Grundlæggende Lineær Algebra

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.

Du har allerede gennemgået vektor- og matrixaddition og -subtraktion samt skalarmultiplikation i kapitlet "Grundlæggende matematiske operationer". Her vil du 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.

Transponering

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)

Prikprodukt

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

Prikprodukt

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.

Matrixmultiplikation

Som du kan se, 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)

Hvis højre argument i matrixmultiplikation er en vektor (1D-array), behandler NumPy den som en matrix, hvor sidste dimension er 1. 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. 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, som bruges i opgaven:

Eksamens koefficienter
Opgave

Swipe to start coding

Hver elevs endelige score beregnes ved at multiplicere deres faglige resultater med de respektive koefficienter og summere resultaterne. Prikproduktet udfører begge operationer på én gang.

Beregn prikproduktet mellem exam_scores og coefficients for at få de endelige scores for alle tre elever.

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 3
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

some-alt