Accueil Thèmes Analyse discriminante linéaire Qu’est-ce que l’analyse discriminante linéaire (LDA) ?
Découvrir les solutions LDA d’IBM S’inscrire pour recevoir les dernières informations sur l’IA
Illustration par un collage de pictogrammes représentant des nuages, un diagramme circulaire, des pictogrammes de graphique

Date de publication : 27 novembre 2023

Qu’est-ce que la LDA ?

L’analyse discriminante linéaire (LDA) est une approche utilisée dans le machine learning supervisé pour résoudre les problèmes de classification multi-classes. La LDA sépare les différentes classes comportant des caractéristiques multiples grâce à la réduction de dimensionnalité des données. Cette technique est importante pour la science des données, car elle permet d’optimiser les modèles de machine learning.

L’analyse discriminante linéaire, également appelée « analyse discriminante normale (ADN) » ou « analyse factorielle discriminante » (AFD), suit le cadre d’un modèle génératif. Cela signifie que les algorithmes LDA modélisent la distribution des données pour chaque classe et utilisent le théorème de Bayes1 (lien externe à ibm.com) pour classer les nouveaux points de données. Le théorème de Bayes permet de calculer les probabilités conditionnelles, c'est-à-dire la probabilité qu’un événement se produise sachant qu’un autre événement s’est déjà produit. Les algorithmes LDA font des prédictions en utilisant le théorème de Bayes pour calculer la probabilité qu’un jeu de données d’entrée appartienne à une sortie particulière. Pour avoir un aperçu des statistiques bayésiennes et de leur impact sur les algorithmes d’apprentissage supervisé, consultez la rubrique Classification naïve bayésienne

La LDA consiste à identifier une combinaison linéaire de caractéristiques qui sépare ou caractérise deux ou plusieurs classes d’objets ou d’événements. Pour ce faire, on projette les données comportant deux ou plusieurs dimensions dans une seule dimension afin d’en faciliter la classification. C’est pourquoi cette technique est également appelée « réduction de dimensionnalité ». Grâce à cette polyvalence, la LDA permet de résoudre les problèmes de classification des données multi-classes, contrairement à la régression, qui se limite à la classification binaire. La LDA est donc souvent appliquée pour améliorer le fonctionnement d’autres algorithmes de classification tels que l’arbre de décision, la forêt aléatoire ou encore les machines à vecteurs de support (SVM).

L’origine de l’analyse discriminante linéaire

L'analyse discriminante linéaire (LDA) est basée sur l'analyse discriminante linéaire de Fisher, une méthode statistique développée par Sir Donald Fisher dans les années 1930 et simplifiée plus tard par C. R. Rao dans une version multi-classes. La méthode de Fisher vise à identifier une combinaison linéaire de fonctionnalités qui dissimule entre deux ou plusieurs classes d'objets ou d'événements étiquetés. 

La méthode de Fisher réduit les dimensions en séparant les classes de données projetées. La séparation consiste à maximiser la distance entre les moyennes projetées et à minimiser la variance projetée au sein des classes. 

Une application pratique de la LDA

Supposons qu'une banque décide d'approuver ou de rejeter les demandes de prêt. La banque utilise deux éléments pour prendre cette décision : la cote de solvabilité du demandeur et son revenu annuel. 

Ici, les deux caractéristiques ou classes sont représentées sur un plan bidimensionnel (2D) avec un axe X-Y. Si nous tentons de classer les approbations à l’aide d’une seule caractéristique, nous risquons de constater un chevauchement. En appliquant la LDA, nous pouvons tracer une ligne droite qui sépare complètement ces deux points de données de classe. La LDA utilise l’axe X – Y pour créer un nouvel axe, en séparant les différentes classes par une ligne droite et en projetant les données sur le nouvel axe. 

Pour créer ce nouvel axe et réduire la dimensionnalité, la LDA suit les critères suivants :

  • Maximiser la distance entre les moyennes de deux classes.
  • Minimiser la variance au sein des classes individuelles.
Propriétés et hypothèses de la LDA

