Je sais comment calculer mathématiquement PCA et SVD, et je sais que les deux peuvent être appliqués à la régression linéaire des moindres carrés.
Le principal avantage de SVD semble mathématiquement être qu'il peut être appliqué à des matrices non carrées.
Les deux se concentrent sur la décomposition de la matriceOutre l'avantage de SVD mentionné, y a-t-il des avantages ou des informations supplémentaires fournis en utilisant SVD sur PCA?
Je recherche vraiment l'intuition plutôt que des différences mathématiques.
pca
least-squares
svd
Baz
la source
la source
advantage... SVD over PCA
- svd et PCA ne peuvent pas être comparés comme une opération mathématique et une méthode d'analyse de données. Votre question peut-elle concerner les façons de réaliser l'APC ? Ou que demandez-vous?Réponses:
Comme l'ont dit @ttnphns et @ nick-cox, SVD est une méthode numérique et PCA est une approche d'analyse (comme les moindres carrés). Vous pouvez faire PCA en utilisant SVD, ou vous pouvez faire PCA en faisant la décomposition propre de (ou ), ou vous pouvez faire PCA en utilisant de nombreuses autres méthodes, tout comme vous pouvez résoudre les moindres carrés avec une douzaine d'algorithmes différents comme la méthode de Newton ou la descente de gradient ou SVD etc.X X TXTX XXT
Il n'y a donc aucun "avantage" à SVD par rapport à PCA parce que c'est comme demander si la méthode de Newton est meilleure que les moindres carrés: les deux ne sont pas comparables.
la source
La question est vraiment de savoir si vous devez effectuer une normalisation Z-score des colonnes avant d'appliquer le SVD. C'est parce que PCA est la transformation ci-dessus suivie par la SVD. Parfois, faire la normalisation est assez dangereux. Si vos données sont par exemple des nombres de mots (transformés) qui sont positifs, la soustraction de la moyenne est définitivement nuisible. En effet, les zéros qui représentent l'absence d'un mot dans un document seront mappés sur des nombres négatifs de grande ampleur. Dans les problèmes linéaires, la magnitude supérieure doit être utilisée pour représenter la plage dans laquelle vos entités sont les plus sensibles. La division par l'écart-type est également nuisible pour ce type de données.
la source