Skip to content

Base Vectorielle

Qu’est-ce qu’une base ?

Une base est un ensemble de vecteurs qui permet de décrire tous les vecteurs d’un espace vectoriel en utilisant des combinaisons linéaires de ces vecteurs. En d'autres termes, une base est comme un "système de coordonnées" pour un espace, permettant de représenter n'importe quel point ou vecteur. Une base fournit un ensemble minimal de directions indépendantes pour naviguer dans l'espace.

Illustration d'une base vectorielle

👉 Intuition

Une base est comme un ensemble minimal de "directions" qui permet de naviguer dans tout l’espace. En ML, changer de base peut simplifier les calculs, comme dans la réduction de dimensionnalité où l'on projette les données sur une base qui capture l'essentiel de l'information.

INFO

En machine learning, les bases sont essentielles pour comprendre les transformations de données, comme dans l'analyse en composantes principales (PCA) où une nouvelle base est choisie pour maximiser la variance des données, ou dans les réseaux de neurones où les couches apprennent des bases qui extraient des caractéristiques pertinentes (features) des données d'entrée.

Définition mathématique

Un ensemble de vecteurs {b1,b2,,bn} forme une base d’un espace vectoriel si :

  1. Les vecteurs sont linéairement indépendants :a1b1+a2b2++anbn=0a1=a2==an=0
  2. Les vecteurs engendrent l’espace (ou le spannent), c’est-à-dire que tout vecteur v de l’espace peut s’écrire comme :v=c1b1+c2b2++cnbn

Le nombre n de vecteurs dans la base correspond à la dimension de l’espace.

Développement : Dimension et bases multiples

Tous les espaces vectoriels de dimension finie ont plusieurs bases possibles, mais toutes les bases ont le même nombre d'éléments (théorème de la dimension). Par exemple, en R2, la base standard {i,j} et une base rotée sont toutes deux valides, mais la dimension reste 2. En ML, cela permet de choisir une base qui aligne les données pour mieux révéler des patterns, comme dans PCA où les vecteurs propres forment une base qui décorrèle les variables.

Exemples en dimensions basses

  • En 1D (une ligne) : Un seul vecteur non nul b1 suffit. Tout vecteur sur la ligne est un multiple de b1.
  • En 2D (un plan) : Deux vecteurs indépendants b1,b2. Tout vecteur dans le plan s'écrit a1b1+a2b2.
  • En 3D : Trois vecteurs indépendants b1,b2,b3. Si on ajoute un b4 non dans le plan des trois premiers, on passe à 4D. En ML, les données en haute dimension (e.g., images avec des milliers de pixels) sont souvent projetées sur une base de plus faible dimension pour réduire le bruit et la complexité.

Indépendance linéaire

Un ensemble de vecteurs est linéairement indépendant si aucun des vecteurs ne peut être exprimé comme une combinaison linéaire des autres. Autrement dit, aucun vecteur n’est "redondant". Si un vecteur est une combinaison des autres, il n'apporte pas de nouvelle direction.

Exemple

  • Si b2=2b1, alors b2 est dans la même direction que b1 et n’apporte rien de nouveau → dépendance linéaire.
  • Si b2 n’est pas un multiple de b1 (par exemple, ils forment un angle non nul), alors ils sont indépendants et peuvent engendrer un plan (espace 2D). En ML, l'indépendance linéaire aide à détecter les features redondantes dans un dataset (e.g., via corrélation ou PCA).
Vérification de l’indépendance linéaire

Pour vérifier si des vecteurs sont linéairement indépendants, on peut :

  1. Former une matrice avec ces vecteurs comme colonnes.
  2. Calculer son déterminant (non nul = indépendance) ou vérifier son rang (égal au nombre de vecteurs = indépendance).
    • En 2D, pour b1=[x1y1], b2=[x2y2], le déterminant de la matrice [x1x2y1y2] est x1y2x2y1. S’il est non nul, les vecteurs sont indépendants. En data science, un rang inférieur indique des dépendances, utile pour la sélection de features.
Pourquoi le déterminant vérifie-t-il l’indépendance linéaire ?