Les LDA projettent un espace de fonctionnalité, c'est-à-dire un jeu de données à n dimensions, sur un espace plus petit « k », où k est inférieur ou égal à n-1, sans perdre d'informations sur les classes. Un modèle LDA comprend les propriétés statistiques calculées pour les données de chaque classe. Lorsqu'il y a plusieurs fonctionnalités ou variables, ces propriétés sont calculées à partir de la loi normale multivariée3 (lien externe à ibm.com). 

Les variables multiples sont les suivantes :

  • Moyens
  • Matrice de covariance, qui mesure la relation entre chaque variable ou fonctionnalité et les autres au sein de la classe

Les propriétés statistiques estimées à partir de l'ensemble de données sont introduites dans la fonction LDA pour faire des prédictions et créer le modèle LDA. Il existe certaines contraintes à prendre en compte, car le modèle suppose ce qui suit :

  • Le jeu de données d'entrée a une distribution gaussienne, où le tracé des points de données donne une courbe en U.
  • Le jeu de données est linéairement séparable, ce qui signifie que la méthode LDA peut tracer une ligne droite ou une limite de décision qui sépare les points de données.
  • Chaque classe a la même matrice de covariance. 

Pour ces raisons, la méthode LDA peut ne pas donner de bons résultats dans les espaces de fonctionnalité à haute dimension. 

IBM nommé leader par IDC

Découvrez pourquoi IBM a été nommé leader dans le rapport IDC MarketScape : Worldwide AI Governance Platforms 2023.

Contenu connexe

Obtenir l’eBook sur Presto

Rôle des vecteurs propres et des valeurs propres

La réduction de la dimensionnalité implique de séparer les points de données par une ligne droite. Mathématiquement, les transformations linéaires sont analysées à l'aide de vecteurs et de valeurs propres. Imaginez que vous ayez cartographié un ensemble de données aux fonctionnalités multiples, cela donne un nuage de points multidimensionnel. Les vecteurs propres fournissent la « direction » dans le nuage de points. Les valeurs propres indiquent l'importance de ces données directionnelles. Une valeur propre élevée signifie que le vecteur propre associé est plus critique. 

Lors de la réduction de la dimensionnalité, les vecteurs propres sont calculés à partir de l'ensemble de données et collectés dans deux matrices de dispersion :

  • Matrice de dispersion entre classes (informations sur la répartition des données au sein de chaque classe)
  • Matrice de dispersion intra-classe (comment les classes sont réparties entre elles).
Préparer la mise en œuvre de l’analyse discriminante linéaire 

Pour appliquer efficacement la LDA, il est essentiel de préparer votre jeu de données. Voici les étapes et les bonnes pratiques à suivre pour mettre en œuvre la LDA :

1. Prétraitez les données pour vous assurer qu'elles sont normalisées et centrées

Pour ce faire, il faut passer le paramètre n-composant de la LDA, qui identifie le nombre de discriminants linéaires à extraire.

2. Choisir un nombre de dimensions approprié pour l’espace de dimension inférieure

Pour ce faire, il faut passer le paramètre n-composant de la LDA, qui identifie le nombre de discriminants linéaires à extraire.

3. Régulariser le modèle 

La régularisation vise à empêcher le sur-ajustement, c'est-à-dire le fait que le modèle statistique s'ajuste exactement aux données d'entraînement, ce qui nuit à sa précision. 

4. Utiliser la validation croisée pour évaluer la performance du modèle

Vous pouvez évaluer les classificateurs tels que les LDA en traçant une matrice de confusion, avec les valeurs de classe réelles sous forme de lignes et les valeurs de classe prédites en colonnes. Une matrice de confusion permet de voir facilement si un classificateur confond deux classes, c'est-à-dire s'il confond une classe avec une autre. Prenons l'exemple d'une matrice de confusion 10 x 10 prédisant les images de zéro à 9. Les valeurs réelles sont représentées en lignes sur l'axe des ordonnées. Les prévisions sont présentées dans des colonnes sur l'axe transversal. Pour voir combien de fois un classificateur a confondu les images 4 et 9 dans l'exemple de la matrice de confusion 10 x 10, vous devriez vérifier la 4e ligne et la 9e colonne.

 

