Tweet Partager Partager

Dernière mise à jour le 9 août 2019

Les décompositions matricielles sont un outil utile pour réduire une matrice à ses parties constitutives afin de simplifier une gamme d’opérations plus complexes.

Le type de décomposition matricielle le plus utilisé est peut-être la composition propre qui décompose une matrice en vecteurs propres et valeurs propres. Cette décomposition joue également un rôle dans les méthodes utilisées dans l’apprentissage automatique, telles que la méthode d’analyse en composantes principales ou PCA.

Dans ce tutoriel, vous découvrirez la composition propre, les vecteurs propres et les valeurs propres en algèbre linéaire.

Après avoir terminé ce tutoriel, vous saurez:

  • Ce qu’est une composition propre et le rôle des vecteurs propres et des valeurs propres.
  • Comment calculer une composition propre en Python avec NumPy.
  • Comment confirmer qu’un vecteur est un vecteur propre et comment reconstruire une matrice à partir de vecteurs propres et de valeurs propres.

Lancez votre projet avec mon nouveau livre Linear Algebra for Machine Learning, comprenant des tutoriels étape par étape et les fichiers de code source Python pour tous les exemples.

Commençons.

Introduction en douceur à la Composition propre, aux Valeurs propres et aux Vecteurs propres pour l’Apprentissage automatique
Photo de Mathias Appel, certains droits réservés.

Présentation du tutoriel

Ce tutoriel est divisé en 5 parties; elles sont:

  1. Composition Propre d’une Matrice
  2. Vecteurs Propres et Valeurs Propres
  3. Calcul de la Composition Propre
  4. Confirmer un Vecteur Propre et une Valeur Propre
  5. Reconstruire la Matrice d’origine

Besoin d’aide avec l’Algèbre linéaire pour l’apprentissage automatique?

Suivez mon cours intensif gratuit de 7 jours par e-mail maintenant (avec un exemple de code).

Cliquez pour vous inscrire et obtenez également une version PDF Ebook gratuite du cours.

Téléchargez votre Mini-cours GRATUIT

Composition propre d’une matrice

La composition propre d’une matrice est un type de décomposition qui consiste à décomposer une matrice carrée en un ensemble de vecteurs propres et de valeurs propres.

L’un des types de décomposition matricielle les plus utilisés s’appelle la composition propre, dans laquelle nous décomposons une matrice en un ensemble de vecteurs propres et de valeurs propres.

— Page 42, Apprentissage profond, 2016.

A vector is an eigenvector of a matrix if it satisfies the following equation.

1
A . v = lambda . v

C’est ce qu’on appelle l’équation de valeur propre, où A est la matrice carrée mère que nous décomposons, v est le vecteur propre de la matrice et lambda est la lettre grecque minuscule et représente le scalaire de valeur propre.

Ou sans la notation par points.

1
Av = lambdav

A matrix could have one eigenvector and eigenvalue for each dimension of the parent matrice. Toutes les matrices carrées ne peuvent pas être décomposées en vecteurs propres et valeurs propres, et certaines ne peuvent être décomposées que d’une manière qui nécessite des nombres complexes. On peut montrer que la matrice parente est un produit des vecteurs propres et des valeurs propres.

1
A = Q . diag(V) . Q^-1

Or, without the dot notation.

1
A = Qdiag(V)Q^-1

Where Q is a matrix comprised of the eigenvectors, diag(V) is a diagonal matrix composé des valeurs propres le long de la diagonale (parfois représentées par un lambda majuscule), et Q^-1 est l’inverse de la matrice composée des vecteurs propres.

Cependant, nous voulons souvent décomposer les matrices en leurs valeurs propres et vecteurs propres. Cela peut nous aider à analyser certaines propriétés de la matrice, tout comme la décomposition d’un entier en ses facteurs premiers peut nous aider à comprendre le comportement de cet entier.

— Page 43, Apprentissage profond, 2016.

Eigen n’est pas un nom, par exemple la méthode n’est pas nommée d’après « Eigen”; eigen (prononcé eye-gan) est un mot allemand qui signifie « propre” ou « inné”, comme dans l’appartenance à la matrice parente.