Le déterminant d’une matrice carrée formée par des vecteurs est un outil puissant pour vérifier leur indépendance linéaire. Voici pourquoi, étape par étape :

Définition et lien avec l’indépendance linéaire

Un ensemble de n vecteurs {v1,v2,,vn} dans Rn est linéairement indépendant si l’équation suivante n’a que la solution triviale (tous les coefficients nuls) :

c1v1+c2v2++cnvn=0c1=c2==cn=0.

Formons la matrice A=[v1v2vn], où chaque vi est une colonne. L’équation ci-dessus s’écrit sous forme matricielle :

Ac=0,

c=[c1c2cn]. Les vecteurs sont indépendants si la seule solution est c=0.

Rôle du déterminant

Si A est une matrice carrée (n×n), son déterminant det(A) indique si A est inversible :

  • Si det(A)0 : A est inversible, et le système Ac=0 n’a que la solution triviale c=0. Les vecteurs sont donc indépendants.
  • Si det(A)=0 : A n’est pas inversible, et le système a des solutions non triviales (des c0). Cela signifie qu’au moins un vecteur est une combinaison linéaire des autres, donc les vecteurs sont dépendants.

Interprétation géométrique

Le déterminant a une signification géométrique :

  • En 2D, pour deux vecteurs, det(A) représente l’aire du parallélogramme formé par ces vecteurs. Si det(A)=0, l’aire est nulle, ce qui signifie que les vecteurs sont alignés (colinéaires), donc dépendants.
  • En 3D, pour trois vecteurs, det(A) représente le volume du parallélépipède. Si det(A)=0, le volume est nul, ce qui indique que les vecteurs sont coplanaires (ou alignés), donc dépendants. En général, un déterminant nul signifie que les vecteurs ne couvrent pas tout l’espace Rn, mais un sous-espace de dimension inférieure.

Application à l’exemple du cours

Reprenons les vecteurs a=[121], b=[345], c=[187]. Formons la matrice :

A=[131248157]

Calculons le déterminant :

det(A)=1det[4857]3det[2817]+1det[2415]
  • Premier mineur : (4)(7)(8)(5)=28+40=12
  • Deuxième mineur : (2)(7)(8)(1)=148=6
  • Troisième mineur : (2)(5)(4)(1)=104=6

Ainsi :

det(A)=11236+16=1218+6=0

Puisque det(A)=0, les vecteurs sont dépendants. Géométriquement, ils sont coplanaires dans R3, ne formant pas une base.

Cas non carré

Si le nombre de vecteurs n diffère de la dimension m (par exemple, 4 vecteurs dans R3), la matrice n’est pas carrée, et le déterminant n’est pas défini. Dans ce cas, on utilise le rang de la matrice (via l’élimination de Gauss) pour vérifier l’indépendance.

En machine learning

Le déterminant est utilisé pour détecter les redondances dans les features (si det=0, il y a corrélation). Dans PCA, un déterminant non nul des vecteurs propres garantit une base valide pour la projection des données.

Résumé

Le déterminant teste l’indépendance linéaire car il mesure si les vecteurs couvrent pleinement l’espace. S’il est nul, les vecteurs sont confinés à un sous-espace, donc dépendants. S’il est non nul, ils forment une base.

Exemple en 2D

Considérons :

  • b1=[10], b2=[01] (base canonique 2D).
  • Ces vecteurs sont linéairement indépendants, car a1[10]+a2[01]=[a1a2]=[00] implique a1=a2=0.
  • Tout vecteur v=[xy] peut s’écrire : v=xb1+yb2.
Exemple supplémentaire : Vérification d'indépendance linéaire en 3D

Les vecteurs suivants sont-ils linéairement indépendants ?

a=[121], b=[345] et c=[187].

Pour vérifier, on forme la matrice M avec ces vecteurs comme colonnes :

M=[131248157]

On calcule le déterminant de M. Si det(M)0, les vecteurs sont indépendants ; sinon, ils sont dépendants.

Calcul du déterminant étape par étape (utilisant la formule pour une matrice 3x3) :