Fonction discriminante linéaire : comment ça marche ?

La fonction discriminante linéaire aide à prendre des décisions en cas de problèmes de classification en séparant les points de données selon des fonctionnalités et en les classant dans différentes classes ou catégories. Le processus de calcul peut être résumé en ces étapes clés suivantes :

Calculer la variance entre les classes

La variation au sein d'une classe correspond à la séparation entre les classes, c'est-à-dire la distance entre les moyennes de classe.

Calculer la variance au sein de la classe

La variation au sein d'une classe correspond à la distance entre les moyennes de classe et les échantillons.

Projeter les données dans un espace de dimension inférieure 

Cela permet de maximiser la variation entre les classes et de minimiser la variation au sein de la classe. Nous pouvons représenter mathématiquement la fonction discriminante linéaire pour deux classes avec l' équation suivante.

δ(x) = x * ( σ2 * (μ01) - 2 * σ2 * (μ0212) + ln(P(w0) / P(w1)))

Où :

  • δ(x) représente la fonction discriminante linéaire.
  • x représente le point de données d’entrée.
  • μ0 et μ1 sont les moyennes des deux classes.
  • σ2 est la variation au sein d'une classe commune.
  • P(ω0) et P(ω1) sont les probabilités a priori des deux classes.

 

Application de la LDA avec un exemple

Utilisons l'équation pour prendre un exemple d'approbation de prêt. En résumé, la banque décide d'approuver ou de rejeter les demandes de prêt. La banque utilise deux éléments pour prendre cette décision : le score de crédit du demandeur (x) et son revenu annuel. La banque a recueilli des données historiques sur les demandeurs de prêts précédents et si les prêts ont été approuvés.

  • La classe ω0 correspond à « Prêt refusé ».
  • La classe ω1 correspond à « Prêt accordé ».

En utilisant la fonction discriminante linéaire, la banque peut calculer un score(δ(x)) pour chaque demande de prêt. 

L'équation de la fonction discriminante linéaire pourrait ressembler à celle-ci :

δ(x) = x * ( σ2 * (μ01) - 2 * σ2 * (μ0212) + ln(P(w0) / P(w1)))

  • x représente la cote de solvabilité et le revenu annuel du demandeur.
  • μ0 et μ1 sont les moyennes de ces caractéristiques pour les deux classes : « Prêt refusé » et « Prêt accordé ».
  • σ2 est la variation au sein d'une classe commune.
  • P(ω0) est la probabilité a priori de « Prêt refusé », et P(ω1) est la probabilité a priori de « Prêt accordé ».

La banque calcule la fonction discriminante linéaire pour chaque demande de prêt.

  • Si δ(x) est positif, la demande de prêt est plus susceptible d’être approuvée.
  • Si δ(x) est négatif, la demande de prêt est plus susceptible d’être refusée.

La banque peut ainsi automatiser son processus d'approbation des prêts, prendre des décisions plus rapides et plus cohérentes tout en minimisant les biais humains.

Applications de l’analyse discriminante linéaire

Il s'agit là de scénarios typiques dans lesquels la méthode LDA peut être appliquée pour résoudre des problèmes complexes et aider les organisations à prendre de meilleures décisions.

L'évaluation du risque de crédit en finance

Pour atténuer les risques, les institutions financières doivent identifier et minimiser les défauts de crédit. La LDA peut vous aider à identifier les candidats susceptibles de ne pas rembourser leurs prêts parmi ceux qui sont solvables en passant au crible les facteurs financiers et les données comportementales. 

Diagnostic des maladies dans le secteur de la santé

Un diagnostic rapide et précis de la maladie est essentiel pour un traitement efficace. Les hôpitaux et les professionnels de santé doivent interpréter une immense quantité de données médicales. La LDA permet de simplifier les ensembles de données complexes et d'améliorer la précision du diagnostic en identifiant les modèles et les relations dans les données des patients.

Segmentation client dans l’e-commerce

