Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Basic Lineaire Algebra | Wiskunde met NumPy
Numpy Basisprincipes
Sectie 4. Hoofdstuk 3
single

single

Basic Lineaire Algebra

Veeg om het menu te tonen

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

Vectoren en matrices

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

Je hebt al optellen en aftrekken van vectoren en matrices, evenals vermenigvuldiging met een scalair behandeld in het hoofdstuk "Basis wiskundige bewerkingen". Hier ligt de focus op andere bewerkingen.

Transponeren

Transponeren is een bewerking waarbij een matrix over zijn diagonaal wordt gespiegeld. Met andere woorden, de rijen van de matrix worden omgezet in kolommen en de kolommen in rijen.

Transponeren

Een matrix kan getransponeerd worden met 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)

Inwendig product

Het inwendig product is wellicht de meest gebruikte lineaire algebraïsche bewerking in machine learning en deep learning. Het inwendig product van twee vectoren (die een gelijk aantal elementen moeten hebben) is de som van hun elementgewijze producten. Het resultaat is een scalar:

Inwendig product

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 heeft hetzelfde aantal rijen als de eerste matrix en hetzelfde aantal kolommen als de tweede matrix.

Matrixvermenigvuldiging

Zoals je kunt zien, is elk element van de resulterende matrix het inwendig product 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 inwendig product vereist dat de twee vectoren hetzelfde aantal elementen hebben.

Inwendig product en matrixvermenigvuldiging in NumPy

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

Je kunt echter ook de operator @ tussen twee arrays gebruiken om hetzelfde resultaat 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)

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

Als het linker argument bij matrixvermenigvuldiging een vector is, behandelt NumPy deze als een matrix waarbij de eerste dimensie 1 is. 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 arrays exam_scores en coefficients die in de opdracht worden gebruikt:

Examenscoëfficiënten
Taak

Veeg om te beginnen met coderen

De eindscore van elke student wordt berekend door hun vakcijfers te vermenigvuldigen met de respectievelijke coëfficiënten en de resultaten op te tellen. Het inwendig product voert beide bewerkingen tegelijk uit.

Bereken het inwendig product tussen exam_scores en coefficients om de eindscore voor alle drie de studenten te verkrijgen.

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

single

Vraag AI

expand

Vraag AI

ChatGPT

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

some-alt