Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Grundläggande Linjär Algebra med NumPy | Matematik med NumPy
Ultimata NumPy

Svep för att visa menyn

book
Grundläggande Linjär Algebra med NumPy

Linjär algebra är en grundläggande gren av matematik som spelar en avgörande roll inom olika områden, inklusive maskininlärning, djupinlärning och dataanalys.

Vektorer och Matriser

Inom linjär algebra är en vektor en ordnad uppsättning av värden. 1D NumPy-arrayer kan effektivt representera vektorer. En matris är en tvådimensionell array av siffror, som kan representeras av en 2D-array i NumPy.

Vi har redan täckt vektor- och matrisaddition och subtraktion, samt skalär multiplikation, i kapitlet "Grundläggande Matematiska Operationer". Här kommer vi att fokusera på andra operationer.

Transponering

Transponering är en operation som vänder en matris över dess diagonal. Med andra ord, den omvandlar raderna i matrisen till kolumner och kolumnerna till rader.

Du kan transponera en matris med hjälp av .T attributet av en 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

Punktprodukt

Punktprodukten är kanske den mest använda operationen inom linjär algebra i maskin- och djupinlärning. Punktprodukten av två vektorer (som måste ha ett lika antal element) är summan av deras elementvisa produkter. Resultatet är en skalar:

Matris Multiplikation

Matris multiplikation är endast definierad om antalet kolumner i den första matrisen är lika med antalet rader i den andra matrisen. Den resulterande matrisen kommer att ha samma antal rader som den första matrisen och samma antal kolumner som den andra matrisen.

Som du kan se, är varje element i den resulterande matrisen skalärprodukten av två vektorer. Radnumret för elementet motsvarar numret på radvektorn i den första matrisen, och kolumnnumret motsvarar numret på kolumnvektorn i den andra matrisen.

Antalet kolumner i den första matrisen måste vara lika med antalet rader i den andra matrisen, eftersom skalärprodukten kräver att de två vektorerna har samma antal element.

Skalärprodukt och Matris Multiplikation i NumPy

NumPy tillhandahåller funktionen dot() för både skalärprodukt och matris multiplikation. Denna funktion tar två arrayer som sina argument.

Du kan dock också använda @ operatorn mellan två arrayer för att uppnå samma 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

Om det högra argumentet i matris-multiplikation är en vektor (1D-array), behandlar NumPy det som en matris där den sista dimensionen är 1. Till exempel, när man multiplicerar en 6x4 matris med en vektor med 4 element, betraktas vektorn som en 4x1 matris.

Om det vänstra argumentet i matris-multiplikation är en vektor, behandlar NumPy det som en matris där den första dimensionen är 1. Till exempel, när man multiplicerar en vektor med 4 element med en 4x6 matris, betraktas vektorn som en 1x4 matris.

Bilden nedan visar strukturen av exam_scores och coefficients arrayerna som används i uppgiften:

Uppgift

Swipe to start coding

Du arbetar med exam_scores-arrayen, som innehåller simulerade provresultat för tre studenter (varje rad representerar en student) över tre ämnen (varje kolumn representerar ett ämne).

  1. Multiplicera poängen för varje ämnesprov med respektive koefficient.

  2. Lägg till de resulterande poängen för varje student för att beräkna deras slutgiltiga poäng.

  3. Beräkna skalärprodukten mellan exam_scores och coefficients.

Detta ger dig de slutgiltiga poängen för alla studenter baserat på de viktade bidragen av deras ämnespoäng.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 4
Vi beklagar att något gick fel. Vad hände?

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

book
Grundläggande Linjär Algebra med NumPy

Linjär algebra är en grundläggande gren av matematik som spelar en avgörande roll inom olika områden, inklusive maskininlärning, djupinlärning och dataanalys.

Vektorer och Matriser

Inom linjär algebra är en vektor en ordnad uppsättning av värden. 1D NumPy-arrayer kan effektivt representera vektorer. En matris är en tvådimensionell array av siffror, som kan representeras av en 2D-array i NumPy.

Vi har redan täckt vektor- och matrisaddition och subtraktion, samt skalär multiplikation, i kapitlet "Grundläggande Matematiska Operationer". Här kommer vi att fokusera på andra operationer.

Transponering

Transponering är en operation som vänder en matris över dess diagonal. Med andra ord, den omvandlar raderna i matrisen till kolumner och kolumnerna till rader.

Du kan transponera en matris med hjälp av .T attributet av en 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

Punktprodukt

Punktprodukten är kanske den mest använda operationen inom linjär algebra i maskin- och djupinlärning. Punktprodukten av två vektorer (som måste ha ett lika antal element) är summan av deras elementvisa produkter. Resultatet är en skalar:

Matris Multiplikation

Matris multiplikation är endast definierad om antalet kolumner i den första matrisen är lika med antalet rader i den andra matrisen. Den resulterande matrisen kommer att ha samma antal rader som den första matrisen och samma antal kolumner som den andra matrisen.

Som du kan se, är varje element i den resulterande matrisen skalärprodukten av två vektorer. Radnumret för elementet motsvarar numret på radvektorn i den första matrisen, och kolumnnumret motsvarar numret på kolumnvektorn i den andra matrisen.

Antalet kolumner i den första matrisen måste vara lika med antalet rader i den andra matrisen, eftersom skalärprodukten kräver att de två vektorerna har samma antal element.

Skalärprodukt och Matris Multiplikation i NumPy

NumPy tillhandahåller funktionen dot() för både skalärprodukt och matris multiplikation. Denna funktion tar två arrayer som sina argument.

Du kan dock också använda @ operatorn mellan två arrayer för att uppnå samma 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

Om det högra argumentet i matris-multiplikation är en vektor (1D-array), behandlar NumPy det som en matris där den sista dimensionen är 1. Till exempel, när man multiplicerar en 6x4 matris med en vektor med 4 element, betraktas vektorn som en 4x1 matris.

Om det vänstra argumentet i matris-multiplikation är en vektor, behandlar NumPy det som en matris där den första dimensionen är 1. Till exempel, när man multiplicerar en vektor med 4 element med en 4x6 matris, betraktas vektorn som en 1x4 matris.

Bilden nedan visar strukturen av exam_scores och coefficients arrayerna som används i uppgiften:

Uppgift

Swipe to start coding

Du arbetar med exam_scores-arrayen, som innehåller simulerade provresultat för tre studenter (varje rad representerar en student) över tre ämnen (varje kolumn representerar ett ämne).

  1. Multiplicera poängen för varje ämnesprov med respektive koefficient.

  2. Lägg till de resulterande poängen för varje student för att beräkna deras slutgiltiga poäng.

  3. Beräkna skalärprodukten mellan exam_scores och coefficients.

Detta ger dig de slutgiltiga poängen för alla studenter baserat på de viktade bidragen av deras ämnespoäng.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 4
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt