84 votos

¿Cuál es la diferencia entre la ZCA de blanqueamiento y la PCA de blanqueamiento?

Estoy confundido acerca de la ZCA de blanqueamiento y normal de blanqueamiento (que se obtiene mediante la división de componentes principales por las raíces cuadradas de PCA autovalores). Hasta donde yo sé,

$$\mathbf x_\mathrm{ZCAwhite} = \mathbf U \mathbf x_\mathrm{PCAwhite},$$ where $\mathbf U$ son vectores propios de la PCA.

¿Cuáles son los usos de la ZCA de blanqueamiento? ¿Cuáles son las diferencias entre la normal de blanqueamiento y la ZCA de blanqueamiento?

112voto

zowens Puntos 1417

Deje que su (centrado) los datos se almacenan en un $n\times d$ matriz $\mathbf X$ $d$ características (variables), en las columnas y $n$ puntos de datos en filas. Deje que la matriz de covarianza $\mathbf C=\mathbf X^\top \mathbf X/n$ tiene vectores propios en las columnas de $\mathbf E$ y valores propios de la diagonal de a $\mathbf D$, por lo que el $\mathbf C = \mathbf E \mathbf D \mathbf E^\top$.

Entonces, lo que llamamos "normal" de la PCA de blanqueamiento de transformación está dada por $\mathbf W_\mathrm{PCA} = \mathbf D^{-1/2} \mathbf E^\top$, véase, por ejemplo, mi respuesta a Cómo blanquear los datos mediante análisis de componentes principales?

Sin embargo, esta transformación de blanqueamiento no es única. De hecho, blanqueados datos permanecerán blanqueados después de la rotación, lo que significa que cualquier $\mathbf W = \mathbf R \mathbf W_\mathrm{PCA}$ con ortogonal de la matriz $\mathbf R$ también será un blanqueamiento de transformación. En lo que se llama ZCA de blanqueamiento, tomamos $\mathbf E$ (apilar los vectores propios de la matriz de covarianza) como este ortogonal de la matriz, es decir, $$\mathbf W_\mathrm{ZCA} = \mathbf E \mathbf D^{-1/2} \mathbf E^\top = \mathbf C^{-1/2}.$$

Una definición de propiedad de la ZCA de la transformación (a veces también llamado "Mahalanobis transformación") es que los resultados en el blanqueado de datos que está tan cerca como sea posible a los datos originales (en el sentido de los mínimos cuadrados). En otras palabras, si usted desea minimizar $\|\mathbf X - \mathbf X \mathbf A^\top\|^2$ $ \mathbf X \mathbf A^\top$ ser blanqueados, entonces usted debe tomar el $\mathbf A = \mathbf W_\mathrm{ZCA}$. Aquí es una ilustración 2D:

PCA and ZCA whitening

A la izquierda subtrama muestra los datos y sus ejes principales. Nota: el sombreado oscuro en la esquina superior derecha de la distribución: es la marca de su orientación. Filas de $\mathbf W_\mathrm{PCA}$ se muestra en el segundo subtema: estos son los vectores de los datos es proyectada. Después del blanqueamiento (por debajo) de la distribución se ve redonda, pero aviso que también se ve girar --- esquina oscura está ahora en el lado Este, no en el Norte-Este. Filas de $\mathbf W_\mathrm{ZCA}$ se muestra en el tercer subtema (tenga en cuenta que no son ortogonales!). Después del blanqueamiento (por debajo) de la distribución se ve redondo y orientación de la misma manera como originalmente. Por supuesto, uno puede obtener de la PCA de blanqueado de datos para ZCA blanqueado de datos mediante la rotación de con $\mathbf E$.

El término "ZCA" parece haber sido introducido en la Campana y Sejnowski de 1996, en el contexto de análisis de componentes independientes, y significa "cero-fase de análisis de los componentes". Ver más detalles. Probablemente llegó a través de este término en el contexto del procesamiento de imágenes. Resulta, que cuando se aplica a un montón de imágenes naturales (píxeles como características, cada imagen como un punto de datos), de los ejes principales de la mirada como componentes de Fourier de aumento en las frecuencias, véase la primera columna de su Figura 1 a continuación. Por lo que son muy "global". Por otro lado, las filas de la ZCA de transformación de un aspecto muy "local", véase la segunda columna. Este es, precisamente, porque ZCA intenta transformar los datos como poco como sea posible, y de modo que cada fila debe ser mejor cerca de una de las originales de funciones de base (que serían las imágenes con sólo un activo de píxel). Y esto es posible de lograr, debido a que las correlaciones de las imágenes naturales son en su mayoría muy local (por lo de-correlación de los filtros también pueden ser locales).

PCA and ZCA in Bell and Sejnowski 1996

Actualización

Más ejemplos de ZCA de los filtros y de las imágenes transformadas con ZCA se dan en Krizhevsky De 2009, el Aprendizaje de Múltiples Capas de las Características de Pequeñas Imágenes, ver también ejemplos en @bayerj la respuesta (+1).

Creo que estos ejemplos dan una idea de la ZCA de blanqueamiento puede ser preferible a la PCA. Es decir, ZCA-blanqueados imágenes todavía se asemejan a las imágenes, mientras que el PCA-blanqueados queridos no se parecen en nada, como imágenes normales. Este es probablemente importante para los algoritmos como convolucional redes neuronales (como por ejemplo, en Krizhevsky del papel), que tratan a sus vecinos píxeles juntos y en gran medida dependen de las propiedades locales de las imágenes naturales. Para la mayoría de los otros algoritmos de aprendizaje automático debe ser absolutamente irrelevante si los datos se blanquea con PCA o ZCA.

27voto

karatchov Puntos 230

Dado un Eigendecomposition de una matriz de covarianza $$ \bar{X}\bar{X}^T = LDL^T $$ donde $D = \text{diag}(\lambda_1, \lambda_2, \dots, \lambda_n)$ es la matriz diagonal de Valores propios, ordinario de blanqueamiento recurre a la transformación de los datos en un espacio donde la matriz de covarianza diagonal: $$\sqrt{D^{-1} L}^{-1}\bar{X}\bar{X}^TL^{-T}\sqrt{D^{-1}} = \sqrt{D^{-1} L}^{-1}LDL^TL^{-T}\sqrt{D^{-1}} \\ = \mathbf{I} $$ (con un poco de abuso de notación.) Eso significa que podemos diagonalize la covarianza mediante la transformación de los datos de acuerdo a $$ \tilde{X} = \sqrt{D^{-1} L}^{-1}X. $$

Este es ordinario blanqueamiento con PCA. Ahora, ZCA hace algo diferente, se añade una pequeña epsilon a los Autovalores y transforma los datos de nuevo. $$ \tilde{X} = L\sqrt{(D + \epsilon)^{-1} L}^{-1}X. $$ Aquí están algunas fotos de los CIFAR conjunto de datos antes y después de la ZCA.

Antes de ZCA:

before ZCA

Después de la ZCA con $\epsilon = 0.0001$

after ZCA 1e-4

Después de la ZCA con $\epsilon = 0.1$

after ZCA with .1

Para la visión de datos, alta frecuencia de datos normalmente residen en el espacio generado por los menores Valores propios. Por lo tanto ZCA es una manera de fortalecer estos, dando lugar a más visibles los bordes etc.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X