Qu’est-ce que l’algèbre linéaire en machine learning ?

Auteur

Fangfang Lee

Developer Advocate

IBM

Qu’est-ce que l’algèbre linéaire en machine learning ?

En machine learning (ML), l’algèbre linéaire consiste à utiliser des opérations mathématiques pour représenter et manipuler les données, les paramètres et des calculs au sein des modèles de ML. Il fournit le langage et les outils nécessaires pour exprimer la manière dont les données circulent à travers les modèles et dont ces derniers « apprennent ».

Les puissants algorithmes modernes de machine learning et l’IA générative sont alimentés par l’algèbre linéaire. Qu’il s’agisse d’entraîner un réseau de neurones, de construire un système de recommandation ou d’appliquer l’analyse en composantes principales (ACP) à un jeu de données complexe et de haute dimension, les professionnels utilisent l’algèbre linéaire pour effectuer des calculs massifs.

L’importance de l’algèbre linéaire

Depuis ses débuts jusqu’aux récentes avancées en matière d’apprentissage profond, l’algèbre linéaire a toujours été omniprésente dans le paysage ML. De nombreux modèles de machine learning de base sont fondamentalement exprimés et résolus à l’aide des principes d’algèbre linéaire. En pratique, les données sont rarement un nombre simple et unique. En effet, elles se présentent souvent sous forme de jeux de données, c’est-à-dire des ensembles de points de données souvent désordonnés. L’algèbre linéaire fournit les outils nécessaires pour organiser, manipuler et analyser efficacement ces données.

