Qual é a diferença entre o clareamento ZCA e clareamento PCA?

60

Estou confuso sobre o branqueamento ZCA e o branqueamento normal (que é obtido pela divisão dos componentes principais pelas raízes quadradas dos valores próprios de PCA). Até onde sei,

xZCAwhite=UxPCAwhite,
que são vetores próprios de PCA.U

Quais são os usos do clareamento ZCA? Quais são as diferenças entre o branqueamento normal e o ZCA?

RockTheStar
fonte
2
De acordo com "Redes neurais: truques do comércio", o PCA e o ZCA diferem apenas por uma rotação.
Martin Thoma 28/03

Respostas:

81

Deixe seus dados (centralizados) serem armazenados em uma matriz com recursos (variáveis) em colunas e pontos de dados em linhas. Deixe a matriz de covariância ter autovetores nas colunas e autovalores na diagonal de , para que .n×dXdnC=XX/nEDC=EDE

Então, o que você chama de transformação de clareamento do PCA "normal" é dado por , veja, por exemplo, minha resposta em Como clarear os dados usando análise do componente principal?WPCA=D1/2E

No entanto, essa transformação de clareamento não é única. De fato, os dados clareados permanecerão clareados após qualquer rotação, o que significa que qualquer com matriz ortogonal também será uma transformação de clareamento. No chamado branqueamento de ZCA, tomamos (vetores próprios empilhados juntos da matriz de covariância) como essa matriz ortogonal, ou seja,W=RWPCARE

WZCA=ED1/2E=C1/2.

Uma propriedade definidora da transformação ZCA ( às vezes também chamada de "transformação Mahalanobis") é que resulta em dados embranquecidos o mais próximo possível dos dados originais (no sentido dos mínimos quadrados). Em outras palavras, se você deseja minimizar sujeito a sendo embranquecido, você deve . Aqui está uma ilustração 2D:XXA2XAA=WZCA

Clareamento de PCA e ZCA

A subparcela esquerda mostra os dados e seus eixos principais. Observe o sombreamento escuro no canto superior direito da distribuição: ele marca sua orientação. Linhas de são mostradas na segunda subtrama: esses são os vetores nos quais os dados são projetados. Após o clareamento (abaixo), a distribuição parece redonda, mas observe que ela também parece girada - o canto escuro agora está no lado leste, não no lado nordeste. Linhas de são mostradas na terceira subtrama (observe que elas não são ortogonais!). Após o clareamento (abaixo), a distribuição parece redonda e é orientada da mesma maneira que originalmente. Claro, pode-se obter a partir PCA clareados dados para ZCA clareados dados rodando com .WPCAWZCAE

O termo "ZCA" parece ter sido introduzido em Bell e Sejnowski 1996no contexto da análise de componentes independentes e significa "análise de componentes de fase zero". Veja lá para mais detalhes. Muito provavelmente, você se deparou com esse termo no contexto do processamento de imagens. Acontece que, quando aplicados a um monte de imagens naturais (pixels como recursos, cada imagem como um ponto de dados), os eixos principais se parecem com componentes de Fourier de frequências crescentes, veja a primeira coluna da Figura 1 abaixo. Então eles são muito "globais". Por outro lado, as linhas de transformação do ZCA parecem muito "locais", consulte a segunda coluna. Isso ocorre precisamente porque o ZCA tenta transformar os dados o mínimo possível e, portanto, cada linha deve estar mais próxima de uma das funções básicas originais (que seriam imagens com apenas um pixel ativo). E isso é possível alcançar,

PCA e ZCA em Bell e Sejnowski 1996

Atualizar

Mais exemplos de filtros ZCA e de imagens transformadas com ZCA são dados em Krizhevsky, 2009, Aprendendo várias camadas de recursos a partir de imagens minúsculas , veja também exemplos na resposta de @ bayerj (+1).

Eu acho que esses exemplos dão uma idéia de quando o clareamento do ZCA pode ser preferível ao do PCA. Ou seja, as imagens embranquecidas com ZCA ainda se assemelham às imagens normais , enquanto as branqueadas com PCA não se parecem com imagens normais. Isso é provavelmente importante para algoritmos como redes neurais convolucionais (como, por exemplo, usadas no artigo de Krizhevsky), que tratam os pixels vizinhos juntos e, portanto, dependem muito das propriedades locais das imagens naturais. Para a maioria dos outros algoritmos de aprendizado de máquina, deve ser absolutamente irrelevante se os dados são clareados com PCA ou ZCA.

