IA004 Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA ...attux/topico_8_2016.pdf · Na Fig. 4,...
-
Upload
nguyenhuong -
Category
Documents
-
view
227 -
download
0
Transcript of IA004 Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA ...attux/topico_8_2016.pdf · Na Fig. 4,...
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 1
Análise de Componentes Principais
1 Introdução
A análise de dados pertencentes a espaços de alta dimensão ocorre em diversas
aplicações de aprendizado de máquina – lidar com espaços desse tipo é difícil
tanto em termos analíticos quanto do ponto de vista de projeto de máquinas de
classificação ou regressão.
Tendo em vista esse fato, pode ser extremamente relevante realizar processos de
redução de dimensionalidade, que também podem ser vinculados à idéia de
compressão. Uma possibilidade clássica nesse sentido é obter uma transformação
linear que obtenha a representação de dados N-dimensionais num espaço M-
dimensional de menor dimensão.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 2
2 Análise de Componentes Principais
Em outras palavras, a partir de uma série de vetores de dados xk RN, desejamos
obter uma transformação linear A que faça uma projeção desses dados, gerando
vetores zk RM. Consideraremos que os vetores xk e zk são vetores-coluna, de
modo que A será uma matriz M x N.
Há dois pontos cruciais: 1) como conseguir uma projeção adequada, ou seja,
representativa? 2) Quanta “informação” será perdida quando os dados forem
levados para uma dimensão menor?
Uma idéia bastante natural para construir uma matriz de projeção é analisar qual
seria o erro quadrático médio (EQM) amostral entre os dados projetados e os
dados originais. Antes de apresentarmos o problema de otimização, faremos uma
hipótese que não altera o grau de generalidade da análise: suporemos que os dados
têm média amostral igual a zero. Se os dados tiverem média (note que a média,
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 3
aqui, corresponde a um vetor) não-nula, o caso acima é atingido se fizermos, para
todos os dados:
dadosN
i
i
dados
kk xN
xx1
1 (1)
sendo Ndados o número total de padrões. Perceba que (1) significa simplesmente que é
subtraída de cada dado a média amostral, forçando, assim, uma situação de média
zero. Nesse caso, a idéia exposta acima leva à seguinte função custo para que se
obtenham as direções de projeção ótimas:
2
1 1
1
dadosN
i
i
M
c
cic
dados
PCA xzN
J a (2)
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 4
Pode-se mostrar que o conjunto de direções ac, c = 1, ..., M, que minimiza essa
função custo corresponderá ao conjunto dos M autovetores associados aos M
maiores autovalores da matriz de autocorrelação amostral Rx dos dados. Essa
matriz, que é simétrica, tem dimensão N x N e é definida por elementos rij do tipo:
dadosN
l
jlil
dados
ij xxN
r1
,,
1 (3)
sendo xk,i o i-ésimo elemento do vetor xk. É possível definir essa matriz de modo
ainda mais simples como:
dadosN
l
T
ll
dados
xN 1
1xxR (4)
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 5
Se os dados não tivessem sido manipulados para terem média amostral nula, em
vez da matriz de autocorrelação, trabalharíamos com a matriz de autocovariância.
No entanto, é sempre possível realizar a manipulação descrita em (1), de modo
que a explicação aqui apresentada permanece plenamente abrangente.
A partir do problema formulado e analisado, obtemos um receituário simples para
obter as projeções ótimas:
1) Faça com que os dados passem a ter média amostral nula usando (1).
2) Estime a matriz de autocorrelação dos dados usando (4).
3) Escolha os M autovetores associados aos M maiores autovalores para fazerem o
papel de direções de projeção. O valor de M é definido pelo usuário.
4) Componha a matriz de projeção A concatenando os M vetores-coluna obtidos.
Cada vetor corresponderá a uma direção de projeção.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 6
Um primeiro ponto muito relevante é que os autovetores da matriz de
autocorrelação são ortogonais, o que quer dizer que as direções de projeção
possuem essa propriedade. Um segundo ponto é que a matriz Rx é definida não-
negativa, sendo, aliás, muitas vezes, definida positiva. Portanto, seus autovalores
serão sempre não-negativos e comumente positivos [Haykin, 1996].
Os elementos que compõem cada vetor z (vide equação (2)) são chamados de
componentes principais do vetor x a ele associado. Por esse motivo, a metodologia
exposta acima recebe o nome de análise de componentes principais (PCA, do
inglês principal component analysis) [Hyvarinen et al., 2001].
Vimos que a idéia de PCA surge diretamente à luz da idéia de buscar projeções
que minimizem o erro quadrático médio de “compressão” (redução de
dimensionalidade). No entanto, há uma outra interpretação para as projeções
obtidas.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 7
O primeiro componente principal será definido pela projeção de um vetor de
dados xk segundo a direção dada por a1, que, como vimos, é o autovetor associado
ao maior autovalor de Rx. Ora, como, então, z1,k = a1Txk, a variância desse
componente principal será E[z1,k2] = a1
TRxa1, lembrando que, no cálculo da
variância, levamos em conta que os vetores de dados têm média nula. É possível
mostrar que esse valor de variância será o maior alcançável para toda e qualquer
direção de projeção. Mais ainda, se os autovetores tiverem norma unitária, mostra-
se que E[z1,k2] será exatamente igual ao maior autovalor, ou seja, 1.
Isso revela que o primeiro componente principal é definido pela projeção que leva
à maior variância do sinal projetado, o que significa que, de certa forma, trata-se
de uma projeção que “preserva ao máximo” o “conteúdo energético” do sinal.
Interessantemente, o segundo componente principal também é obtido por meio da
direção que, com a restrição de ser ortogonal à primeira, leva à maior variância.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 8
Essa direção, como vimos, corresponde à do autovetor associado ao segundo
maior autovalor. Aliás, E[z2,k2] = 2 para norma unitária.
Essa idéia se estende até o caso limite em que o número de componentes
principais é igual ao número de elementos dos vetores de dados, sendo a última
direção incluída exatamente a direção do autovetor associado ao menor autovalor.
Interessantemente, no caso em que os autovetores tem norma unitária, pode-se
mostrar que
N
Mi
iPCAJ1
. Em outras palavras, o nível do erro quadrático médio
amostral associado ao modelamento por M componentes principais é igual à soma
dos N-M autovalores “deixados de fora”. Naturalmente, se M = N, não há redução
de dimensionalidade, e, portanto, não há erro de reconstrução. Uma outra forma
interessante de avaliar a qualidade da compressão é analisar a medida:
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 9
N
i
i
M
i
i
1
1
(5)
O valor de vai de 0 a 1, sendo tanto maior quanto, no sentido da variância, for mais
bem-sucedida a projeção.
É importante que percebamos de que forma é possível obter uma redução de
dimensionalidade bem-sucedida. Para tanto, é preciso que os dados estejam, no
sentido da variância, concentrados num subspaço de dimensão menor que N. Isso
fará com que um número M < N de projeções do sinal seja suficiente para capturar
os aspectos essenciais de sua estrutura, levando a um valor de JPCA baixo. A Fig. 1,
mostrada a seguir, ilustra uma possibilidade de redução de N = 3 para um
subespaço com M = 2.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 10
Não é de se espantar que PCA dependa da matriz de autocorrelação dos dados,
uma vez que é exatamente essa correlação entre elementos do vetor que pode gerar
“direções preferenciais” para projeção. Procure entender com clareza essa idéia.
Figura 1: Exemplo de PCA com N = 3 e M = 2.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 11
Vejamos um exemplo. Na Fig. 2, temos um conjunto de Ndados = 130 digitalizações
de versões escritas a mão do algarismo “3”.
Figura 2: Conjunto de 130 versões do algarismo “3”
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 12
Cada imagem é uma matriz 16 x 16 de níveis de cinza, podendo, destarte, ser
entendida como um vetor com 256 elementos. Essa é a dimensão original do
espaço dos dados, ou seja, N. Se fizermos a análise de componentes principais,
teremos a chance de avaliar a qualidade da compressão para diferentes valores de
M. Em particular, se usarmos M = 12 componentes principais, teremos que
= 60%, e se M = 50, teremos já = 90%. Portanto, parece ser possível trabalhar
com os dados com um número de atributos bastante menor que os 256 originais.
Isso poderia simplificar bastante, por exemplo, o projeto de um classificador para
reconhecer os dígitos, caso essa fosse nossa intenção.
Avaliemos agora um outro problema. Temos um conjunto de dados no R3, ou seja,
N = 3. Os dados são apresentados na Fig. 3.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 13
Figura 3: Dados num espaço tridimensional
Após termos forçado os dados a terem média amostral nula, obtivemos a matriz de
autocorrelação. Os três autovalores dessa matriz foram 1 = 2.0013, 2 = 1.2878 e
3 = 0.3244.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 14
Na Fig. 4, apresentamos, em vermelho, a representação dos dados no subespaço
formado exclusivamente pelo autovetor associado ao maior autovalor da matriz.
Nesse caso, tem-se que = 0.5581 e que os dados estarão sobre uma reta. O
ângulo de observação da figura difere do ângulo mostrado na Fig. 3 para facilitar a
visualização.
Figura 4: Dados e versão projetada para M = 1.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 15
Agora, vamos adicionar mais um componente principal, ou seja, tratemos de
projetar os dados num subespaço bidimensional (M=2). De antemão, sabemos que
= 0.9094, o que nos faz esperar uma substancial melhora na qualidade da
compressão. A Fig. 5 traz o resultado, sendo a versão projetada mostrada
novamente em vermelho. Perceba que, como era de se esperar, os dados
projetados estão num plano. Mais uma vez, escolhemos um ângulo de observação
conveniente.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 16
Figura 5: Dados e versão projetada para M = 2.
Embora a metodologia de PCA seja bastante sólida e útil, ela, não obstante, pode
não levar necessariamente à projeção mais “informativa” em alguns casos. Isso fez
com que surgisse o interesse pela busca por projeções não-lineares de dados e
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 17
também por critérios que usassem estatísticas de ordem superior a dois (lembre-se
que PCA adota exclusivamente o conhecimento da estrutura de correlação dos
dados). Veremos, mais adiante, que esse caminho nos leva a resultados ligados à
noção mais abrangente de análise de componentes independentes (ICA, do inglês
independent component analysis).
3 Expansão de Karhunen-Loève
É importante mencionar, quando se fala de análise de componentes principais,
que uma idéia análoga permeia a idéia de expansão de Karhunen-Loève de um
vetor aleatório x(n) [Haykin, 1996]. Nesse caso, em contraste com a definição
de PCA, pensaremos no vetor x(n) como sendo composto de amostras atrasadas
de um mesmo processo estocástico x(n), ou seja,
x(n) = [x(n) x(n-1) ... x(n-N+1)]T. Em tal caso, pode-se escrever:
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 18
N
1i
ii )n(z)n( ax (6)
Os vetores ai são exatamente os autovetores da matriz de autocorrelação associada
ao vetor x(n) (que é considerado como tendo média nula). Perceba a perfeita
analogia com PCA.
Os valores zi(n) são calculados por uma equação de síntese do tipo: zi(n) =
aiTx(n), ou seja, correspondem a projeções do vetor aleatório nas direções dos
autovetores da matriz Rx. Da mesma forma que no caso de PCA, é possível
desprezar alguns dos menores autovalores, e, assim, obter uma representação
associada à projeção em um número de direções ortogonais menor que N. Isso
corresponderia a uma espécie de “compressão”.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 19
Uma aplicação desse processo de compressão no âmbito de Karhunen-Loève é
que, se o processo x(n) contiver ruído branco (i.e. ruído sem correlação
temporal), ao mantermos apenas algumas direções principais de sua
representação, eliminaremos potência associada a componentes ruidosas. Caso a
distorção causada pela compressão (associada à soma dos menores autovalores
“excluídos”) for menor que a potência de ruído eliminada, pode-se até mesmo
“ganhar qualidade” por meio do uso de Karhunen-Loève. Isso eventualmente
pode ser útil também no contexto de PCA.
4 Regra de Hebb, Regra de Oja e PCA
Em seu famoso trabalho The Organization of Behavior, Donald Hebb propôs a
hipótese de que, quando um neurônio A participa repetidamente da excitação de
um neurônio B, influenciando constantemente no processo de disparo deste
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 20
último, deve ocorrer algum tipo de fenômeno que reforce ainda mais essa
relação entre as células [Diamantaras e Kung, 1996]. Essa idéia, que é
conhecida como regra de Hebb [Haykin, 1994], é diretamente exprimível em
termos da correlação entre dois sinais.
Suponhamos que estejamos interessados em adaptar um neurônio linear cuja
saída é dada por:
y(n) = wT(n)x(n) (7)
sendo x(n) = [x0(n) x1(n) ... xN-1(n)]T e w(n) um vetor contendo os N pesos sinápticos
no instante n. Um processo adaptativo de inspiração hebbiana para treinar esse
neurônio é o seguinte [Haykin, 1994]:
w(n+1) = w(n) + y(n)x(n) (8)
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 21
Perceba que, nessa regra, o termo y(n)x(n) representa um vetor de estimativas
instantâneas da correlação entre cada entrada do neurônio e a sua saída. A
analogia com Hebb fica mais forte se tivermos em mente o fato de que a entrada
de um neurônio pode ser a saída de outro.
Uma dificuldade com a forma apresentada da regra de Hebb é que a expressão
dada acima pode levar a um crescimento ilimitado do vetor de pesos, razão pela
qual se adota geralmente algum processo de normalização [Haykin, 1994]. Um
processo desse tipo leva à chamada regra de Oja [Diamantaras e Kung, 1996]:
w(n+1) = w(n) + y(n)[x(n)-y(n)w(n)] (9)
Perceba que o termo com sinal negativo funciona como um fator de estabilização
que evita a supracitada divergência.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 22
Uma propriedade crucial da regra de Oja, que termina por vinculá-la
definitivamente à noção de PCA, é que a convergência do vetor de pesos se dá
para o autovetor associado ao maior autovalor da matriz de autocorrelação do
vetor de entrada x(n). Em outras palavras, aplicando a regra de Oja, obtemos,
como resultado, o primeiro componente principal do vetor x(n).
5 Redes Lineares e Compressão
Outra possibilidade interessante de realizar compressão de dados é utilizar uma
rede neural linear com uma camada de entrada N-dimensional, uma camada
intermediária com M neurônios e uma camada de saída com N neurônios, como
mostra a Fig. 6. Assume-se que M < N.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 23
Figura 6: Arquitetura para Compressão
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 24
Note que a camada intermediária funciona como uma espécie de gargalo,
mapeando linearmente N entradas num espaço de saídas M-dimensional. Por
outro lado, a camada de saída tem o efeito oposto, já que mapeia um vetor com
M dimensões num vetor de saída com N dimensões.
Podemos usar o efeito de gargalo da camada intermediária como um caminho
para realizar a compressão dos vetores de entrada. Para tanto, imagine que
treinemos a rede exposta de uma maneira aparentemente trivial: para cada vetor
de entrada x(n), consideramos que o vetor de sinais desejados será exatamente
igual a x(n). Em outras palavras, propõe-se um treinamento de auto-associação:
desejamos simplesmente que a rede reflita, em sua saída, o mesmo vetor que
recebe na entrada [Diamantaras e Kung, 1996].
Não obstante a aparência trivial, há algo profundo na metodologia exposta: já
que existe compressão, ao buscarmos recuperar na saída a rede o padrão de
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 25
entrada, estaremos, indiretamente, procurando realizar uma compressão
eficiente!
Análises expostas em [Diamantaras e Kung, 1996] mostram que, sob algumas
condições, pode-se considerar que, após a convergência do processo de ajuste
dos pesos, as M saídas dos neurônios da camada intermediária corresponderão
aos M primeiros componentes principais do vetor x(n).
6 Referências bibliográficas
DIAMANTARAS, K. I., KUNG, S. Y., “Principal Component Neural Networks: Theory
and Applications”, Wiley, 1996.
DUDA, R. O., HART, P. E, STORK, D. G., “Pattern Classification”, Wiley, 2001.
GOLUB, G.H. & VAN LOAN, C.F. “Matrix Computations”, Johns Hopkins Series in
the Mathematical Sciences, Johns Hopkins University Press, 3rd edition, 1996.
IA004 – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp
Tópico 8 – Análise de Componentes Principais 26
HASTIE, T., TIBSHIRANI, R. & FRIEDMAN, J. “The Elements of Statistical Learning:
Data Mining, Inference, and Prediction”, Springer, 2001.
HAYKIN, S., “Neural Networks: a Comprehensive Foundation”, MacMillan, 1994.
HAYKIN, S., “Adaptive Filter Theory”, Prentice-Hall, 1996.
HYVARINEN, A., KARHUNEN, J., OJA, E., “Independent Component Analysis”, Wiley,
2001.
MARDIA, K.V., KENT, J.T. & BIBBY, J.M. “Multivariate Analysis”, Academic Press,
1979.
STRANG, G. “Linear Algebra and Its Applications”, Harcourt Brace College
Publishers, 1988 (4th edition, 2000).