Estoy confundido sobre el blanqueamiento de ZCA y el blanqueamiento normal (que se obtiene dividiendo los componentes principales por las raíces cuadradas de los valores propios de PCA). Por lo que sé,
donde son vectores propios de PCA.
¿Cuáles son los usos del blanqueamiento ZCA? ¿Cuáles son las diferencias entre el blanqueamiento normal y el blanqueamiento con ZCA?
pca
dimensionality-reduction
image-processing
RockTheStar
fuente
fuente
Respuestas:
Deje que sus datos (centrados) se almacenen en una matrizn×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 porWPCA=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=RWPCA R E
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⊤∥2 XA⊤ 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 .WPCA WZCA E
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.
fuente
Dada una descomposición propia de una matriz de covarianza donde es la matriz diagonal de valores propios , el blanqueamiento ordinario recurre a la transformación de los datos en un espacio donde la matriz de covarianza es diagonal: (con algún abuso de notación). Eso significa que podemos diagonalizar la covarianza transformando los datos de acuerdo con
Esto es blanqueamiento ordinario con PCA. Ahora, ZCA hace algo diferente: agrega un pequeño épsilon a los valores propios y transforma los datos nuevamente. Aquí hay algunas imágenes del conjunto de datos CIFAR antes y después de ZCA.
Antes de ZCA:
Después de ZCA conϵ=0.0001
Después de ZCA conϵ=0.1
Para los datos de visión, los datos de alta frecuencia generalmente residirán en el espacio abarcado por los valores propios más bajos. Por lo tanto, ZCA es una forma de fortalecerlos, lo que lleva a bordes más visibles, etc.
fuente