En el campo de la estadística multivariada , el análisis de componentes principales del kernel (kernel PCA) [1] es una extensión del análisis de componentes principales (PCA) que utiliza técnicas de métodos del kernel . Usando un kernel, las operaciones originalmente lineales de PCA se realizan en un espacio de Hilbert del kernel reproductivo .
Recuerde que el PCA convencional opera con datos centrados en cero; eso es,
donde es una de las observaciones multivariadas. Opera diagonalizando la matriz de covarianza ,
en otras palabras, da una descomposición propia de la matriz de covarianza:
que se puede reescribir como
(Ver también: Matriz de covarianza como operador lineal )
Para comprender la utilidad del PCA del núcleo, particularmente para la agrupación, observe que, si bien N puntos, en general, no pueden separarse linealmente en dimensiones, casi siempre pueden separarse linealmente en dimensiones. Es decir, dados N puntos , si los asignamos a un espacio N -dimensional con
es fácil construir un hiperplano que divida los puntos en grupos arbitrarios. Por supuesto, esto crea vectores linealmente independientes, por lo que no hay covarianza sobre la cual realizar la descomposición propia explícitamente como lo haríamos en PCA lineal.
En cambio, en el kernel PCA, se "elige" una función arbitraria y no trivial que nunca se calcula explícitamente, lo que permite la posibilidad de utilizar funciones de dimensiones muy altas si nunca tenemos que evaluar los datos en ese espacio. Como generalmente intentamos evitar trabajar en el espacio, al que llamaremos 'espacio de características', podemos crear el kernel N-by-N.
que representa el espacio del producto interno (ver matriz de Gramian ) del espacio de características que de otro modo sería intratable. La forma dual que surge en la creación de un núcleo nos permite formular matemáticamente una versión de PCA en la que nunca resolvemos los vectores propios y los valores propios de la matriz de covarianza en el espacio (ver Truco del núcleo ). Los N elementos en cada columna de K representan el producto escalar de un punto de los datos transformados con respecto a todos los puntos transformados (N puntos). En el siguiente ejemplo se muestran algunos núcleos conocidos.
Because we are never working directly in the feature space, the kernel-formulation of PCA is restricted in that it computes not the principal components themselves, but the projections of our data onto those components. To evaluate the projection from a point in the feature space onto the kth principal component (where superscript k means the component k, not powers of k)
We note that denotes dot product, which is simply the elements of the kernel . It seems all that's left is to calculate and normalize the , which can be done by solving the eigenvector equation
where is the number of data points in the set, and and are the eigenvalues and eigenvectors of . Then to normalize the eigenvectors , we require that
Care must be taken regarding the fact that, whether or not has zero-mean in its original space, it is not guaranteed to be centered in the feature space (which we never compute explicitly). Since centered data is required to perform an effective principal component analysis, we 'centralize' to become
where denotes a N-by-N matrix for which each element takes value . We use to perform the kernel PCA algorithm described above.
One caveat of kernel PCA should be illustrated here. In linear PCA, we can use the eigenvalues to rank the eigenvectors based on how much of the variation of the data is captured by each principal component. This is useful for data dimensionality reduction and it could also be applied to KPCA. However, in practice there are cases that all variations of the data are same. This is typically caused by a wrong choice of kernel scale.
In practice, a large data set leads to a large K, and storing K may become a problem. One way to deal with this is to perform clustering on the dataset, and populate the kernel with the means of those clusters. Since even this method may yield a relatively large K, it is common to compute only the top P eigenvalues and eigenvectors of the eigenvalues are calculated in this way.
Consider three concentric clouds of points (shown); we wish to use kernel PCA to identify these groups. The color of the points does not represent information involved in the algorithm, but only shows how the transformation relocates the data points.
First, consider the kernel
Applying this to kernel PCA yields the next image.
Now consider a Gaussian kernel:
That is, this kernel is a measure of closeness, equal to 1 when the points coincide and equal to 0 at infinity.
Tenga en cuenta en particular que el primer componente principal es suficiente para distinguir los tres grupos diferentes, lo cual es imposible usando solo PCA lineal, porque el PCA lineal opera solo en el espacio dado (en este caso bidimensional), en el que estas nubes de puntos concéntricos están no linealmente separable.
Se ha demostrado que Kernel PCA es útil para la detección de novedades [3] y la eliminación de ruido de imágenes. [4]