Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 2 · Matrices

Multiplier : matrice-vecteur et matrice-matrice

II.1 Matrice × vecteur

Pour une matrice AA et un vecteur xx, le produit AxAx se calcule ligne par ligne :

Ax=(a11x1+a12x2a21x1+a22x2)Ax = \begin{pmatrix} a_{11}x_1 + a_{12}x_2 \\ a_{21}x_1 + a_{22}x_2 \end{pmatrix}

Exemple du cours avec A=(1231)A = \begin{pmatrix} 1 & 2 \\ 3 & 1 \end{pmatrix} et x=(21)x = \begin{pmatrix} 2 \\ 1 \end{pmatrix} :

Ax=(1⋅2+2⋅13⋅2+1⋅1)=(47)Ax = \begin{pmatrix} 1\cdot 2 + 2\cdot 1 \\ 3\cdot 2 + 1\cdot 1 \end{pmatrix} = \begin{pmatrix} 4 \\ 7 \end{pmatrix}

Interprétation : la matrice transforme le vecteur en l'étirant, le tournant ou le comprimant.

Vérifie que tu as compris

Que vaut AxAx pour A=(1231)A = \begin{pmatrix} 1 & 2 \\ 3 & 1 \end{pmatrix} et x=(21)x = \begin{pmatrix} 2 \\ 1 \end{pmatrix} ?

II.2 Matrice × matrice

Règle pour deux matrices 2×22\times2 :

(abcd)(efgh)=(ae+bgaf+bhce+dgcf+dh)\begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} e & f \\ g & h \end{pmatrix} = \begin{pmatrix} ae + bg & af + bh \\ ce + dg & cf + dh \end{pmatrix}

Retiens : ligne × colonne pour chaque élément. En général, C=A×BC = A\times B avec CijC_{ij} = somme des produits (ligne ii de AA) × (colonne jj de BB).

Exemple (énoncé du cours). A=(1201)A = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}, B=(3142)B = \begin{pmatrix} 3 & 1 \\ 4 & 2 \end{pmatrix} : C11=1⋅3+2⋅4=11C_{11} = 1\cdot3+2\cdot4 = 11, C12=1⋅1+2⋅2=5C_{12} = 1\cdot1+2\cdot2 = 5, C21=0⋅3+1⋅4=4C_{21} = 0\cdot3+1\cdot4 = 4, C22=0⋅1+1⋅2=2C_{22} = 0\cdot1+1\cdot2 = 2. Donc AB=(11542)AB = \begin{pmatrix} 11 & 5 \\ 4 & 2 \end{pmatrix}.

Vérifie que tu as compris

Que vaut C12C_{12} dans C=ABC = AB avec A=(1201)A = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix} et B=(3142)B = \begin{pmatrix} 3 & 1 \\ 4 & 2 \end{pmatrix} ?

Compatibilité des tailles

Pour multiplier An×pA_{n\times p} et Bp×mB_{p\times m} il faut :

colonnes de A=lignes de B\boxed{\text{colonnes de } A = \text{lignes de } B}

Le résultat est de taille n×mn\times m. Ici nn = nombre d'individus / situations / observations, pp = nombre de variables / paramètres par individu.

AABBABAB ?
3×23\times22×42\times4oui, taille 3×43\times4
2×32\times32×32\times3non : 3 colonnes contre 2 lignes

Attention : pas commutatif

En général AB≠BAAB \neq BA. Exemple du cours : A=(1101)A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}, B=(0210)B = \begin{pmatrix} 0 & 2 \\ 1 & 0 \end{pmatrix} donnent AB=(1210)AB = \begin{pmatrix} 1 & 2 \\ 1 & 0 \end{pmatrix} mais BA=(0211)BA = \begin{pmatrix} 0 & 2 \\ 1 & 1 \end{pmatrix} (calculs ajoutés).

Avec NumPy, l'opérateur @ fait le produit matriciel : C = A @ B. Il ne marche que sur des np.array. Les exercices de ce site se font en Python pur.

Vérifie que tu as compris

AA est de taille 3×23\times2 et BB de taille 2×42\times4. Quelle est la taille de ABAB ?

Vérifie que tu as compris

Pour A=(1101)A=\begin{pmatrix}1&1\\0&1\end{pmatrix} et B=(0210)B=\begin{pmatrix}0&2\\1&0\end{pmatrix}, que peut-on dire de ABAB et BABA ?