Il permet aux praticiens de manipuler des objets tels que des vecteurs, des matrices et des tenseurs afin de représenter des données structurées (souvent des données tabulaires) et non structurées telles que des images ou des vidéos. Ces concepts apparemment abstraits constituent le langage des données pour l'informatique et les data scientists. Par exemple, une image peut être représentée sous la forme d'une matrice de valeurs de pixels, et un ensemble de caractéristiques décrivant une maison (telles que le quartier, l'âge et la superficie) peut être représenté sous la forme d'un vecteur dans un modèle de régression linéaire. La régression linéaire modélise la sortie comme une combinaison linéaire des caractéristiques d'entrée, ce qui constitue un exemple classique du fonctionnement de l'algèbre linéaire dans le monde réel.  

Notions clés d’algèbre linéaire

Concernant le machine learning et la science des données, l’algèbre linéaire est le cadre utilisé pour décrire et travailler avec les données. Il explique la manière dont les nombres sont organisés, combinés et transformés, qu’il s’agisse de multiplier les matrices d’un réseau de neurones, de trouver des valeurs propres en ACP ou de réduire les dimensions grâce à la décomposition en valeurs singulières (SVD).  

Représentation et manipulation des données

À son niveau le plus élémentaire, l’algèbre linéaire fournit les outils nécessaires pour représenter et utiliser les données sous forme structurée. La plupart des workflows de machine learning commencent par organiser les données dans des formats numériques, et chaque structure (scalaire, vecteur, matrice ou tenseur) sert un objectif différent.

  • Le scalaire est le bloc fonctionnel le plus simple, à savoir une valeur numérique unique, comme 5 ou 2,3. Les scalaires représentent souvent des paramètres, des facteurs d’échelle ou des mesures uniques.

  • Un vecteur est une série ordonnée de nombres, généralement écrit sous forme de colonne ou de ligne. Les vecteurs peuvent tout représenter, d’une liste de caractéristiques décrivant un seul point de données aux coordonnées d’une position dans l’espace. Par exemple, le vecteur [3,5,7] peut représenter le nombre de visites, d’achats et de retours effectués par un client.

  • Une matrice est un tableau bidimensionnel de nombres organisés en lignes et en colonnes. Un jeu de données où chaque ligne est un point de données et chaque colonne est une caractéristiques forme naturellement une matrice. Les matrices sont au cœur de l’algèbre linéaire, car elles permettent un stockage efficace des données. Les opérations telles que la multiplication scalaire (qui consiste à multiplier chaque élément d’une matrice par un nombre constant) et la multiplication matricielle (qui consiste à combiner deux matrices pour appliquer une transformation ou calculer des relations) sont omniprésentes dans les algorithmes.

  • Un tenseur est une généralisation de scalaires, de vecteurs et de matrices à des dimensions supérieures. Par exemple, une image couleur peut être stockée comme tenseur 3D où hauteur, la largeur et les canaux de couleur forment trois axes distincts. Dans l’apprentissage profond, les tenseurs sont la structure de données standard pour alimenter les réseaux de neurones en informations.

Le produit scalaire est un moyen de multiplier deux vecteurs pour produire un seul scalaire. Il est largement utilisé pour calculer le degré de similarité des vecteurs, une étape cruciale pour de nombreux systèmes de recommandation. La transposée d’une matrice, qui inverse ses lignes et ses colonnes, est une autre opération fondamentale qui permet d’aligner les dimensions à des fins de multiplication et de découvrir les schémas structurels présents dans les données.

L’algèbre linéaire permet d’exprimer les jeux de données complexes d’une manière que les algorithmes peuvent comprendre et traiter, permettant donc de construire des modèles complexes à partir d’une pléthore de données collectées dans le monde réel. 

A comparison chart illustrating scalar, vector, matrix, and tensor concepts. The image uses colorful numerical representations to differentiate each mathematical structure. Numbers such as '1', '2', '5', and '6' are clearly visible within the matrix and tensor examples.

Comprendre les algorithmes

De nombreux algorithmes de machine learning sont construits sur un système d’équations linéaires. La régression linéaire est un algorithme simple et non moins puissant qui permet de prédire les valeurs continues. Afin de trouver la ligne ou le plan les mieux adaptés pour minimiser l’erreur entre les valeurs prédites et les valeurs réelles, il suffit souvent de résoudre un système d’équations linéaires. Par exemple, pour prévoir les prix de l’immobilier en fonction de la superficie et du nombre de chambres, il faut trouver les coefficients (pondérations) qui satisfont aux équations suivantes :

 price=w1*squarefootage+w2*numberofbedrooms+b

...où  w1w2 et  b  sont les coefficients inconnus à résoudre. Cela peut être représenté et résolu à l’aide de matrices. Des techniques telles que les « moindres carrés » sont utilisées pour trouver les solutions approximatives de ces systèmes lorsqu’il n’existe pas de solution exacte, ce qui est souvent le cas avec des données réelles et bruyantes. En d’autres termes, l’approximation d’une fonction de perte est représentée par un ensemble d’équations linéaires que l’on résout à l’aide des calculs.

Les algorithmes plus complexes, comme ceux que l’on retrouve dans l’apprentissage profond et les réseaux de neurones, s’appuient fortement sur des opérations comme les multiplications matricielles massives permettant de traiter les informations à travers différentes couches. Chaque couche du réseau de neurones effectue une transformation linéaire sur ses données d’entrée. Il s’agit essentiellement d’une transformation matricielle qui consiste à multiplier le vecteur d’entrée par une matrice de poids. Cela permet au réseau d’apprendre les schémas et les relations complexes au sein des données.

Réduction de la dimensionnalité

De nombreux jeux de données réelles contiennent un grand nombre de caractéristiques (ou variables) pour chaque point de données : parfois des centaines, des milliers, voire plusieurs millions. On parle de données à haute dimension. On pourrait penser que plus les caractéristiques sont nombreuses, plus les modèles seront précis. Mais en réalité, elles compliquent souvent l’apprentissage. Les données à haute dimension peuvent être coûteuses en termes de calcul, gourmandes en mémoire et sujettes au surapprentissage (le modèle mémorise le bruit au lieu d’apprendre les schémas significatifs).

Un autre enjeu est le problème de la dimensionnalité. À mesure que le nombre de dimensions augmente, les points de données deviennent de plus en plus clairsemés dans l'espace des caractéristiques, et la notion de « proximité » entre les points perd de son sens. Cette rareté rend difficile pour les algorithmes de détecter de manière fiable les relations. Il est donc essentiel de disposer des outils adéquats pour réduire le nombre de caractéristiques et extraire les signaux du bruit. La réduction de la dimensionnalité est le processus qui consiste à transformer des données d'un espace à haute dimension en un espace à plus faible dimension tout en préservant autant que possible la structure d'origine et les informations importantes. En réduisant le nombre de caractéristiques, les praticiens peuvent simplifier les modèles, améliorer la généralisation, accélérer les calculs et souvent créer des visualisations des données utiles.

L’algèbre linéaire est au cœur de nombreuses techniques de réduction de la dimensionnalité. Par exemple, l’analyse en composantes principales utilise des concepts tels que les valeurs propres et les vecteurs propres pour trouver de nouveaux axes (composantes principales) qui captent la variance maximale des données. Il s’agit d’un attribut significatif dans le jeu de données à haute dimension. En projetant les données sur les quelques premières composantes principales, les spécialistes retiennent les schémas les plus importants tout en écartant les variations moins utiles.

Prenons l’exemple d’un jeu de données qui décrit des milliers de clients présentant chacun 100 caractéristiques différentes (âge, revenu, dépenses dans diverses catégories de produits, etc.) Analyser les 100 caractéristiques à la fois serait lent et complexe, et beaucoup d’entre elles peuvent être redondantes (par exemple, l’intérêt pour les « équipements de sport » recoupe souvent celui pour les « équipements d’extérieur »). L’ACP permet de réduire le jeu de données à 2 ou 3 composantes qui synthétisent la plupart des variations de comportement client, ce qui facilite la visualisation et optimise l’exécution des algorithmes en aval.

En bref, la réduction de la dimensionnalité est un moyen de distiller les données complexes pour n’en garder que leurs parties les plus informatives, et l’algèbre linéaire fournit les mécanismes mathématiques qui rendent cela possible.

Analyse en composantes principales

Ensemble, les valeurs propres, les vecteurs propres et la décomposition en valeurs propres décrivent les comportements fondamentaux d’une transformation ou d’un système linéaire :

  • Vecteur propre : imaginez une transformation linéaire (comme l’étirement ou la rotation d’un espace vectoriel). Le vecteur propre d’une matrice carrée est un vecteur non nul qui, lorsqu’on lui applique cette transformation, ne change que d’un facteur scalaire. Il ne change pas de direction. Il s’agit d’une direction particulière dans les données, qui restent stables sous la transformation.
  • Valeur propre : il s’agit du facteur scalaire par lequel un vecteur propre est mis à l’échelle. Il vous indique dans quelle mesure le vecteur propre est étiré ou compressé au cours de la transformation. En ACP, les valeurs propres les plus élevées correspondent aux composantes principales qui captent plus de variance dans les données.
  • Décomposition propre : il s’agit du processus de décomposition d’une matrice carrée en vecteurs et valeurs propres. Pour une matrice donnée, si l’on peut trouver ses vecteurs et valeurs propres, on peut reconstruire la matrice d’origine à partir de ceux-ci. En ACP, la décomposition propre de la matrice de covariance des données permet d’identifier les composantes principales (vecteurs propres) qui représentent le mieux la variance des données, classées en fonction des valeurs propres correspondantes.

Une autre technique puissante, la décomposition en valeurs singulières (SVD), joue à son tour un rôle crucial dans la réduction de la dimensionnalité et s’avère essentielle dans des domaines comme la factorisation des matrices dans les systèmes de recommandation. Bien que proche de la décomposition en valeurs propres, la SVD peut être appliquée à tout type de matrice (et non seulement aux matrices carrées). Ce moyen plus général de décomposer les matrices révèle les structures sous-jacentes et réduit efficacement les dimensions. Par exemple, dans les systèmes de recommandation, la SVD permet de décomposer une matrice d’interaction utilisateur-item en matrices de dimension inférieure représentant les caractéristiques latentes des utilisateurs et des items. Ces dernières sont ensuite utilisées pour prédire de nouvelles recommandations.

Optimisation

De nombreux modèles de machine learning impliquent des problèmes d’optimisation, l’objectif étant de trouver le meilleur ensemble de paramètres qui minimise une fonction d’erreur ou maximise une fonction de vraisemblance. Des algorithmes tels que la descente de gradient, largement utilisés pour entraîner les réseaux de neurones et les algorithmes de machine learning, s’appuient sur l’algèbre linéaire pour calculer les gradients (vecteurs pointant dans la direction de la montée la plus abrupte d’une fonction) et mettre à jour les paramètres du modèle de manière itérative.

Comprendre l’optimisation, c’est aussi comprendre les propriétés des matrices impliquées dans ces calculs. C’est là que des notions telles que le déterminant et la matrice identité deviennent pertinentes. Le déterminant d’une matrice carrée est un nombre unique qui fournit des informations cruciales sur la matrice. Par exemple, un déterminant non nul indique que la matrice est inversible (ce qui signifie qu’elle possède une opération d’inversion de matrice correspondante), ce qui est critique pour résoudre les systèmes d’équations linéaires de manière unique. Si le déterminant est nul, le système peut ne pas avoir de solution unique ou en avoir une infinité, ce qui indique des problèmes tels que l’indépendance linéaire (l’un des vecteurs d’un ensemble peut être exprimé comme une combinaison linéaire d’autres vecteurs). Une matrice identité (une matrice carrée avec des uns sur la diagonale principale, et des zéros ailleurs) est spéciale car lorsque vous multipliez n’importe quelle matrice par la matrice identité, la matrice d’origine reste inchangée, agissant comme le nombre « 1 » dans la multiplication scalaire.

Mixture of Experts | 12 décembre, épisode 85

Décryptage de l’IA : Tour d’horizon hebdomadaire

Rejoignez notre panel d’ingénieurs, de chercheurs, de chefs de produits et autres spécialistes de premier plan pour connaître l’essentiel de l’actualité et des dernières tendances dans le domaine de l’IA.

Outils et exploration plus approfondie

La bonne nouvelle est que les praticiens du ML n'ont pas besoin d'effectuer manuellement ces calculs complexes. Des bibliothèques telles que NumPy en Python fournissent des fonctions hautement optimisées pour tous ces concepts d'algèbre linéaire, ce qui en fait la norme de facto pour le calcul numérique dans le domaine du machine learning. Par exemple, numpy.linalg.eig() peut calculer des valeurs et des vecteurs propres, et numpy.dotdot gère facilement les produits scalaires et les multiplications matricielles. Des cadres tels que TensorFlow (très populaire dans l'apprentissage profond) exploitent également largement l'algèbre linéaire en arrière-plan, en abstraisant les détails de bas niveau afin que les utilisateurs puissent se concentrer sur le développement de modèles.

