Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Basis Lineaire Algebra met NumPy | Wiskunde met NumPy
Ultieme NumPy

Veeg om het menu te tonen

book
Basis Lineaire Algebra met NumPy

Lineaire algebra is een fundamentele tak van de wiskunde die een cruciale rol speelt in verschillende gebieden, waaronder machine learning, deep learning en data-analyse.

Vectoren en Matrices

In lineaire algebra is een vector een geordende reeks waarden. 1D NumPy-arrays kunnen efficiënt vectoren vertegenwoordigen. Een matrix is een tweedimensionale array van getallen, die kan worden weergegeven door een 2D-array in NumPy.

We hebben al vector- en matrixoptelling en -aftrekking behandeld, evenals scalaire vermenigvuldiging, in het hoofdstuk "Basis Wiskundige Bewerkingen". Hier zullen we ons richten op andere bewerkingen.

Transpositie

Transpositie is een bewerking die een matrix over zijn diagonaal omdraait. Met andere woorden, het zet de rijen van de matrix om in kolommen en de kolommen in rijen.

Je kunt een matrix transponeren met behulp van het .T attribuut van een 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

Dotproduct

Het dotproduct is misschien wel de meest gebruikte lineaire algebra operatie in machine- en deep learning. Het dotproduct van twee vectoren (die een gelijk aantal elementen moeten hebben) is de som van hun elementgewijze producten. Het resultaat is een scalaire:

Matrixvermenigvuldiging

Matrixvermenigvuldiging is alleen gedefinieerd als het aantal kolommen in de eerste matrix gelijk is aan het aantal rijen in de tweede matrix. De resulterende matrix zal hetzelfde aantal rijen hebben als de eerste matrix en hetzelfde aantal kolommen als de tweede matrix.

Zoals je kunt zien, is elk element van de resulterende matrix het dotproduct van twee vectoren. Het rijnummer van het element komt overeen met het nummer van de rijvector in de eerste matrix, en het kolomnummer komt overeen met het nummer van de kolomvector in de tweede matrix.

Het aantal kolommen in de eerste matrix moet gelijk zijn aan het aantal rijen in de tweede matrix, omdat het dotproduct vereist dat de twee vectoren hetzelfde aantal elementen hebben.

Dotproduct en Matrixvermenigvuldiging in NumPy

NumPy biedt de dot() functie voor zowel het dotproduct als matrixvermenigvuldiging. Deze functie neemt twee arrays als zijn argumenten.

Je kunt echter ook de @ operator tussen twee arrays gebruiken om dezelfde resultaten te bereiken.

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

Als het rechter argument in matrixvermenigvuldiging een vector (1D-array) is, behandelt NumPy het als een matrix waarbij de laatste dimensie 1 is. Bijvoorbeeld, bij het vermenigvuldigen van een 6x4 matrix met een vector met 4 elementen, wordt de vector beschouwd als een 4x1 matrix.

Als het linker argument in matrixvermenigvuldiging een vector is, behandelt NumPy het als een matrix waarbij de eerste dimensie 1 is. Bijvoorbeeld, bij het vermenigvuldigen van een vector met 4 elementen met een 4x6 matrix, wordt de vector behandeld als een 1x4 matrix.

De onderstaande afbeelding toont de structuur van de exam_scores en coefficients arrays die in de taak worden gebruikt:

Taak

Swipe to start coding

Je werkt met de exam_scores array, die gesimuleerde examencijfers van drie studenten bevat (elke rij vertegenwoordigt een student) over drie vakken (elke kolom vertegenwoordigt een vak).

  1. Vermenigvuldig de scores van elk vakexamen met de respectieve coëfficiënt.

  2. Tel de resulterende scores voor elke student op om hun eindscore te berekenen.

  3. Bereken het inwendig product tussen exam_scores en coefficients.

Dit geeft je de eindscores voor alle studenten op basis van de gewogen bijdragen van hun vak scores.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 4
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?

