Deje que sus datos (centrados) se almacenen en una matriz n×d matrix X con d características (variables) en columnas y n puntos de datos en filas. Deje que la matriz de covarianza C=X⊤X/n tenga vectores propios en columnas de E y valores propios en la diagonal de D , de modo que C=EDE⊤ .
Entonces, lo que usted llama transformación de blanqueamiento de PCA "normal" viene dada por WPCA=D−1/2E⊤ , vea mi respuesta en Cómo blanquear los datos usando ¿análisis de componentes principales?
Sin embargo, esta transformación de blanqueamiento no es única. De hecho, los datos blanqueados permanecerán blanqueados después de cualquier rotación, lo que significa que cualquier con matriz ortogonal también será una transformación de blanqueamiento. En lo que se llama blanqueamiento ZCA, tomamos (vectores propios apilados de la matriz de covarianza) como esta matriz ortogonal, es decir,W=RWPCARE
WZCA=ED−1/2E⊤=C−1/2.
Una propiedad definitoria de la transformación ZCA (a veces también llamada "transformación de Mahalanobis") es que da como resultado datos blanqueados que están lo más cerca posible de los datos originales (en el sentido de mínimos cuadrados). En otras palabras, si desea minimizar sujeto a se blanquea, entonces debería tomar . Aquí hay una ilustración 2D:∥X−XA⊤∥2XA⊤A=WZCA
La subparcela izquierda muestra los datos y sus ejes principales. Observe el sombreado oscuro en la esquina superior derecha de la distribución: marca su orientación. Las filas de se muestran en la segunda subtrama: estos son los vectores en los que se proyectan los datos. Después del blanqueamiento (abajo), la distribución se ve redonda, pero observe que también se ve rotada: la esquina oscura ahora está en el lado este, no en el lado noreste. Las filas de se muestran en la tercera subtrama (tenga en cuenta que no son ortogonales). Después del blanqueamiento (abajo) la distribución se ve redonda y está orientada de la misma manera que originalmente. Por supuesto, uno puede obtener de PCA blanqueaba los datos a ZCA blanqueado de datos girando con .WPCAWZCAE
El término "ZCA" parece haberse introducido en Bell y Sejnowski 1996en el contexto del análisis de componentes independientes, y significa "análisis de componentes de fase cero". Ver allí para más detalles. Lo más probable es que te hayas encontrado con este término en el contexto del procesamiento de imágenes. Resulta que cuando se aplica a un grupo de imágenes naturales (píxeles como entidades, cada imagen como un punto de datos), los ejes principales se parecen a los componentes de Fourier de frecuencias crecientes, vea la primera columna de su Figura 1 a continuación. Entonces son muy "globales". Por otro lado, las filas de transformación ZCA se ven muy "locales", vea la segunda columna. Esto se debe precisamente a que ZCA intenta transformar los datos lo menos posible, por lo que cada fila debería estar mejor cerca de una de las funciones básicas originales (que serían imágenes con un solo píxel activo). Y esto es posible de lograr,
Actualizar
En Krizhevsky, 2009, Aprendizaje de múltiples capas de características de Tiny Images , vea también ejemplos en las respuestas de @ bayerj (+1).
Creo que estos ejemplos dan una idea de cuándo el blanqueamiento ZCA podría ser preferible al PCA. Es decir, las imágenes blanqueadas con ZCA todavía se parecen a las imágenes normales , mientras que las imágenes blanqueadas con PCA no se parecen en nada a las imágenes normales. Esto es probablemente importante para algoritmos como las redes neuronales convolucionales (como, por ejemplo, las utilizadas en el artículo de Krizhevsky), que tratan juntos los píxeles vecinos y dependen en gran medida de las propiedades locales de las imágenes naturales. Para la mayoría de los otros algoritmos de aprendizaje automático, debería ser absolutamente irrelevante si los datos se blanquean con PCA o ZCA.