Si en el núcleo PCA elijo un núcleo lineal , ¿el resultado será diferente del PCA lineal ordinario ? ¿Son las soluciones fundamentalmente diferentes o existe alguna relación bien definida?
fuente
Si en el núcleo PCA elijo un núcleo lineal , ¿el resultado será diferente del PCA lineal ordinario ? ¿Son las soluciones fundamentalmente diferentes o existe alguna relación bien definida?
Resumen: el núcleo PCA con núcleo lineal es exactamente equivalente al estándar PCA.
Sea la matriz de datos centrada de tamaño N × D con variables D en columnas y N puntos de datos en filas. Entonces la matriz de covarianza D × D viene dada por X ⊤ X / ( n - 1 ) , sus vectores propios son ejes principales y los valores propios son variaciones de PC. Al mismo tiempo, se puede considerar la llamada matriz de Gram X X ⊤ del tamaño N × N. Es fácil ver que tiene los mismos valores propios (es decir, variaciones de PC) hasta el n - 1 factor, y sus vectores propios son componentes principales escalados a la norma de la unidad.
Esto era PCA estándar. Ahora, en el kernel PCA consideramos alguna función que asigna cada punto de datos a otro espacio vectorial que generalmente tiene una mayor dimensionalidad D n e w , posiblemente incluso infinito. La idea de kernel PCA es realizar la PCA estándar en este nuevo espacio.
Dado que la dimensionalidad de este nuevo espacio es muy grande (o infinita), es difícil o imposible calcular una matriz de covarianza. Sin embargo, podemos aplicar el segundo enfoque para PCA descrito anteriormente. De hecho, la matriz de Gram seguirá siendo del mismo tamaño manejable . Los elementos de esta matriz están dados por ϕ ( x i ) ϕ ( x j ) , que llamaremos función de núcleo K ( x i , x j ) = ϕ ( x i ) ϕ ( x j ). Esto es lo que se conoce como el truco del núcleo : en realidad, uno nunca necesita calcular , sino solo K ( ) . Los vectores propios de esta matriz de Gram serán los componentes principales en el espacio objetivo, los que nos interesan.
La respuesta a su pregunta ahora se vuelve obvia. Si , entonces la matriz de Gram del núcleo se reduce a X X ⊤, que es igual a la matriz de Gram estándar y, por lo tanto, los componentes principales no cambiarán.
Una referencia muy legible es Scholkopf B, Smola A y Müller KR, análisis de componentes principales de Kernel, 1999 , y tenga en cuenta que, por ejemplo, en la Figura 1, se refieren explícitamente al PCA estándar como el que utiliza el producto de punto como una función de kernel:
fuente
Me parece que un KPCA con núcleo lineal debería ser lo mismo que el PCA simple.
La matriz de covarianza de la que va a obtener los valores propios es la misma:
Puedes consultar con más detalles aquí .
fuente