Pour réussir leurs opérations de marketing, les entreprises d’e-commerce doivent pouvoir classer diverses clientèles. Essentielle dans la segmentation client, la LDA leur permet d’adapter leur stratégie marketing à différents groupes de consommateurs pour personnaliser leur expérience d’achat, les fidéliser et augmenter les ventes.

Contrôle qualité dans la fabrication

Produire des biens de qualité tout en minimisant les défauts est un défi fondamental. Les données des capteurs des machines peuvent être utilisées avec la LDA pour identifier les modèles associés aux défauts. En détectant les irrégularités en temps réel, les fabricants peuvent prendre des mesures correctives immédiates, améliorer la qualité des produits et réduire les pertes.

Optimisation des campagnes marketing

Vous pouvez maximiser votre budget publicitaire en ciblant le bon public avec du contenu personnalisé, mais il peut être difficile d'identifier ces segments de public respectifs. La LDA peut simplifier ce processus en classant les attributs et comportements des clients, améliorant ainsi la personnalisation des campagnes publicitaires. Cette approche peut conduire à un retour sur investissement (ROI) plus élevé et à une meilleure expérience client.

Analyse discriminante linéaire et Python

Pour approfondir l'analyse discriminante linéaire avec Python et tirer parti de la bibliothèque scikit-learn (lien externe à ibm.com), vous pouvez regarder ce tutoriel pour les algorithmes de classification en utilisant Python et scikit-learn dans watsonx. Le tutoriel vous explique les bases de la résolution d'un problème de machine learning basé sur des classifications à l'aide de Python et de scikit-learn (lien externe à ibm.com), également connu sous le nom de sklearn. 

Pour ce tutoriel détaillé, vous commencerez par importer les bibliothèques Python nécessaires pour travailler avec le jeu de données Iris, vous effectuerez le prétraitement des données et vous créerez et évaluerez votre modèle LDA :

<Python code snippet>

importer numpy en tant que np
importer pandas en tant que pd
importer matplotlib.pyplot en tant que plt
importer sklearn
importer seaborn en tant que SNS
à partir de sklearn.preprocessing importer StandardScaler, LabelEncoder
à partir de sklearn.model_selection importer train_test_split
à partir de sklearn.discriminant_analysis importe LinearDiscriminantAnalysis
à partir de sklearn.ensemble importe RandomForestClassifier
à partir de sklearn.metrics, importer accuracy_score, confusion_matrix

Si les bibliothèques ne sont pas installées, vous pouvez résoudre ce problème avec pip install.

Consultez également cette documentation scikit-learn (lien externe à ibm.com) pour un aperçu des principaux paramètres et attributs et des exemples généraux d'implémentations de Python utilisant sklearn.discriminant_analysis.LinearDiscriminantAnalysis.

Mettre en œuvré l’analyse discriminante linéaire (LDA) dans Python

Appliquez l’analyse discriminante linéaire comme technique de réduction de la dimensionnalité pour optimiser la performance de votre modèle.

Avantages et inconvénients de l’analyse discriminante linéaire

Il est essentiel de comprendre les avantages et les limites de l'analyse discriminante linéaire (LDA) lors de son application à divers problèmes de classification. La connaissance des compromis aide les data scientists et les praticiens du machine learning à prendre des décisions éclairées quant à son adéquation à une tâche particulière.

Principaux avantages
  • Simplicité et efficacité des calculs : la LDA est un algorithme simple et puissant. Il est relativement facile à comprendre et à mettre en œuvre, ce qui le rend accessible à ceux qui découvrent le machine learning. De plus, son calcul efficace garantit des résultats rapides.
  • Gérer des données hautement dimensionnelles : la LDA est efficace lorsque le nombre de fonctionnalités est supérieur au nombre d'échantillons d'entraînement. Par conséquent, la LDA est utile dans les champs d'application tels que l'analyse de texte, la reconnaissance d'images et la génomique, où les données sont souvent de grande dimension.
  • Gérer la multi-colinéarité : la LDA peut traiter la multi-colinéarité, c'est-à-dire la présence de fortes corrélations entre différentes fonctionnalités. Il transforme les données en un espace de dimension inférieure tout en préservant l'intégrité des informations.