Vraag AI

expand
ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

book
Basis Lineaire Algebra met NumPy

Lineaire algebra is een fundamentele tak van de wiskunde die een cruciale rol speelt in verschillende gebieden, waaronder machine learning, deep learning en data-analyse.

Vectoren en Matrices

In lineaire algebra is een vector een geordende reeks waarden. 1D NumPy-arrays kunnen efficiënt vectoren vertegenwoordigen. Een matrix is een tweedimensionale array van getallen, die kan worden weergegeven door een 2D-array in NumPy.

We hebben al vector- en matrixoptelling en -aftrekking behandeld, evenals scalaire vermenigvuldiging, in het hoofdstuk "Basis Wiskundige Bewerkingen". Hier zullen we ons richten op andere bewerkingen.

Transpositie

Transpositie is een bewerking die een matrix over zijn diagonaal omdraait. Met andere woorden, het zet de rijen van de matrix om in kolommen en de kolommen in rijen.

Je kunt een matrix transponeren met behulp van het .T attribuut van een 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

Dotproduct

Het dotproduct is misschien wel de meest gebruikte lineaire algebra operatie in machine- en deep learning. Het dotproduct van twee vectoren (die een gelijk aantal elementen moeten hebben) is de som van hun elementgewijze producten. Het resultaat is een scalaire:

Matrixvermenigvuldiging

Matrixvermenigvuldiging is alleen gedefinieerd als het aantal kolommen in de eerste matrix gelijk is aan het aantal rijen in de tweede matrix. De resulterende matrix zal hetzelfde aantal rijen hebben als de eerste matrix en hetzelfde aantal kolommen als de tweede matrix.

Zoals je kunt zien, is elk element van de resulterende matrix het dotproduct van twee vectoren. Het rijnummer van het element komt overeen met het nummer van de rijvector in de eerste matrix, en het kolomnummer komt overeen met het nummer van de kolomvector in de tweede matrix.

Het aantal kolommen in de eerste matrix moet gelijk zijn aan het aantal rijen in de tweede matrix, omdat het dotproduct vereist dat de twee vectoren hetzelfde aantal elementen hebben.

Dotproduct en Matrixvermenigvuldiging in NumPy

NumPy biedt de dot() functie voor zowel het dotproduct als matrixvermenigvuldiging. Deze functie neemt twee arrays als zijn argumenten.

Je kunt echter ook de @ operator tussen twee arrays gebruiken om dezelfde resultaten te bereiken.

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

Als het rechter argument in matrixvermenigvuldiging een vector (1D-array) is, behandelt NumPy het als een matrix waarbij de laatste dimensie 1 is. Bijvoorbeeld, bij het vermenigvuldigen van een 6x4 matrix met een vector met 4 elementen, wordt de vector beschouwd als een 4x1 matrix.

Als het linker argument in matrixvermenigvuldiging een vector is, behandelt NumPy het als een matrix waarbij de eerste dimensie 1 is. Bijvoorbeeld, bij het vermenigvuldigen van een vector met 4 elementen met een 4x6 matrix, wordt de vector behandeld als een 1x4 matrix.

De onderstaande afbeelding toont de structuur van de exam_scores en coefficients arrays die in de taak worden gebruikt:

Taak

Swipe to start coding

Je werkt met de exam_scores array, die gesimuleerde examencijfers van drie studenten bevat (elke rij vertegenwoordigt een student) over drie vakken (elke kolom vertegenwoordigt een vak).

  1. Vermenigvuldig de scores van elk vakexamen met de respectieve coëfficiënt.

  2. Tel de resulterende scores voor elke student op om hun eindscore te berekenen.

  3. Bereken het inwendig product tussen exam_scores en coefficients.

Dit geeft je de eindscores voor alle studenten op basis van de gewogen bijdragen van hun vak scores.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 4
Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?
some-alt