Je veux implémenter un algorithme dans un document qui utilise le noyau SVD pour décomposer une matrice de données. J'ai donc lu des documents sur les méthodes du noyau et le PCA du noyau, etc.
Pourquoi les méthodes du noyau? Ou, quels sont les avantages des méthodes du noyau? Quel est le but intuitif?
Est-ce en supposant qu'un espace dimensionnel beaucoup plus élevé est plus réaliste dans les problèmes du monde réel et capable de révéler les relations non linéaires dans les données, par rapport aux méthodes non-noyau? Selon les matériaux, les méthodes du noyau projettent les données sur un espace d'entités de grande dimension, mais elles n'ont pas besoin de calculer explicitement le nouvel espace d'entités. Au lieu de cela, il suffit de calculer uniquement les produits internes entre les images de toutes les paires de points de données dans l'espace des fonctionnalités. Alors pourquoi projeter sur un espace de dimension supérieure?
Au contraire, SVD réduit l'espace des fonctionnalités. Pourquoi le font-ils dans des directions différentes? Les méthodes du noyau recherchent une dimension supérieure, tandis que SVD recherche une dimension inférieure. Pour moi, cela semble bizarre de les combiner. Selon l'article que je lis ( Symeonidis et al. 2010 ), l'introduction de Kernel SVD au lieu de SVD peut résoudre le problème de rareté des données, améliorant les résultats.
D'après la comparaison de la figure, nous pouvons voir que KPCA obtient un vecteur propre avec une variance (valeur propre) plus élevée que PCA, je suppose? Parce que pour la plus grande différence des projections des points sur le vecteur propre (nouvelles coordonnées), KPCA est un cercle et PCA est une ligne droite, donc KPCA obtient une variance plus élevée que PCA. Cela signifie-t-il que KPCA obtient des composants principaux plus élevés que PCA?
la source
Réponses:
PCA (en tant que technique de réduction de dimensionnalité) tente de trouver un sous-espace linéaire de faible dimension dans lequel les données sont confinées. Mais il se pourrait que les données soient confinées dans un sous-espace non linéaire de faible dimension . Que se passera-t-il alors?
Jetez un coup d'œil à cette figure, extraite du manuel Bishop's "Pattern Recognition and Machine Learning" (Figure 12.16):
Les points de données ici (à gauche) sont situés principalement le long d'une courbe en 2D. L'ACP ne peut pas réduire la dimensionnalité de deux à un, car les points ne sont pas situés le long d'une ligne droite. Mais encore, les données sont "évidemment" situées autour d'une courbe non linéaire unidimensionnelle. Donc, même si PCA échoue, il doit y avoir un autre moyen! Et en effet, le noyau PCA peut trouver cette variété non linéaire et découvrir que les données sont en fait presque unidimensionnelles.
Il le fait en mappant les données dans un espace de dimension supérieure. Cela peut en effet ressembler à une contradiction (votre question n ° 2), mais ce n'est pas le cas. Les données sont cartographiées dans un espace de dimension supérieure, mais s'avèrent ensuite se situer sur un sous-espace de dimension inférieure de celui-ci. Vous augmentez donc la dimensionnalité pour pouvoir la diminuer.
L'essence du «truc du noyau» est qu'il n'est pas vraiment nécessaire de considérer explicitement l'espace de dimension supérieure, donc ce saut potentiellement déroutant dans la dimensionnalité est entièrement réalisé sous couvert. L'idée, cependant, reste la même.
la source