det(M)=1det[4857]3det[2817]+1det[2415]
  • Premier mineur : det[4857]=(4)(7)(8)(5)=28+40=12
  • Deuxième mineur : det[2817]=(2)(7)(8)(1)=148=6
  • Troisième mineur : det[2415]=(2)(5)(4)(1)=104=6

Maintenant, assembler :

det(M)=11236+16=1218+6=0

Puisque det(M)=0, les vecteurs sont linéairement dépendants. Cela signifie qu'au moins un vecteur peut s'exprimer comme une combinaison linéaire des autres (par exemple, on peut résoudre pour trouver des coefficients non triviaux tels que c=2a+b, mais la vérification du déterminant suffit pour conclure).

Engendrement de l'espace (Span)

Un ensemble de vecteurs engendre l'espace s'il permet d'atteindre tout vecteur via des combinaisons linéaires. La base est l'ensemble minimal (indépendant) qui engendre l'espace.

Interprétation

Si les vecteurs n'engendrent pas l'espace, ils ne couvrent qu'un sous-espace (e.g., deux vecteurs alignés engendrent une ligne, pas un plan). En ML, le span des données peut révéler des sous-espaces de haute variance, comme dans PCA où l'on identifie les directions principales.

Exemple en ML : Réduction de dimensionnalité

Supposez des points de données alignés approximativement sur une ligne dans R2. La base optimale serait un vecteur le long de cette ligne (direction de variance maximale) et un perpendiculaire (bruit). Projeter sur la première direction réduit à 1D tout en conservant l'information principale, comme dans PCA.

Illustration de PCA : projection sur axes principaux

Bases spéciales

Base orthonormée

Une base est orthonormée si :

  • Les vecteurs sont orthogonaux deux à deux : bibj=0 si ij.
  • Les vecteurs sont unitaires : bi=1.
Base orthonormée

👉 Avantage

Les bases orthonormées simplifient les calculs en ML, notamment dans les projections (comme dans PCA) ou les transformations (e.g., matrices de rotation dans les réseaux de neurones). Elles ne doivent pas nécessairement être unitaires ou orthogonales, mais c'est plus facile si elles le sont.

Exemple de base orthonormée

La base canonique en 2D :

  • b1=[10], b2=[01].
  • Vérification :
    • Orthogonalité : b1b2=10+01=0.
    • Unitaire : b1=12+02=1, b2=02+12=1.

Base quelconque

Une base quelconque n’est pas nécessairement orthonormée. Les vecteurs peuvent avoir des longueurs différentes et ne pas être orthogonaux.

👉 Note

Les bases non orthonormées compliquent les calculs, car les projections nécessitent des matrices de changement de base. En ML, on préfère souvent orthonormer les bases (e.g., via la décomposition QR ou SVD) pour simplifier les opérations.

Changement de base

Le changement de base consiste à réécrire un vecteur exprimé dans une base {b1,b2,,bn} dans une autre base {c1,c2,,cn}. Cela revient à transformer les coordonnées du vecteur, en préservant les propriétés linéaires : l'espace reste une grille uniformément espacée, sans courbure.

changement de base vectorielle

Principe

Soit un vecteur v exprimé dans une base B={b1,b2} :

v=x1b1+x2b2

On veut ses coordonnées dans une nouvelle base C={c1,c2} :

v=y1c1+y2c2

La transformation est effectuée à l’aide d’une matrice de changement de base P, où les colonnes de P sont les vecteurs de la base C exprimés dans la base B. Les nouvelles coordonnées sont :

[y1y2]=P1[x1x2]

Si les bases ne sont pas orthogonales, on ne peut pas utiliser seulement le produit scalaire ; il faut des matrices.

Développement mathématique

Si c1=p11b1+p21b2 et c2=p12b1+p22b2, la matrice P est :

P=[p11p12p21p22]

Alors, pour passer de la base B à C, on utilise P1. En ML, les changements de base sont utilisés dans les transformations linéaires (e.g., rotation des données dans PCA ou embeddings dans les transformers).

Exemple en 2D

Soit une base B={[10],[01]} et une base C={[11],[11]}. Un vecteur v=[32] dans B a pour coordonnées :

  • Dans B : v=3b1+2b2.
  • Pour trouver les coordonnées dans C, on résout v=y1c1+y2c2 :3[10]+2[01]=y1[11]+y2[11]Cela donne le système :
    • y1y2=3
    • y1+y2=2 Solution : y1=2.5, y2=0.5. Donc, v=2.5c10.5c2.
