Algèbre Linéaire de Base avec NumPy
L’algèbre linéaire est une branche fondamentale des mathématiques qui joue un rôle crucial dans divers domaines, notamment l’apprentissage automatique, l’apprentissage profond et l’analyse de données.
Vecteurs et matrices
En algèbre linéaire, un vecteur est un ensemble ordonné de valeurs. Les tableaux NumPy 1D peuvent représenter efficacement les vecteurs. Une matrice est un tableau à deux dimensions de nombres, qui peut être représenté par un tableau 2D dans NumPy.
L’addition et la soustraction de vecteurs et de matrices, ainsi que la multiplication par un scalaire, ont déjà été abordées dans le chapitre « Opérations mathématiques de base ». Ici, d’autres opérations seront présentées.
Transposition
La transposition est une opération qui retourne une matrice par rapport à sa diagonale. Autrement dit, elle convertit les lignes de la matrice en colonnes et les colonnes en lignes.
Vous pouvez transposer une matrice en utilisant l'attribut .T d'un tableau NumPy :
12345import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
Produit scalaire
Le produit scalaire est sans doute l'opération d'algèbre linéaire la plus couramment utilisée en apprentissage automatique et profond. Le produit scalaire de deux vecteurs (qui doivent avoir un nombre égal d'éléments) correspond à la somme de leurs produits élément par élément. Le résultat est un scalaire :
Multiplication de matrices
La multiplication de matrices n'est définie que si le nombre de colonnes de la première matrice est égal au nombre de lignes de la seconde matrice. La matrice résultante aura le même nombre de lignes que la première matrice et le même nombre de colonnes que la seconde matrice.
Comme vous pouvez le constater, chaque élément de la matrice résultante est le produit scalaire de deux vecteurs. Le numéro de ligne de l'élément correspond au numéro du vecteur ligne dans la première matrice, et le numéro de colonne correspond au numéro du vecteur colonne dans la seconde matrice.
Le nombre de colonnes dans la première matrice doit être égal au nombre de lignes dans la seconde matrice, car le produit scalaire exige que les deux vecteurs aient le même nombre d'éléments.
Produit scalaire et multiplication de matrices avec NumPy
NumPy fournit la fonction dot() pour le produit scalaire et la multiplication de matrices. Cette fonction prend deux tableaux comme arguments.
Cependant, il est également possible d'utiliser l'opérateur @ entre deux tableaux pour obtenir les mêmes résultats.
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)
Si l’argument droit dans la multiplication matricielle est un vecteur (tableau 1D), NumPy le considère comme une matrice dont la dernière dimension est 1. Par exemple, lors de la multiplication d’une matrice 6x4 par un vecteur de 4 éléments, le vecteur est considéré comme une matrice 4x1.
Si l’argument gauche dans la multiplication matricielle est un vecteur, NumPy le considère comme une matrice dont la première dimension est 1. Par exemple, lors de la multiplication d’un vecteur de 4 éléments par une matrice 4x6, le vecteur est traité comme une matrice 1x4.
L’illustration ci-dessous montre la structure des tableaux exam_scores et coefficients utilisés dans l’exercice :
Swipe to start coding
Vous travaillez avec le tableau exam_scores, qui contient les notes simulées de trois étudiants (chaque ligne représente un étudiant) dans trois matières (chaque colonne représente une matière).
- Multipliez les notes de chaque matière par le coefficient correspondant.
- Additionnez les scores obtenus pour chaque étudiant afin de calculer leur note finale.
- Calculez le produit scalaire entre
exam_scoresetcoefficients.
Cela vous donnera les notes finales de tous les étudiants en fonction de la pondération de chaque matière.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain the difference between the dot product and matrix multiplication?
How do I know when to use the dot() function versus the @ operator in NumPy?
Can you provide more examples of matrix multiplication with different shapes?
Awesome!
Completion rate improved to 3.7
Algèbre Linéaire de Base avec NumPy
Glissez pour afficher le menu
L’algèbre linéaire est une branche fondamentale des mathématiques qui joue un rôle crucial dans divers domaines, notamment l’apprentissage automatique, l’apprentissage profond et l’analyse de données.
Vecteurs et matrices
En algèbre linéaire, un vecteur est un ensemble ordonné de valeurs. Les tableaux NumPy 1D peuvent représenter efficacement les vecteurs. Une matrice est un tableau à deux dimensions de nombres, qui peut être représenté par un tableau 2D dans NumPy.
L’addition et la soustraction de vecteurs et de matrices, ainsi que la multiplication par un scalaire, ont déjà été abordées dans le chapitre « Opérations mathématiques de base ». Ici, d’autres opérations seront présentées.
Transposition
La transposition est une opération qui retourne une matrice par rapport à sa diagonale. Autrement dit, elle convertit les lignes de la matrice en colonnes et les colonnes en lignes.
Vous pouvez transposer une matrice en utilisant l'attribut .T d'un tableau NumPy :
12345import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
Produit scalaire
Le produit scalaire est sans doute l'opération d'algèbre linéaire la plus couramment utilisée en apprentissage automatique et profond. Le produit scalaire de deux vecteurs (qui doivent avoir un nombre égal d'éléments) correspond à la somme de leurs produits élément par élément. Le résultat est un scalaire :
Multiplication de matrices
La multiplication de matrices n'est définie que si le nombre de colonnes de la première matrice est égal au nombre de lignes de la seconde matrice. La matrice résultante aura le même nombre de lignes que la première matrice et le même nombre de colonnes que la seconde matrice.
Comme vous pouvez le constater, chaque élément de la matrice résultante est le produit scalaire de deux vecteurs. Le numéro de ligne de l'élément correspond au numéro du vecteur ligne dans la première matrice, et le numéro de colonne correspond au numéro du vecteur colonne dans la seconde matrice.
Le nombre de colonnes dans la première matrice doit être égal au nombre de lignes dans la seconde matrice, car le produit scalaire exige que les deux vecteurs aient le même nombre d'éléments.
Produit scalaire et multiplication de matrices avec NumPy
NumPy fournit la fonction dot() pour le produit scalaire et la multiplication de matrices. Cette fonction prend deux tableaux comme arguments.
Cependant, il est également possible d'utiliser l'opérateur @ entre deux tableaux pour obtenir les mêmes résultats.
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)
Si l’argument droit dans la multiplication matricielle est un vecteur (tableau 1D), NumPy le considère comme une matrice dont la dernière dimension est 1. Par exemple, lors de la multiplication d’une matrice 6x4 par un vecteur de 4 éléments, le vecteur est considéré comme une matrice 4x1.
Si l’argument gauche dans la multiplication matricielle est un vecteur, NumPy le considère comme une matrice dont la première dimension est 1. Par exemple, lors de la multiplication d’un vecteur de 4 éléments par une matrice 4x6, le vecteur est traité comme une matrice 1x4.
L’illustration ci-dessous montre la structure des tableaux exam_scores et coefficients utilisés dans l’exercice :
Swipe to start coding
Vous travaillez avec le tableau exam_scores, qui contient les notes simulées de trois étudiants (chaque ligne représente un étudiant) dans trois matières (chaque colonne représente une matière).
- Multipliez les notes de chaque matière par le coefficient correspondant.
- Additionnez les scores obtenus pour chaque étudiant afin de calculer leur note finale.
- Calculez le produit scalaire entre
exam_scoresetcoefficients.
Cela vous donnera les notes finales de tous les étudiants en fonction de la pondération de chaque matière.
Solution
Merci pour vos commentaires !
single