He hecho PCA en mi matriz de datos $ \mathbf{X} $ lo que me da, entre otras cosas, los valores propios $ \lambda $ y los vectores propios $ v $ de la matriz de covarianza de los datos $ C=\mathbf{X}^T \mathbf{X} $ . Ahora estoy ampliando mi análisis para aplicar también kernel PCA. Ahora, se puede demostrar que los valores propios de $ C $ debe ser igual a los valores propios de la matriz del núcleo $ \mathbf{K} $ : $$ \mathbf{K} \alpha = \lambda \alpha \\ \Leftrightarrow \mathbf{X} \mathbf{X}^T \alpha=\lambda \alpha \\ \Rightarrow \mathbf{X}^T \mathbf{X} \mathbf{X}^T \alpha=\lambda \mathbf{X}^T \alpha \\ \Leftrightarrow Cv=\lambda v $$
Con $ \alpha $ siendo el vector propio de $ \mathbf{K} $ y $ v:= \mathbf{X}^T \alpha $ siendo el vector propio de $ C $ .
Tras aplicar el kernel PCA con un lineal kernel (equivalente al PCA "estándar"), sin embargo, los valores propios son no igual. Veo, sin embargo, una relación (tal vez general) entre $ \lambda_{PCA} $ y $ \lambda_{KPCA} $ porque $ \overline{\lambda}_{PCA, i} = \overline{\lambda}_{KPCA, i} $ con $ \overline{\lambda}_i = \frac{\lambda_i}{\sum_{k=1}^n \lambda_k} $ para la $ i $ -de la $ n $ valores propios.
¿Por qué no son iguales los valores propios? Estoy usando Python con sklearn.decomposition.PCA
y sklearn.decomposition.KernelPCA
.