Principaux inconvénients

- Distributions moyennes partagées : la LDA rencontre des difficultés lorsque les distributions de classes partagent des moyennes. La LDA peine à créer un nouvel axe qui sépare de manière linéaire les deux classes. Par conséquent, il se peut que la LDA ne fasse pas la distinction entre les classes dont les propriétés statistiques se chevauchent. Par exemple, imaginez un scénario dans lequel deux espèces de fleurs ont une longueur et une largeur de pétales très similaires. La LDA aura peut-être du mal à séparer ces espèces sur la seule base de ces fonctionnalités. Les techniques alternatives, telles que les méthodes d'analyse discriminante non linéaire, sont privilégiées ici.

- Ne convient pas aux données non étiquetées : la LDA est appliquée en tant qu'algorithme d'apprentissage supervisé, c'est-à-dire qu'il classe ou sépare les données étiquetées. En revanche, l'analyse en composantes principales (ACP), une autre technique de réduction des dimensions, ignore les étiquettes de classes et préserve des écarts.

 

Produits associés
Services de conseil en IA

Repensez votre façon d’exploiter l’IA : pour votre sérénité, notre équipe internationale diverse de plus de 20 000 experts en IA vous accompagnera dans la création et la mise à l’échelle de vos projets d’IA et d’automatisation. Alliant rapidité, éthique et fiabilité, vous vous appuierez sur notre technologie IBM watsonx et sur un écosystème de partenaires ouvert, pour assurer la livraison du modèle d’IA de votre choix, quel que soit le cloud utilisé.

Découvrez les services de conseil en IA proposés par IBM
Solutions d’IA

Opérationnalisez l’IA dans toute votre entreprise pour offrir des avantages de manière rapide et éthique.  Notre vaste portefeuille de produits d’IA et de solutions d’analytique professionnels est conçu pour réduire les obstacles à l’adoption de l’IA et créer le bon socle de données, tout en optimisant les résultats et en favorisant une utilisation responsable.

Découvrir les solutions d’IA d’IBM

IBM watsonx

Décuplez la puissance de l’IA avec notre plateforme d’IA et de données nouvelle génération. IBM Watsonx est un portefeuille d’applications, de solutions et d’outils prêts à l’emploi conçus pour réduire les coûts et les obstacles liés à l’adoption de l’IA tout en optimisant les résultats de l’IA et en favorisant son utilisation responsable.

Découvrir watsonx

Ressources sur l’analyse discriminante linéaire Analyse discriminante du voisin le plus proche pour la reconnaissance de la langue

IBM Research présente une technique alternative d'analyse discriminante non paramétrique (NDA) utilisant la méthode des plus proches voisins.

Applications de l’analyse discriminante linéaire

Découvrez d’autres applications de l’analyse discriminante linéaire dans divers secteurs.

Génération automatique de taxonomies hiérarchiques pour la catégorisation de textes

IBM Research utilise une approche de projection discriminante linéaire pour établir des niveaux de hiérarchies plus significatifs dans un ensemble plat de catégories généré.

Mettre en œuvré l’analyse discriminante linéaire (LDA) dans Python

Appliquez l’analyse discriminante linéaire comme technique de réduction de la dimensionnalité pour optimiser la performance de votre modèle.

Passer à l’étape suivante

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 professionnel de 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 Réserver une démo en direct
Notes de bas de page

1 James Joyce, Bayes' Theorem, Stanford Encyclopedia of Philosophy, 2003 (lien externe à ibm.com)

2Dan A. Simovici, Lecture notes on Fisher Linear Discriminant Name, 2013

Penn State Eberly College of Science, Linear Discriminant Analysis, 2023 (lien externe à ibm.com)

J. T. Oates, Lecture notes on Linear Discriminant Analysis, 2014 (lien externe à ibm.com)

Guangliang Chen, lecture notes on Linear Discriminant Analysis (LDA), 2020 (lien externe à ibm.com)

6, 7 sci-kit learn, Linear and Quadratic Discriminant Analysis, 2023 (lien externe à ibm.com)