J'ai un classificateur sur lequel je fais une validation croisée, ainsi qu'une centaine de fonctionnalités sur lesquelles je fais une sélection avant pour trouver des combinaisons optimales de fonctionnalités. Je compare également cela à l'exécution des mêmes expériences avec PCA, où je prends les fonctionnalités potentielles, applique SVD, transforme les signaux d'origine sur le nouvel espace de coordonnées et utilise les meilleures fonctionnalités dans mon processus de sélection avant.
Mon intuition était que PCA améliorerait les résultats, car les signaux seraient plus "informatifs" que les caractéristiques originales. Ma compréhension naïve de l'APC me conduit-elle dans des ennuis? Quelqu'un peut-il suggérer certaines des raisons courantes pour lesquelles l'APC peut améliorer les résultats dans certaines situations, mais les aggraver dans d'autres?
la source
Réponses:
Prenons un cas simple, tiré d'un article formidable et sous-évalué "Une note sur l'utilisation des principaux composants dans la régression" .
Supposons que vous ne disposiez que de deux entités (mises à l'échelle et dé-signifiées), notez-les et x 2 avec une corrélation positive égale à 0,5, alignées en X , et une troisième variable de réponse Y que vous souhaitez classer. Supposons que la classification de Y soit entièrement déterminée par le signe de x 1 - x 2 .X1 X2 X Oui Oui X1- x2
L'exécution de PCA sur donne les nouvelles fonctionnalités (classées par variance) [ x 1 + x 2 , x 1 - x 2 ] , puisque Var ( x 1 + x 2 ) = 1 + 1 + 2 ρ > Var ( x 1 - x 2 ) = 2 - 2 ρX [ x1+ x2, x1- x2] Var( x1+ x2) = 1 + 1 + 2 ρ > Var( x1- x2) = 2 - 2 ρ . Par conséquent, si vous réduisez votre dimension à 1, c'est-à-dire le premier composant principal, vous jetez la solution exacte à votre classification!
Le problème se produit parce que PCA est agnostique à . Malheureusement, on ne peut pas non plus inclure Y dans l'ACP, car cela entraînerait une fuite de données.Oui Oui
La fuite de données se produit lorsque votre matrice est construite à l'aide des prédicteurs cibles en question, donc toute prédiction hors échantillon sera impossible.X
Par exemple: dans les séries temporelles financières, essayer de prédire la fermeture de fin de journée européenne, qui se produit à 11 h 00 HNE, en utilisant la fermeture de fin de journée américaine, à 16 h 00 HNE, est une fuite de données depuis la fermeture américaine , qui interviennent quelques heures plus tard, ont intégré les prix des clôtures européennes.
la source
Il y a une explication géométrique simple. Essayez l'exemple suivant dans R et rappelez-vous que le premier composant principal maximise la variance.
PCA aide
La direction de la variance maximale est horizontale et les classes sont séparées horizontalement.
PCA Hurts
La direction de la variance maximale est horizontale, mais les classes sont séparées verticalement
la source
PCA est linéaire, ça fait mal quand vous voulez voir les dépendances non linéaires.
PCA sur les images comme vecteurs:
Un algorithme non linéaire (NLDR) qui a réduit les images à 2 dimensions, rotation et échelle:
Plus d'informations: http://en.wikipedia.org/wiki/Nonlinear_dimensionality_reduction
la source
Je vois que la question a déjà une réponse acceptée, mais je voulais partager cet article qui parle de l' utilisation de PCA pour la transformation des fonctionnalités avant la classification .
Le message à retenir (qui est magnifiquement illustré dans la réponse de @ vqv) est:
Pour ceux qui sont intéressés, si vous regardez la section 4. Résultats expérimentaux , ils comparent les précisions de classification avec 1) les caractéristiques originales, 2) les caractéristiques transformées PCA et 3) la combinaison des deux, ce qui était quelque chose de nouveau pour moi.
Ma conclusion:
Les transformations de fonctionnalités basées sur PCA permettent de résumer les informations d'un grand nombre de fonctionnalités en un nombre limité de composants, c'est-à-dire des combinaisons linéaires des fonctionnalités originales. Cependant, les principaux composants sont souvent difficiles à interpréter (pas intuitifs) et, comme l'indiquent les résultats empiriques de cet article, ils n'améliorent généralement pas les performances de classification.
PS: Je note que l'une des limites de l'article qui aurait dû être répertoriée était le fait que les auteurs ont limité l'évaluation des performances des classificateurs à `` l'accumulation '' uniquement, ce qui peut être un indicateur de performance très biaisé.
la source
Supposons un cas simple avec 3 variables indépendantesX1, x2, x3 et la sortie y et supposons maintenant que X3= y et vous devriez donc pouvoir obtenir un modèle d'erreur 0.
Supposons maintenant que dans la formation, la variation dey est très faible et donc aussi la variation de X3 .
Maintenant, si vous exécutez PCA et que vous décidez de ne sélectionner que 2 variables, vous obtiendrez une combinaison deX1 et X2 . Ainsi, les informations deX3 c'était la seule variable capable d'expliquer y est perdu.
la source