Matrices spéciales -- Matrice identité, Matrice diagonale, Matrice symétrique
Certains types de matrices reviennent fréquemment en IA ; ils ont des structures et des propriétés particulières. Les comprendre vous aide à saisir rapidement le comportement des optimiseurs, les effets de la régularisation et la signification des transformations de données.
Matrice identité I
Toutes les entrées sur la diagonale principale sont 1, toutes les autres sont 0
Multiplier par n'importe quelle matrice = inchangé
Équivalent à '1' dans les nombres
Matrice diagonale
Seule la diagonale principale a des valeurs
Chaque dimension est mise à l'échelle indépendamment
Équivalent à un égaliseur audio
Matrice symétrique
Transposée = elle-même
Symétrique par rapport à la diagonale principale
Toutes les valeurs propres sont réelles
Matrice identité : le « 1 » en mathématiques
\[ \mathbf{I}_n = \begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{bmatrix} \]Pour toute matrice A de forme compatible : \( \mathbf{I}A = A \), \( A\mathbf{I} = A \).
Matrice diagonale : mise à l'échelle indépendante de chaque dimension
\[ \mathbf{D} = \text{diag}(d_1, d_2, \dots, d_n) = \begin{bmatrix} d_1 & 0 & \cdots & 0 \\ 0 & d_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d_n \end{bmatrix} \]Multiplier une matrice diagonale par un vecteur = appliquer indépendamment un facteur d'échelle différent à chaque composante du vecteur.
Matrice symétrique : toujours elle-même après transposition
\( \mathbf{A}^T = \mathbf{A} \), c'est-à-dire \( a_{ij} = a_{ji} \).
Une matrice symétrique possède une propriété extrêmement importante :Toutes les valeurs propres sont réelles, et les vecteurs propres sont mutuellement orthogonaux.
Cela rend les matrices symétriques extrêmement utiles en optimisation et en statistiques — les matrices de covariance et les matrices hessiennes sont toutes deux symétriques.
Exemples du quotidien
Matrice identité : l’opération qui ne fait rien
Vous ouvrez une image dans PS, n’effectuez aucune modification et l’enregistrez directement. Entrée = sortie.
La matrice identité est l’expression mathématique de ce « ne rien faire ».
Matrice diagonale : égaliseur audio
Chaque curseur de l’égaliseur contrôle indépendamment le volume d’une bande de fréquences—hautes fréquences +3 dB, basses fréquences -2 dB, moyennes fréquences inchangées.
Chaque bande fonctionne indépendamment sans interférence et est mise à l’échelle séparément. C’est le comportement d’une matrice diagonale.
Matrice symétrique : réflexion dans le miroir
Debout devant un miroir, votre main gauche correspond à la position de votre main droite dans le reflet. Le haut et le bas restent inchangés ; la gauche et la droite sont inversées.
Une matrice symétrique est similaire—symétrique par rapport à la diagonale principale, où les valeurs restent inchangées après échange de positions de part et d’autre de celle-ci.
Définition mathématique
| Type de matrice | Conditions de définition | Marque |
|---|---|---|
| Matrice identité | \( I_{ii}=1, I_{ij}=0 \; (i \neq j) \) | \( \mathbf{I}_n \) |
| Matrice diagonale | \( D_{ij}=0 \) lorsque \( i \neq j \) | diag(d₁,...,dₙ) |
| Matrice symétrique | \( A_{ij} = A_{ji} \) pour tout i,j | \( \mathbf{A} = \mathbf{A}^T \) |
Exercice pratique Python
Exemple
# Matrice identité
I = np.eye(3)
A = np.array([[4,7,2],[3,5,1],[6,8,9]])
print("I @ A == A:", np.allclose(I @ A, A))
# Matrice diagonale : mise à l'échelle indépendante
D = np.diag([2, 3, 5])
v = np.array([1, 1, 1])
print("D @ [1,1,1] =", D @ v) # [2, 3, 5]
# Matrice symétrique
S = np.array([[1,4,5],[4,2,6],[5,6,3]])
print("S est symétrique :", np.allclose(S.T, S))
eigenvals = np.linalg.eigvals(S)
print("Toutes les valeurs propres sont réelles :", np.all(np.isreal(eigenvals)))
# La matrice de covariance est naturellement symétrique
data = np.random.randn(100, 5)
cov = np.cov(data.T)
print("La matrice de covariance est symétrique :", np.allclose(cov, cov.T))
I @ A == A: True D @ [1,1,1] = [2 3 5] S 对称: True 特征值全实数: True 协方差矩阵对称: True
Scénarios d'application en IA
Optimiseur Adam = Mise à l'échelle adaptative via une matrice diagonale
Adam maintient une moyenne mobile exponentielle v_t des gradients au carré pour chaque paramètre, et effectue la mise à jour à l'aide de \( \theta_{t+1} = \theta_t - \eta \cdot m_t / \sqrt{v_t} \). Mathématiquement, \( 1/\sqrt{v_t} \) met à l'échelle chaque composante de paramètre indépendamment — il s'agit d'une matrice diagonale multipliée par le vecteur de gradient. Les composantes actives du gradient voient leur taux d'apprentissage réduit, tandis que les composantes inactives du gradient le voient amplifié.
Matrice de covariance pour l'ACP
La première étape de la réduction de dimensionnalité PCA : calculer la matrice de covariance \( \Sigma = X^TX/(n-1) \) après centrage des données. Cette matrice est symétrique (\Sigma_{ij} = \Sigma_{ji}) et ses valeurs propres sont toutes réelles. Les vecteurs propres correspondant aux k plus grandes valeurs propres sont les directions des composantes principales. La classe PCA de sklearn effectue cela en interne.
Initialisation par identité pour les réseaux de neurones récurrents
Les matrices de poids récurrentes des RNN et des LSTM sont souvent initialisées comme des matrices identité. Cela garantit qu'au début de l'entraînement, les informations d'état caché peuvent être transmises « inchangées », empêchant les gradients de diminuer trop rapidement au fil des pas de temps. Cette technique est appelée IRNN (Identity RNN).
Initialisation Xavier/Glorot
L'initialisation Xavier choisit méticuleusement la variance des poids afin que la variance de la sortie de chaque couche reste cohérente : \( Var(W) = 2/(n_{in} + n_{out}) \). Cela équivaut à la contrainte de la matrice diagonale (variance) d'une loi normale avec cette variance.
Autres extensions