Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grunnleggende lineær algebra | Matematikk med NumPy
Numpy-Grunnleggende
Seksjon 4. Kapittel 3
single

single

Grunnleggende lineær algebra

Sveip for å vise menyen

Lineær algebra er en grunnleggende gren av matematikken som spiller en avgjørende rolle innen ulike felt, inkludert maskinlæring, dyp læring og dataanalyse.

Vektorer og matriser

I lineær algebra er en vektor et ordnet sett med verdier. 1D NumPy-arrays kan effektivt representere vektorer. En matrise er et todimensjonalt array av tall, som kan representeres av et 2D-array i NumPy.

Du har allerede gått gjennom vektor- og matriseaddisjon og -subtraksjon, samt skalarmultiplikasjon, i kapittelet "Grunnleggende matematiske operasjoner". Her vil du fokusere på andre operasjoner.

Transponering

Transponering er en operasjon som speiler en matrise over dens diagonal. Med andre ord, den gjør radene i matrisen om til kolonner og kolonnene om til rader.

Transponering

Du kan transponere en matrise ved å bruke .T-attributtet til 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)

Prikkprodukt

Prikkproduktet er kanskje den mest brukte lineæralgebraoperasjonen innen maskinlæring og dyp læring. Prikkproduktet av to vektorer (som må ha likt antall elementer) er summen av deres elementvise produkter. Resultatet er en skalar:

Prikkprodukt

Matrise­multiplikasjon

Matrise­multiplikasjon er kun definert dersom antall kolonner i den første matrisen er likt antall rader i den andre matrisen. Den resulterende matrisen vil ha samme antall rader som den første matrisen og samme antall kolonner som den andre matrisen.

Matrisemultiplikasjon

Som du kan se, er hvert element i den resulterende matrisen skalarproduktet av to vektorer. Radnummeret til elementet tilsvarer nummeret til radvektoren i den første matrisen, og kolonnenummeret tilsvarer nummeret til kolonnevektoren i den andre matrisen.

Antall kolonner i den første matrisen må være likt antall rader i den andre matrisen, siden skalarproduktet krever at de to vektorene har samme antall elementer.

Skalarprodukt og matrisemultiplikasjon i NumPy

NumPy tilbyr funksjonen dot() for både skalarprodukt og matrisemultiplikasjon. Denne funksjonen tar to matriser som argumenter.

Du kan også bruke operatoren @ mellom to matriser for å oppnå 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øyre argument i matrise­multiplikasjon er en vektor (1D-array), behandler NumPy den som en matrise der siste dimensjon er 1. Når man multipliserer en 6x4 matrise med en vektor med 4 elementer, regnes vektoren som en 4x1 matrise.

Hvis venstre argument i matrise­multiplikasjon er en vektor, behandler NumPy den som en matrise der første dimensjon er 1. Når man multipliserer en vektor med 4 elementer med en 4x6 matrise, regnes vektoren som en 1x4 matrise.

Bildet under viser strukturen til arrayene exam_scores og coefficients brukt i oppgaven:

Eksamenskoeffisienter
Oppgave

Sveip for å begynne å kode

Hver students endelige poengsum beregnes ved å multiplisere deres fagpoeng med de respektive koeffisientene og summere resultatene. Prikkproduktet utfører begge operasjonene samtidig.

Beregn prikkproduktet mellom exam_scores og coefficients for å få sluttpoengene for alle tre studentene.

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 4. Kapittel 3
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

some-alt