ameba diz Restabelecer Monica
fonte
Obrigado! Eu tenho uma pergunta: então isso significa que o ZCA basicamente altera o acesso, mas não altera muito a posição dos dados? (com base na sua área de sombreamento). Além disso, isso significa que sempre que fazemos clareamento, devemos fazer clareamento com ZCA? Como decidiríamos usar o PCAwhitening ou o ZCA whitening?
RockTheStar
4
(1) Não sei exatamente o que você quer dizer, mas diria o seguinte: o ZCA estende o conjunto de dados para torná-lo esférico, mas tenta não rotacioná-lo (enquanto o PCA o rotaciona bastante). (2) Na verdade, acho que, na maioria dos casos, não importa se você usa o clareamento de PCA ou ZCA. A única situação em que posso imaginar onde o ZCA poderia ser preferível é o pré-processamento para redes neurais convolucionais. Por favor, veja uma atualização para minha resposta.
Ameba diz Reinstate Monica
5
O PCA é como fazer uma transformação de Fourier, o ZCA é como transformar, multiplicar e transformar de volta, aplicando um filtro linear (fase zero). Então, o que vemos lá é a resposta de impulso do filtro em cada pixel. Os "componentes" envolvidos na operação são os mesmos, as colunas de E, que são os "componentes principais" ... quero dizer, você também pode chamar as linhas dos componentes W, mas acho importante entender que o os mesmos "componentes principais" estão envolvidos e, ao aplicar o ZCA, você volta ao domínio original, enquanto no PCA é necessário "reconstruir" o sinal.
dividebyzero
11
@dividebyzero +1 no seu último comentário, acho que essa é uma perspectiva valiosa. De qualquer forma, espero que o significado da minha última figura (extraído do artigo vinculado) esteja claro agora.
Ameba diz Reinstate Monica
11
@learning Você não vê imagens embranquecidas do PCA nessa página! Eles mostram "imagens com dimensões reduzidas de PCA", ou seja, reconstruções via PCA, mas não as próprias projeções de PCA.
Ameba diz Reinstate Monica
23

Dada uma composição Eigend de uma matriz de covariância que é a matriz diagonal dos valores próprios , o branqueamento comum recorre à transformação dos dados em um espaço em que a matriz de covariância é diagonal: (com algum abuso de notação.) Isso significa que podemos diagonalizar a covariância ao transformar os dados de acordo com

X¯X¯T=LDLT
D=diag(λ1,λ2,,λn)
D1L1X¯X¯TLTD1=D1L1LDLTLTD1=I
X~=D1L1X.

Esse é o clareamento comum com o PCA. Agora, o ZCA faz algo diferente - adiciona um pequeno epsilon aos valores próprios e transforma os dados novamente. Aqui estão algumas fotos do conjunto de dados do CIFAR antes e depois do ZCA.

X~=L(D+ϵ)1L1X.

Antes do ZCA:

antes da ZCA

Após ZCA comϵ=0.0001

após ZCA 1e-4

Após ZCA comϵ=0.1

após ZCA com 0,1

Para dados de visão, os dados de alta frequência normalmente residem no espaço medido pelos valores próprios mais baixos. Portanto, o ZCA é uma maneira de fortalecê-los, levando a bordas mais visíveis etc.

bayerj
fonte
11
O epsilon não deve ser adicionado antes de ser inverso? Eu acho que é simplesmente adicionado para estabilizar a inversão em caso de autovalores próximos de zero. Portanto, na verdade, se faz sentido adicioná-lo para o clareamento do ZCA, também faz sentido adicioná-lo para o clareamento do PCA.
Ameba diz Reinstate Monica
Sim, antes do inverso, obrigado. Como isso geralmente é feito com SVD na prática, não sei se é necessário estabilizar a inversão.
bayerj
Eu adicionei outra imagem para mostrar o efeito.
precisa saber é
2
+1, mas tenho vários outros detalhes e perguntas. (1) O que eu quis dizer sobre epsilon é que ele não é específico para o ZCA, mas também pode ser usado para o clareamento de PCA. (2) Não sei se entendi seu comentário sobre SVD: SVD ou não, é preciso inverter valores singulares, daí a necessidade de epsilon. (3) A transformação de clareamento do PCA é , você escreveu o contrário e isso faz com que o cálculo na segunda fórmula esteja errado ... (4) Figuras agradáveis, onde estão elas? de? (5) Você sabe em que situações o clareamento com ZCA é preferível ao clareamento com PCA e por quê? D1/2L
Ameba diz Reinstate Monica
(1) concordou. Não tenho intuição sobre o que isso significa. (2) Meu conhecimento de decomposição é incompleto aqui, mas eu assumi que uma matriz de inversão clássica em uma matriz de covariância singular falhará, enquanto SVD em uma matriz de dados que deu origem a uma covariância singular não irá falhar. (3) Obrigado, irá corrigi-lo. (4) Do meu código :) (5) Eu suponho que para muitos algoritmos que fornecem representações incompletas (por exemplo, GainShape K-Means, Auto codificadores, RICA) e / ou façam um trabalho semelhante, como a independência algébrica do PCA dos recursos dói, mas Eu não tenho nenhum conhecimento sobre isso.
bayerj