Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Algèbre Linéaire de Base avec NumPy | Mathématiques avec NumPy
Numpy Ultime

bookAlgè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 :

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

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.

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

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 :

Tâche

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).

  1. Multipliez les notes de chaque matière par le coefficient correspondant.
  2. Additionnez les scores obtenus pour chaque étudiant afin de calculer leur note finale.
  3. Calculez le produit scalaire entre exam_scores et coefficients.

Cela vous donnera les notes finales de tous les étudiants en fonction de la pondération de chaque matière.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.7

bookAlgè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 :

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

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.

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

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 :

Tâche

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).

  1. Multipliez les notes de chaque matière par le coefficient correspondant.
  2. Additionnez les scores obtenus pour chaque étudiant afin de calculer leur note finale.
  3. Calculez le produit scalaire entre exam_scores et coefficients.

Cela vous donnera les notes finales de tous les étudiants en fonction de la pondération de chaque matière.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
single

single

some-alt