Une opération de décomposition n’entraîne pas de compression de la matrice ; elle la décompose plutôt en parties constitutives pour faciliter certaines opérations sur la matrice. Comme d’autres méthodes de décomposition matricielle, la composition propre est utilisée comme élément pour simplifier le calcul d’autres opérations matricielles plus complexes.

Presque tous les vecteurs changent de direction, lorsqu’ils sont multipliés par A. Certains vecteurs exceptionnels x sont dans la même direction que Ax. Ce sont les « vecteurs propres”. Multipliez un vecteur propre par A, et le vecteur Ax est le nombre lambda multiplié par le x original. La valeur propre lambda indique si le vecteur spécial x est étiré ou rétréci ou inversé ou laissé inchangé – lorsqu’il est multiplié par A.

— Page 289, Introduction à l’algèbre linéaire, Cinquième édition, 2016.

La composition propre peut également être utilisée pour calculer les composantes principales d’une matrice dans la méthode d’analyse en composantes principales ou PCA qui peut être utilisée pour réduire la dimensionnalité des données dans l’apprentissage automatique.

Vecteurs propres et valeurs propres

Vecteurs propres sont des vecteurs unitaires, ce qui signifie que leur longueur ou grandeur est égale à 1,0. Ils sont souvent appelés vecteurs droits, ce qui signifie simplement un vecteur colonne (par opposition à un vecteur ligne ou à un vecteur gauche). Un vecteur droit est un vecteur tel que nous les comprenons.

Les valeurs propres sont des coefficients appliqués aux vecteurs propres qui donnent aux vecteurs leur longueur ou leur grandeur. Par exemple, une valeur propre négative peut inverser la direction du vecteur propre dans le cadre de sa mise à l’échelle.

Une matrice qui n’a que des valeurs propres positives est appelée matrice définie positive, alors que si les valeurs propres sont toutes négatives, elle est appelée matrice définie négative.

Décomposer une matrice en termes de valeurs propres et de vecteurs propres donne des informations précieuses sur les propriétés de la matrice. Certains calculs matriciels, comme le calcul de la puissance de la matrice, deviennent beaucoup plus faciles lorsque nous utilisons la composition propre de la matrice.

— Page 262, No Bullshit Guide To Linear Algebra, 2017

Calcul de la composition propre

Une composition propre est calculée sur une matrice carrée à l’aide d’un algorithme itératif efficace, dont nous n’entrerons pas dans les détails.

Souvent, une valeur propre est trouvée en premier, puis un vecteur propre est trouvé pour résoudre l’équation sous la forme d’un ensemble de coefficients.

La composition propre peut être calculée en NumPy à l’aide de la fonction eig().

L’exemple ci-dessous définit d’abord une matrice carrée 3×3. La composition propre est calculée sur la matrice renvoyant les valeurs propres et les vecteurs propres.

L’exécution de l’exemple imprime d’abord la matrice définie, suivie des valeurs propres et des vecteurs propres. Plus précisément, les vecteurs propres sont les vecteurs propres du côté droit et sont normalisés à l’unité de longueur.

Confirmer un vecteur Propre et une Valeur Propre

Nous pouvons confirmer qu’un vecteur est bien un vecteur propre d’une matrice.

Pour ce faire, nous multiplions le vecteur propre candidat par le vecteur propre et comparons le résultat avec la valeur propre.

Tout d’abord, nous allons définir une matrice, puis calculer les valeurs propres et les vecteurs propres. Nous allons ensuite tester si le premier vecteur et la première valeur sont en fait une valeur propre et un vecteur propre pour la matrice. Nous savons qu’ils le sont, mais c’est un bon exercice.

Les vecteurs propres sont renvoyés sous forme de matrice avec les mêmes dimensions que la matrice parente, où chaque colonne est un vecteur propre, par exemple le premier vecteur propre est des vecteurs. Les valeurs propres sont renvoyées sous forme de liste, où les indices de valeur du tableau renvoyé sont appariés avec des vecteurs propres par index de colonne, par exemple la première valeur propre à des valeurs est appariée avec le premier vecteur propre à des vecteurs.