Cette introduction à l’algèbre linéaire en machine learning ne fait qu’effleurer le sujet. Des notions telles que la transformation linéaire et la transformation matricielle décrivent la façon dont les données peuvent être manipulées et transformées, par exemple, en faisant pivoter une image ou en mettant à l’échelle ses caractéristiques. Il est également utile de comprendre les types de matrices telles que la matrice identité (qui laisse les vecteurs inchangés lorsqu’ils sont multipliés) et la matrice orthogonale (dont l’inverse est simplement la transposée, ce qui simplifie les calculs). Bien que l’on n’effectue généralement pas de processus d’élimination de Gauss (un algorithme pour résoudre un système d’équations linéaires) manuel en ML, connaître ses principes permet de comprendre comment ces systèmes sont résolus sur le plan informatique. L’indépendance linéaire est également essentielle pour comprendre l’unicité des solutions et la base d’un espace vectoriel (toutes les combinaisons linéaires possibles pour un ensemble de vecteurs).

En fin de compte, une solide maîtrise des concepts d'algèbre linéaire permet aux praticiens du ML non seulement d'utiliser des algorithmes de machine learning pré-créés, mais aussi de comprendre véritablement leur fonctionnement interne, de les déboguer efficacement et même de développer des solutions novatrices. C'est le moteur discret qui anime le ML depuis des décennies et qui continuera d'être essentiel dans l'avenir de l'intelligence artificielle.

Solutions connexes
IBM watsonx.ai

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.

Découvrir les solutions d’IA
Conseils et services en matière d’IA

Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.

Découvrir les services d’IA
Passez à l’étape suivante

Bénéficiez d’un accès centralisé aux fonctionnalités couvrant le cycle de développement de l’IA. Produisez des solutions IA puissantes offrant des interfaces conviviales, des workflows et un accès à des API et SDK conformes aux normes du secteur.

  1. Découvrir watsonx.ai
  2. Réserver une démo en direct