Basis Lineaire Algebra met NumPy
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 representeren. Een matrix is een tweedimensionale array van getallen, die kan worden weergegeven door een 2D-array in NumPy.
We hebben vector- en matrixoptelling en -aftrekking, evenals scalair vermenigvuldigen, al behandeld in het hoofdstuk "Basiswiskundige bewerkingen". Hier richten we ons op andere bewerkingen.
Transponeren
Transponeren is een bewerking die een matrix over zijn diagonaal spiegelt. Met andere woorden, het zet de rijen van de matrix om in kolommen en de kolommen in rijen.
Een matrix kan worden getransponeerd met behulp van het .T-attribuut van een 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)
Inwendig product
Het inwendig product is waarschijnlijk 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:
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.
Zoals te zien is, 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 beide 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.
Daarnaast kan ook de operator @ tussen twee arrays worden gebruikt om hetzelfde resultaat te bereiken.
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)
Als het rechter argument bij matrixvermenigvuldiging een vector (1D-array) is, behandelt NumPy deze als een matrix waarbij de laatste dimensie 1 is. Bijvoorbeeld, 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. 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 arrays exam_scores en coefficients die in de opdracht worden gebruikt:
Swipe to start coding
Je werkt met de array exam_scores, die gesimuleerde examencijfers bevat van drie studenten (elke rij stelt een student voor) over drie vakken (elke kolom stelt een vak voor).
- Vermenigvuldig de cijfers van elk vakexamen met de respectievelijke coëfficiënt.
- Tel de resulterende cijfers voor elke student op om hun eindscore te berekenen.
- Bereken het inwendig product tussen
exam_scoresencoefficients.
Dit levert de eindscores op voor alle studenten, gebaseerd op de gewogen bijdragen van hun vakcijfers.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 3.7
Basis Lineaire Algebra met NumPy
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 representeren. Een matrix is een tweedimensionale array van getallen, die kan worden weergegeven door een 2D-array in NumPy.
We hebben vector- en matrixoptelling en -aftrekking, evenals scalair vermenigvuldigen, al behandeld in het hoofdstuk "Basiswiskundige bewerkingen". Hier richten we ons op andere bewerkingen.
Transponeren
Transponeren is een bewerking die een matrix over zijn diagonaal spiegelt. Met andere woorden, het zet de rijen van de matrix om in kolommen en de kolommen in rijen.
Een matrix kan worden getransponeerd met behulp van het .T-attribuut van een 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)
Inwendig product
Het inwendig product is waarschijnlijk 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:
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.
Zoals te zien is, 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 beide 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.
Daarnaast kan ook de operator @ tussen twee arrays worden gebruikt om hetzelfde resultaat te bereiken.
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)
Als het rechter argument bij matrixvermenigvuldiging een vector (1D-array) is, behandelt NumPy deze als een matrix waarbij de laatste dimensie 1 is. Bijvoorbeeld, 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. 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 arrays exam_scores en coefficients die in de opdracht worden gebruikt:
Swipe to start coding
Je werkt met de array exam_scores, die gesimuleerde examencijfers bevat van drie studenten (elke rij stelt een student voor) over drie vakken (elke kolom stelt een vak voor).
- Vermenigvuldig de cijfers van elk vakexamen met de respectievelijke coëfficiënt.
- Tel de resulterende cijfers voor elke student op om hun eindscore te berekenen.
- Bereken het inwendig product tussen
exam_scoresencoefficients.
Dit levert de eindscores op voor alle studenten, gebaseerd op de gewogen bijdragen van hun vakcijfers.
Oplossing
Bedankt voor je feedback!
single