Résumé: L'ACP peut être réalisée avant le LDA pour régulariser le problème et éviter un sur-ajustement.
Rappelons que les projections LDA sont calculées via la composition par igendec , où Σ W etΣ−1WΣBΣWΣB sont des matrices de covariance et -classe. S'il y a moins de points de données (où N est la dimensionnalité de votre espace, c'est-à-dire le nombre d'entités / variables), alors Σ W sera singulier et ne peut donc pas être inversé. Dans ce cas, il n'y a tout simplement aucun moyen d'effectuer directement LDA, mais si l'on applique d'abord PCA, cela fonctionnera. @Aaron a fait cette remarque dans les commentaires de sa réponse, et je suis d'accord avec cela (mais en désaccord avec sa réponse en général, comme vous le verrez maintenant).NNΣW
Cependant, ce n'est qu'une partie du problème. La vue d'ensemble est que LDA tend très facilement à surajuster les données. Notez que la matrice de covariance intra-classe est inversée dans les calculs LDA; pour les matrices de grande dimension, l'inversion est une opération très sensible qui ne peut être effectuée de manière fiable que si l'estimation de est vraiment bonne. Mais dans les dimensions élevées N ≫ 1 , il est vraiment difficile d'obtenir une estimation précise de Σ W , et dans la pratique, il faut souvent avoir beaucoup plus que N points de données pour commencer à espérer que l'estimation est bonne. Sinon Σ WΣWN≫ 1ΣWNΣW sera presque singulier (c'est-à-dire que certaines des valeurs propres seront très faibles), ce qui entraînera un sur-ajustement, c'est-à-dire une séparation de classe presque parfaite sur les données d'entraînement avec des performances aléatoires sur les données de test.
Pour résoudre ce problème, il faut régulariser le problème. Une façon de le faire consiste à utiliser PCA pour réduire d'abord la dimensionnalité. Il y en a d'autres, sans doute meilleures, par exemple la méthode LDA régularisée (rLDA) qui utilise simplement avec un petit λ au lieu de Σ W (c'est ce qu'on appelle l' estimateur de rétrécissement ), mais la PCA est d'abord conceptuellement la approche la plus simple et fonctionne souvent très bien.( 1 - λ ) ΣW+ λ IλΣW
Illustration
Voici une illustration du problème de sur-ajustement. J'ai généré 60 échantillons par classe en 3 classes à partir de la distribution gaussienne standard (zéro moyen, variance unitaire) dans des espaces de 10, 50, 100 et 150 dimensions, et appliqué LDA pour projeter les données en 2D:
Notez comment à mesure que la dimensionnalité augmente, les classes deviennent de mieux en mieux séparées, alors qu'en réalité il n'y a pas de différence entre les classes.
Nous pouvons voir comment PCA aide à empêcher le sur-ajustement si nous faisons des classes légèrement séparées. J'ai ajouté 1 à la première coordonnée de la première classe, 2 à la première coordonnée de la deuxième classe et 3 à la première coordonnée de la troisième classe. Maintenant, ils sont légèrement séparés, voir sous-intrigue en haut à gauche:
Le sur-ajustement (rangée du haut) est toujours évident. Mais si je prétraite les données avec PCA, en conservant toujours 10 dimensions (ligne du bas), le surapprentissage disparaît tandis que les classes restent séparées de manière presque optimale.
PS. Pour éviter les malentendus: je ne prétends pas que PCA + LDA est une bonne stratégie de régularisation (au contraire, je conseillerais d'utiliser rLDA), je démontre simplement que c'est une stratégie possible .
Mise à jour. Un sujet très similaire a déjà été discuté dans les fils suivants avec des réponses intéressantes et complètes fournies par @cbeleites:
Voir aussi cette question avec quelques bonnes réponses:
best practice
. L'ACP et l'ADL, en tant que techniques de réduction de la dimensionnalité, sont très différentes. Parfois, les gens font de l'APC avant la LDA, mais cela a le risque de jeter (avec les PC mis au rebut) d'importantes dimensions discriminantes. La question que vous posez a en fait été posée à plusieurs reprises sous une forme ou une autre sur ce site. Veuillez rechercher «PCA LDA» pour lire ce que les gens lui ont dit.