Exemple supplémentaire : Changement de base en 3D avec base orthogonale

Étant donné les vecteurs v=[438], b1=[123], b2=[210] et b3=[365], tous écrits dans la base standard, que représente v dans la base définie par b1, b2 et b3 ? On sait que b1, b2 et b3 sont orthogonaux les uns par rapport aux autres.

Puisque la base {b1,b2,b3} est orthogonale (mais pas nécessairement orthonormée, car les normes ne sont pas forcément 1), on peut trouver les coordonnées c1,c2,c3 telles que v=c1b1+c2b2+c3b3 en utilisant la formule de projection pour bases orthogonales : ci=vbibibi.

Détaillons les étapes :

  1. Vérifions d'abord l'orthogonalité (bien que donné, pour complétude) :

    • b1b2=1(2)+21+30=2+2+0=0
    • b1b3=1(3)+2(6)+35=312+15=0
    • b2b3=(2)(3)+1(6)+05=66+0=0 Oui, orthogonaux.
  2. Pour trouver c1 : On multiplie l'équation v=c1b1+c2b2+c3b3 par b1 (produit scalaire des deux côtés) :

    vb1=c1(b1b1)+c2(b2b1)+c3(b3b1)

    Puisque orthogonaux, b2b1=0 et b3b1=0, donc :

    vb1=c1(b1b1)c1=vb1b1b1

    Calcul : vb1=(4)(1)+(3)(2)+8(3)=46+24=14b1b1=12+22+32=1+4+9=14c1=14/14=1

  3. De même pour c2 : Multipliez par b2 :

    vb2=c2(b2b2)$$(termescroisésnuls)$c2=vb2b2b2$$vb2=(4)(2)+(3)(1)+8(0)=83+0=5$$b2b2=(2)2+12+02=4+1+0=5$$c2=5/5=1$vb3=c3(b3b3)

    c3=vb3b3b3vb3=(4)(3)+(3)(6)+8(5)=12+18+40=70b3b3=(3)2+(6)2+52=9+36+25=70c3=70/70=1

Donc, dans la base {b1,b2,b3}, v s'écrit comme [111], c'est-à-dire v=1b1+1b2+1b3.

Pourquoi c’est important en Machine Learning ?

  • Représentation des données : Les bases permettent de représenter les données dans des espaces de caractéristiques. En PCA, les composantes principales forment une base orthonormée qui maximise la variance des données et minimise le bruit (distance perpendiculaire comme mesure du bruit).
  • Transformations linéaires : Les changements de base sont utilisés pour simplifier les calculs, comme dans les réseaux de neurones où les poids sont des matrices appliquant des transformations linéaires pour extraire des features (e.g., forme du nez, teinte de peau dans la reconnaissance faciale).
  • Réduction de dimensionnalité : En ML, on utilise des bases orthonormées (via SVD ou QR) pour réduire la dimensionnalité tout en préservant les informations importantes (e.g., embeddings dans NLP). Si les données sont alignées sur une ligne, projeter sur cette direction réduit le bruit.
  • Mécanisme d’attention : Dans les transformers, les matrices de changement de base (ou projections linéaires) sont utilisées pour calculer les relations entre les tokens via des produits scalaires.

Exemple concret en ML

Dans PCA, les données sont projetées sur une base orthonormée formée par les vecteurs propres de la matrice de covariance. Cela réduit la dimensionnalité tout en conservant la variance maximale, facilitant la visualisation ou la classification. Par exemple, des points alignés sur une ligne ont une variance élevée le long de la ligne et faible perpendiculairement (bruit).

👉 Application pratique

En NLP, les embeddings de mots (comme dans Word2Vec) sont souvent exprimés dans une base non orthonormée. Les algorithmes comme t-SNE ou UMAP changent de base pour visualiser ces données en 2D ou 3D. Dans les réseaux de neurones, l'apprentissage dérive une base qui extrait les caractéristiques les plus riches des données.