Date de publication : 27 novembre 2023
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'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.
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 :
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 :
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 :
Pour ces raisons, la méthode LDA peut ne pas donner de bons résultats dans les espaces de fonctionnalité à haute dimension.
Découvrez pourquoi IBM a été nommé leader dans le rapport IDC MarketScape : Worldwide AI Governance Platforms 2023.
Obtenir l’eBook sur Presto
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 :
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.
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 :
La variation au sein d'une classe correspond à la séparation entre les classes, c'est-à-dire la distance entre les moyennes de classe.
La variation au sein d'une classe correspond à la distance entre les moyennes de classe et les échantillons.
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 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))
Où :
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.
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 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))
La banque calcule la fonction discriminante linéaire pour chaque demande de prêt.
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.
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.
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.
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.
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.
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.
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.
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.
Appliquez l’analyse discriminante linéaire comme technique de réduction de la dimensionnalité pour optimiser la performance de votre modèle.
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.
- 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.
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é.
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é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.
IBM Research présente une technique alternative d'analyse discriminante non paramétrique (NDA) utilisant la méthode des plus proches voisins.
Découvrez d’autres applications de l’analyse discriminante linéaire dans divers secteurs.
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é.
Appliquez l’analyse discriminante linéaire comme technique de réduction de la dimensionnalité pour optimiser la performance de votre modèle.
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
3 Penn State Eberly College of Science, Linear Discriminant Analysis, 2023 (lien externe à ibm.com)
4 J. T. Oates, Lecture notes on Linear Discriminant Analysis, 2014 (lien externe à ibm.com)
5 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)