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.
Du kan transponere en matrise ved å bruke .T-attributtet til et NumPy-array:
12345import 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:
Matrisemultiplikasjon
Matrisemultiplikasjon 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.
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.
12345678910111213import 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 matrisemultiplikasjon 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 matrisemultiplikasjon 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:
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
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