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,
que são vetores próprios de PCA.
Quais são os usos do clareamento ZCA? Quais são as diferenças entre o branqueamento normal e o ZCA?
pca
dimensionality-reduction
image-processing
RockTheStar
fonte
fonte
Respostas:
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×d X d n C=X⊤X/n E D C=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=D−1/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=RWPCA R E
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:∥X−XA⊤∥2 XA⊤ A=WZCA
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 .WPCA WZCA E
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,
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.
fonte
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
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.
Antes do ZCA:
Após ZCA comϵ=0.0001
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.
fonte