My IBM Se connecter S’abonner

Qu’est-ce que l’analyse discriminante linéaire (LDA) ?

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 (LDA), é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 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 multiclasse, contrairement à la régression logistique, 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 d’arbres décisionnels 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 multiclasse. La méthode de Fisher vise à identifier une combinaison linéaire de caractéristiques qui fait la distinction 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 crédit 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 ci-après :

  • 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 caractéristiques, 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 caractéristiques ou variables, ces propriétés sont calculées à partir de la loi de Gauss à plusieurs variables3.

Les analyses multivariées sont les suivantes :

  • Moyennes
  • Matrice de covariance, qui mesure la relation entre chaque variable ou caractéristique 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 cloche.
  • 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 caractéristiques à haute dimension.

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 propres et de valeurs propres. Imaginez que vous ayez cartographié un jeu de données aux caractéristiques multiples, donnant 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 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 inter-classe (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).
Design 3D de balles roulant sur une piste

Les dernières actualités et informations en matière d’IA 


La newsletter hebdomadaire Think vous apporte toute l’actualité sur l’IA, le cloud et bien d’autres sujets.

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étraiter 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 surajustement, c’est-à-dire le fait que le modèle statistique s’ajuste exactement aux données d’entraînement, nuisant à 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 en 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 attribue l’étiquette d’une classe à une autre. Prenons l’exemple d’une matrice de confusion 10 x 10 prédisant les images des chiffres de zéro à neuf. Les valeurs réelles sont représentées en lignes sur l’axe des ordonnées. Les prévisions sont présentées en colonnes sur l’axe des abscisses. Pour voir combien de fois un classificateur a confondu les images  de 4 et de 9 dans l’exemple de la matrice de confusion 10 x 10, il faudrait vérifier la 4e ligne et la 9e colonne.

Fonction discriminante linéaire : comment ça marche ?

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

Calculer la variance entre les classes

La variance inter-classe correspond à la séparabilité des classes, c’est-à-dire la distance entre les moyennes des classes.

Calculer la variance au sein de la classe

La variance intra-classe correspond à la distance entre les moyennes des classes et les échantillons.

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

Cela permet de maximiser la variance inter-classe et de minimiser la variance intra-classe. Nous pouvons représenter mathématiquement la fonction discriminante linéaire pour deux classes de la manière 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 représente la variance intra-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 sur l’exemple d’une approbation de prêt. En résumé, la banque décide d’approuver ou de rejeter les demandes de prêt. Elle base sa décision sur deux caractéristiques : la cote 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, précisant 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 crédit 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 représente la variance intra-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, prenant 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 tendances et les relations dans les données des patients.

Segmentation client dans l’e-commerce

Pour un marketing efficace, les entreprises d’e-commerce doivent pouvoir classer diverses clientèles en catégories. Essentielle dans la segmentation client, la LDA leur permet d’adapter leur stratégie marketing à différents groupes de consommateurs. Résultat : une expérience d’achat plus personnalisée, augmentant les ventes et la fidélité des clients.

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 tendances associées aux différents 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 le gaspillage.

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 les-dits segments. La LDA peut simplifier ce processus en classant les attributs et les 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, vous pouvez regarder le tutoriel Découvrir les algorithmes de classification avec Python et scikit-learn d’IBM watsonx. Ce tutoriel vous expliquera les bases de la résolution des problèmes liés au machine learning basé sur des classifications à l’aide de Python et de scikit-learn, également connu sous le nom de sklearn.

Dans le cadre de ce tutoriel détaillé, vous allez commencer par importer les bibliothèques Python nécessaires pour travailler avec le jeu de données Iris, effectuer le prétraitement des données, et créer et évaluer votre modèle LDA :

<Python code snippet>

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sklearn
import seaborn as sns
from sklearn.preprocessing import StandardScaler, LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import 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 pour obtenir un aperçu des principaux paramètres et attributs, ainsi que des exemples généraux d’implémentations de Python utilisant sklearn.discriminant_analysis.LinearDiscriminantAnalysis.

Groupe d’experts | Podcast

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.

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. En ayant connaissances des compromis inhérent à ce type d’analyse, les data scientists et les professionnels du machine learning peuvent 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, mais 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 les données à haute dimensionnalité : La LDA est efficace lorsque le nombre de caractéristiques 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, souvent associés à des données à haute dimensionnalité.
  • Gérer la multicolinéarité : La LDA peut gérer la multicolinéarité, c’est-à-dire la présence de fortes corrélations entre différentes caractéristiques. Elle transforme les données en un espace de dimension inférieure tout en préservant l’intégrité des informations.

Principaux inconvénients

- Distributions avec des 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 séparant les deux classes de manière linéaire. 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 auraient 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 caractéristiques. 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’elle 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 la variance.

Solutions connexes

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.

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