En el campo de la estadística multivariante , el análisis de componentes principales del núcleo (PCA del núcleo) [1] es una extensión del análisis de componentes principales (PCA) que utiliza técnicas de métodos del núcleo . Usando un kernel, las operaciones originalmente lineales de PCA se realizan en un espacio de Hilbert del kernel de reproducción .
Antecedentes: PCA lineal
Recuerde que el PCA convencional opera con datos centrados en cero; es decir,
- ,
dónde es uno de 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
- . [2]
(Ver también: Matriz de covarianza como operador lineal )
Introducción del kernel a PCA
Para comprender la utilidad del kernel PCA, particularmente para la agrupación en clústeres, observe que, si bien N puntos no pueden, en general, separarse linealmente endimensiones, casi siempre se pueden separar linealmente endimensiones. Es decir, dados N puntos,, si los mapeamos en un espacio N -dimensional con
- dónde ,
es fácil construir un hiperplano que divida los puntos en grupos arbitrarios. Por supuesto, estocrea vectores linealmente independientes, por lo que no hay covarianza sobre la cual realizar la descomposición propia explícitamente como lo haríamos en el PCA lineal.
En cambio, en el kernel PCA, un no trivial, arbitrario La función es 'elegida' que nunca se calcula explícitamente, lo que permite la posibilidad de usar dimensiones muy altas es si nunca tuviéramos que evaluar realmente los datos en ese espacio. Dado que generalmente tratamos de evitar trabajar en el-space, que llamaremos el 'espacio de características', podemos crear el kernel N-by-N
que representa el espacio de 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 kernel nos permite formular matemáticamente una versión de PCA en la que nunca resolvemos los autovectores y autovalores 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.
Debido a que nunca estamos trabajando directamente en el espacio de características, la formulación del kernel de PCA está restringida en el sentido de que no calcula los componentes principales en sí mismos, sino las proyecciones de nuestros datos sobre esos componentes. Para evaluar la proyección desde un punto en el espacio de características en el k-ésimo componente principal (donde el superíndice k significa el componente k, no las potencias de k)
Notamos eso denota producto escalar, que son simplemente los elementos del kernel . Parece que todo lo que queda es calcular y normalizar el, que se puede hacer resolviendo la ecuación del vector propio
donde N es el número de puntos de datos en el conjunto, y y son los autovalores y autovectores de K. Luego, para normalizar los autovectores es, requerimos que
Se debe tener cuidado con el hecho de que, ya sea que tiene media cero en su espacio original, no se garantiza que esté centrado en el espacio de características (que nunca calculamos explícitamente). Dado que se requieren datos centrados para realizar un análisis eficaz de componentes principales, ' centralizamos ' K para convertirnos en
dónde denota una matriz N-por-N para la cual cada elemento toma valor . Usamos para realizar el algoritmo PCA del kernel descrito anteriormente.
Aquí se debe ilustrar una advertencia del kernel PCA. En el PCA lineal, podemos usar los valores propios para clasificar los vectores propios en función de la cantidad de variación de los datos capturada por cada componente principal. Esto es útil para la reducción de la dimensionalidad de los datos y también podría aplicarse a KPCA. Sin embargo, en la práctica hay casos en los que todas las variaciones de los datos son iguales. Por lo general, esto se debe a una elección incorrecta de la escala del kernel.
Grandes conjuntos de datos
En la práctica, un gran conjunto de datos conduce a una gran cantidad de K y el almacenamiento de K puede convertirse en un problema. Una forma de lidiar con esto es realizar agrupaciones en el conjunto de datos y poblar el kernel con los medios de esas agrupaciones. Dado que incluso este método puede producir un K relativamente grande, es común calcular solo los valores propios de P superiores y los vectores propios de los valores propios se calculan de esta manera.
Ejemplo
Considere tres nubes concéntricas de puntos (mostradas); deseamos utilizar kernel PCA para identificar estos grupos. El color de los puntos no representa la información involucrada en el algoritmo, solo muestra cómo la transformación reubica los puntos de datos.
Primero, considere el kernel
Al aplicar esto al kernel PCA se obtiene la siguiente imagen.
Ahora considere un kernel gaussiano:
Es decir, este kernel es una medida de cercanía, igual a 1 cuando los puntos coinciden e igual a 0 en el infinito.
Nótese 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éntricas son no linealmente separables.
Aplicaciones
Se ha demostrado que el kernel PCA es útil para la detección de novedades [3] y la eliminación de ruido de imágenes. [4]
Ver también
Referencias
- ^ Schölkopf, Bernhard (1998). "Análisis de componentes no lineales como un problema de valor propio del núcleo". Computación neuronal . 10 (5): 1299-1319. CiteSeerX 10.1.1.100.3636 . doi : 10.1162 / 089976698300017467 . S2CID 6674407 .
- ^ Análisis de componentes no lineales como un problema de valor propio del kernel (informe técnico)
- ^ Hoffmann, Heiko (2007). "Kernel PCA para la detección de novedades" . Reconocimiento de patrones . 40 (3): 863–874. doi : 10.1016 / j.patcog.2006.07.009 .
- ^ Kernel PCA y eliminación de ruido en espacios de características. NIPS, 1999