L’exemple multiplie la matrice d’origine avec le premier vecteur propre et la compare au premier vecteur propre multiplié par la première valeur propre.

L’exécution de l’exemple imprime les résultats de ces deux multiplications qui montrent le même vecteur résultant, comme on pouvait s’y attendre.

1
2
3

Reconstruct Original Matrix

We peut inverser le processus et reconstruire la matrice d’origine en ne donnant que les vecteurs propres et les valeurs propres.

Tout d’abord, la liste des vecteurs propres doit être convertie en une matrice, où chaque vecteur devient une ligne. Les valeurs propres doivent être disposées en une matrice diagonale. La fonction NumPy diag() peut être utilisée pour cela.

Ensuite, nous devons calculer l’inverse de la matrice vecteur propre, ce que nous pouvons réaliser avec la fonction inv()NumPy. Enfin, ces éléments doivent être multipliés avec la fonction dot().

L’exemple calcule à nouveau les valeurs propres et les vecteurs propres et les utilise pour reconstruire la matrice d’origine.

L’exécution de l’exemple imprime d’abord la matrice d’origine, puis la matrice reconstruite à partir de valeurs propres et de vecteurs propres correspondant à la matrice d’origine.

>

1
2
3
4
5
6
7
]
]

Extensions

Cette section liste quelques idées d’extension du tutoriel que vous souhaiterez peut-être explorer.

  • Créez 5 exemples en utilisant chaque opération avec vos propres données.
  • Implémentez chaque opération de matrice manuellement pour les matrices définies comme des listes de listes.
  • Recherchez des documents d’apprentissage automatique et trouvez 1 exemple de chaque opération utilisée.

Si vous explorez l’une de ces extensions, j’aimerais le savoir.

Pour en savoir plus

Cette section fournit plus de ressources sur le sujet si vous cherchez à aller plus loin.

Livres

  • Section 6.1 Valeurs propres et vecteurs propres. Pas De Guide De Conneries Sur L’Algèbre Linéaire, 2017.
  • Chapitre 6 Valeurs propres et vecteurs Propres, Introduction à l’Algèbre linéaire, Cinquième Édition, 2016.
  • Section 2.7 Composition propre, Apprentissage profond, 2016.
  • Chapitre 5 Valeurs propres, Vecteurs Propres et Sous-Espaces Invariants, Algèbre Linéaire Bien faite, Troisième Édition, 2015.
  • Conférence 24, Problèmes de Valeurs propres, Algèbre Linéaire Numérique, 1997.

API

  • numpy.linalg.eig() API
  • numpy.diag() API
  • numpy.je n’ai pas de problème.linalg.inv() API

Articles

  • propres sur le Wiktionnaire
  • Valeurs propres et vecteurs propres
  • Composition propre d’une matrice
  • Algorithme de valeurs propres
  • Décomposition matricielle

Résumé

Dans ce tutoriel, vous avez découvert la composition propre, vecteurs propres et valeurs propres en algèbre linéaire.

Plus précisément, vous avez appris:

  • Ce qu’est une composition propre et le rôle des vecteurs propres et des valeurs propres.
  • Comment calculer une composition propre en Python avec NumPy.
  • Comment confirmer qu’un vecteur est un vecteur propre et comment reconstruire une matrice à partir de vecteurs propres et de valeurs propres.

Avez-vous des questions?
Posez vos questions dans les commentaires ci-dessous et je ferai de mon mieux pour y répondre.

Maîtrisez l’Algèbre linéaire pour l’apprentissage automatique !

Développer une compréhension fonctionnelle de l’algèbre linéaire

byen écrivant des lignes de code en python

Découvrez comment dans mon nouvel Ebook:
Algèbre linéaire pour l’apprentissage automatique

Il fournit des tutoriels d’auto-apprentissage sur des sujets tels que:
Normes Vectorielles, Multiplication Matricielle, Tenseurs, Composition propre, SVD, PCA et bien plus encore…

Enfin Comprendre les Mathématiques des données

Passer les universitaires. Juste des résultats.

Voir Ce qu’il y a à l’intérieur

Tweet Partager Partager

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.