J'ai une matrice , contenant mes échantillons dans l' espace . Je souhaite maintenant coder ma propre analyse en composantes principales (ACP) dans Matlab. Je rabaisse d'abord à .X N = 20 D = 100 X X 0
J'ai lu dans le code de quelqu'un que dans de tels scénarios où nous avons plus de dimensions que d'observations, nous ne décomposons plus la matrice de covariance du . Au lieu de cela, nous Eigen-decompose . Pourquoi est-ce correct?1
La matrice de covariance normale est de taille , dont chaque élément nous indique la covariance entre deux dimensions. Pour moi, n'est même pas aux bonnes dimensions! C'est une matrice , alors que nous dirait-elle? Covariance entre deux observations?!1 N×N
X'X
etXX'
(ainsi que svd deX
etX'
). Ce qui est appelé "chargements" dans un cas sera appelé "scores pc" dans l'autre et vice versa. Parce que les deux ne sont que des coordonnées ( voir, par exemple ) et les axes, les "dimensions principales" sont les mêmes.n<p
il faut moins de RAM et moins de temps pour se décomposerXX'
car il est de plus petite taille.XX'
à l'ordinateur. Pourriez-vous s'il vous plaît me montrer très brièvement comment? Étant donné que les PC ne sont que des vecteurs propres de la matrice de covariance, j'ai tenté de passer de la valeur propre deXX'
à la valeur propre de la matrice de covarianceX'X
, mais j'ai échoué.Réponses:
La matrice de covariance est de taille et est donnée par C = 1D × D
La matrice dont vous parlez n'est bien sûr pas une matrice de covariance; il est appelé matrice de Gram et est de taille : G = 1N× N
L'analyse en composantes principales (ACP) peut être implémentée via la composition par eigend de l'une ou l'autre de ces matrices. Ce ne sont que deux façons différentes de calculer la même chose.
La façon la plus simple et la plus utile de voir cela est d'utiliser la décomposition en valeurs singulières de la matrice de données . En branchant cela dans les expressions pour C et G , nous obtenons: CX = U S V⊤ C g
Les vecteurs propres de la matrice de covariance sont les directions principales. Les projections des données sur ces vecteurs propres sont les principales composantes; ces projections sont données par U S . Principaux composants mis à l' échelle à la longueur de l' unité sont données par U . Comme vous le voyez, les vecteurs propres de la matrice de Gram sont exactement ces composants principaux mis à l'échelle. Et les valeurs propres de C et G coïncident.V U S U C g
la source