Você está na página 1de 46

Aluizio Fausto Ribeiro Arajo

Universidade Federal de Pernambuco


Centro de Informtica
Anlise de Componentes Principais
(Principal Component Analysis - PCA)
2
Contedo
Introduo
Reviso Matemtica
Reviso Estatstica
Reviso de lgebra Matricial
Anlise de Componentes Principais
Mtodo da Covarincia
Exemplo Ilustrativo
PCA e Aprendizagem Auto-Organizada
Algoritmo Hebbiano Generalizado AHG
Extrao Adptativa de Componentes Principais (Adaptive
Principal Components Extraction) APEX
Referncias
3
Introduo
Anlise de Componentes Principais um mtodo de identificar
padres nos dados, para express-los de modo a salientar as
similaridades e diferenas existentes entre eles.
Alm de se encontrar os padres nos dados, PCA pode ser
usado para comprimir ou reduzir sua dimensionalidade.
Portanto, PCA pode ser entendido como um mtodo estatstico
para seleo de caractersticas e reduo de dimensionalidade:
Seleo de caractersticas envolve um processo no qual um espao
de dados transformado em um espao de caractersticas. Os dois
espaos mencionados tm a mesma dimenso.
A transformao diminui o nmero de caractersticas tomadas,
reduzindo dimensionalidade do conjunto de dados mas
preservando a maior parte da informao intrnseca a ele.
4
Reviso de Estatstica e lgebra
A seguir so expostos os conceitos bsicos de
estatstica e lgebra necessrios compreenso do
processo de Anlise de Componentes Principais.
Conceitos de estatstica:
Mdia, desvio padro, varincia, covarincia, matriz de
covarincia.
Conceitos de lgebra matricial:
Autovalores e autovetores.
5
Conceitos de Estatstica: Mdia
Seja um conjunto X de dados retirados aleatoriamente de uma
amostra de dados qualquer. Nela, X
1
denota o primeiro
elemento da amostra, X
i
o i-simo, e assim por diante at X
n
que representa o ltimo elemento da amostra contendo n
elementos.
A mdia do conjunto de dados X pode ser calculada por:
(1)
onde indica o valor mdio do conjunto de dados X.
n
X
X
n
i
i

1
X
6
Conceitos de Estatstica: Desvio Padro
O desvio padro de uma amostra de dados define o quo
espalhada em torno da mdia essa amostra est. Calcula-se o
desvio padro atravs da equao abaixo.
(2)
onde s o smbolo utilizado comumente para representar o
desvio padro de uma amostra.
( )
( ) 1
1
2

n
X X
s
n
i
i
7
Conceitos de Estatstica: Varincia
Varincia outra medida do espalhamento do conjunto de dados. O
clculo da varincia apresentado a seguir:
(3)
s
2
denota a varincia de uma amostra. A equao (3) pode ser
reescrita de forma mais clara:
(4)
onde var(X) caracteriza a varincia do conjunto X.
( )
( ) 1
1
2
2

n
X X
s
n
i
i
( )( )
( ) 1
) var(
1

n
X X X X
X
n
i
i i
8
Conceitos de Estatstica: Varincia
O desvio padro e a varincia operam apenas sobre uma
dimenso.
Em uma amostra com mais de uma dimenso seria necessrio
calcul-los para cada dimenso independentemente das outras.
Contudo, em alguns casos interessante ter uma medida de
como os dados em cada dimenso variam em funo da mdia
e como estas variaes, em dimenses distintas, se relacionam
entre si.
A covarincia responsvel por essa medida e sempre
calculada entre duas dimenses.
9
Conceitos de Estatstica: Covarincia
A covarincia entre duas variveis aleatrias reais X e Y, com
valores esperados definida como uma
medida de como as duas variveis se modificam conjuntamente:
.
(5)
A covarincia entre uma dimenso e ela mesma a varincia.
O sinal da covarincia importante pois
Se positivo, indica que ambas as dimenses crescem juntas.
Se negativo, indica que se uma dimenso cresce a outra decresce.
Quando a covarincia zero, indica que as dimenses so
independentes entre si.
( )( )
( ) 1
) , cov(
1

n
Y Y X X
Y X
n
i
i i
Y Y E X X E ) ( , ) (
10
Conceitos de Estatstica: Covarincia
A expresso geralmente usada para clculo da covarincia :
Se X e Y so independentes, ento a sua covarincia zero.
possvel que X e Y no sejam independentes e tenham covarincia zero,
so as chamadas variveis descorrelacionadas.
Se X e Y so variveis aleatrias de valor real e a, b, c e d constantes,ento:

,
_

+ +
i j
j i
j
j
i
i
Y X Y X
X Y ac d cY b aX X Y Y X
) , cov( , cov
) , cov( ) , cov( ); , cov( ) , cov(
Y X XY E X E X E XY E Y X ) ( ) ( ). ( ) ( ) , cov(
11
Conceitos de Estatstica: Matriz de
Covarincia
Matriz de covarincia uma matriz simtrica que apresenta a
covarincia entre n variveis.
(6)
onde, M
cov
a matriz com n linhas e n colunas.
Assim, a clula da linha 2 e coluna 3, apresenta a covarincia
entre o 2
o
e 3
o
elementos.
( )( ) [ ]
( )( ) [ ] ( )( ) [ ] ( )( ) [ ]
( )( ) [ ] ( )( ) [ ] ( )( ) [ ]
( )( ) [ ] ( )( ) [ ] ( )( ) [ ]
1
1
1
1
]
1


n n n n n n n n
n n
n n
T
X X X X E X X X X E X X X X E
X X X X E X X X X E X X X X E
X X X X E X X X X E X X X X E
M
E M
K
M M M M
K
K
2 2 1 1
2 2 2 2 2 2 1 1 2 2
1 1 2 2 1 1 1 1 1 1
cov
cov
X X X X
12
Conceitos de lgebra Matricial
Seja T :V ? V um operador linear. Um vetor v ? V, v ? 0
v
, dito
ser autovetor, vetor prprio ou vetor caracterstico do operador
T, se existir ? ? R tal que T(v) = ? v.
A escalar ? chamada de autovalor, valor prprio ou valor
caracterstico do operador linear T associado ao autovetor v.
Por exemplo:
. autovalor um a associado autovetor ,
2
1
1
. 4
8
4
4
) 2 , 1 , 1 (
ento ,
3 2
2 , :
3 3
v v
1
1
1
]
1

1
1
1
]
1

1
1
1
]
1

+
+
+ +

1
1
1
]
1


T
z y
z y
z y x
z
y
x
T
13
Conceitos de lgebra Matricial
Autovetores de uma transformao so vetores cuja direo no
alterada por essa transformao.
Seja A uma matriz que representa uma transformao linear entre dois
vetores.
Se existir um vetor tal que
ento ?
i
uma grandeza escalar chamada de autovalor (eigenvalue) de
A cujo autovetor (eigenvector) associado v
i
.
[ ] unitria diagonal matriz : , onde ,
T
2 1
I v Iv Av
n
v v v ? K
v
0 v
n
R
14
Conceitos de lgebra Matricial
Propriedades dos autovetores:
S h autovetores para matrizes quadradas;
Nem toda matriz quadrada os apresenta.
Uma matriz nn tem no mximo n autovalores;
Se um autovetor for multiplicado por uma escalar, ele ainda ser
um autovetor relacionado ao mesmo autovalor;
Autovetores so linearmente independentes entre si formando base
de um espao. Autovetores de matrizes simtricas so ortogonais.
15
Conceitos de lgebra Matricial
Essa ltima caracterstica torna os autovetores de uma matriz
interessante para represent-la em seu espao, isto , os
autovetores so usados como os eixos do espao de A.
Nesse caso para facilitar os clculos usa-se autovetores unitrios
(magnitude igual a 1) correspondentes aos autovetores.
Por fim, d-se o nome de autoespao (eigenspace) ao conjunto
de autovetores que esto relacionados ao mesmo autovalor. O
vetor nulo faz parte desse espao, apesar de no ser um
autovetor.
16
Conceitos de lgebra Matricial
Existem vrios processos usados para encontrar os autovalores
e autovetores de uma matriz quadrada:
Resoluo direta do sistema linear;
Polinmio caracterstico;
Diagonalizao de matriz ou eigendecomposition;
Algoritmos iterativos.
Se A for a matriz cannica que representa o operador linear T:
Clculo de autovalores de A: det(A I) = 0;
Clculo de autovetores de A: para cada , so as solues da
equao Av = v ou (A I)v = 0.
17
Anlise de Componentes Principais - PCA
PCA uma transformao linear dos dados para um novo
sistema de coordenadas, onde a maior varincia de todas as
projees dos dados, ser posicionada como primeira
coordenada (chamada componente principal), a segunda maior
varincia ser a segunda coordenada e assim por diante.
PCA tambm chamada de:
Transformada (discreta) de Karhunen-Love - KLT (Kari
Karhunen e Michel Love);
Transformada de Hotelling (Harold Hotelling).
PCA a transformao linear tima no intuito de preservar o
subespao que tem a maior varincia.
18
Anlise de Componentes Principais - PCA
Existem diferentes mtodos para se realizar PCA:
Estatsticos e Algbricos
Mtodo da Covarincia
Mtodo da Correlao
Redes Auto-Organizadas
Algoritmo Hebbiano Generalizado AHG
Adaptive Principal Components Extraction APEX
Kernel PCA
19
PCA- Mtodo de Covarincia
Descrio:
O objetivo desse mtodo transformar um conjunto de
dados x de dimenso qualquer um conjunto alternativo
de dados y de menor que o anterior.
Portanto, procura-se a matriz Y, onde Y a
transformada de Karhunen-Love (KLT) da matriz X:
Y=KLT{X}
20
PCA- Mtodo de Covarincia
Organizao dos dados
Suponha que se tem um conjunto de dados correspondendo a
um conjunto de observaes de M variveis.
E que se queria reduzir os dados para L variveis, L < M.
Suponha, tambm, que os dados estejam arrumados em um
conjunto de N vetores de dados x
1
, x
2
, ..., x
N
.
Cada vetor representa uma nica observao de M variveis.
1. Escreva x
1
, x
2
, ..., x
N
como vetores dispostos em colunas, cada
um com M linhas.
2. Arrume os vetores dispostos em colunas em uma nica matriz
X de dimenso M N.
21
PCA- Mtodo de Covarincia
Clculo da mdia emprica
3. Ache a mdia emprica para cada componente da matriz X,
para m = 1,..., M.
4. Coloque as mdias calculadas em um vetor de mdias u de
dimenso M 1.
N
x
u
N
n
mn
m

1
22
PCA- Mtodo de Covarincia
Clculo dos desvios a partir da mdia
5. Subtraia o vetor de mdias u de cada coluna da matriz X.
6. Armazene os dados com a mdia subtrada na matriz B, M N.
B=X-u.h
T
onde h um vetor N x 1, formado apenas de 1s:
h = [1 1 1 ... 1 1]
T
23
PCA- Mtodo de Covarincia
Determinao da matriz de covarincia
7. Ache a matriz de covarincia emprica C, M M, a partir do
produto externo da matriz B com ela mesma:
onde
[ ] [ ]
T T
N
E E BB BB B B C
1

a. transpost matriz uma denota
externo; produto o
esperado; valor o
T
E

24
PCA- Mtodo de Covarincia
Determinao dos autovetores e autovalores da matriz de
covarincia
8. Compute a matriz D de autovalores e a matriz V de autovetores
a partir da matriz de covarincia C:
9. A matriz D ser uma matriz diagonal M M, onde
onde ?
m
o m-simo autovalor da matriz de covarincia C.
V D V C . .

'

q p
m q p
D
m
pq
, 0
; ,
25
PCA- Mtodo de Covarincia
Determinao dos autovetores e autovalores da matriz de
covarincia
10. A matriz V, de dimenso M M, contm M vetores dispostos
em colunas, cada um com comprimento M, que representam os
M autovetores da matriz de covarincia C.
11. Os autovalores e autovetores esto ordenados e pareados. O
m-simo autovalor corresponde ao m-simo autovetor.
26
PCA- Mtodo de Covarincia
Reordenao dos autovetores e autovalores
12. Arrume as colunas da matriz de autovetores V e a matriz de
autovalores D em ordem decrescente de autovalor.
13. Mantenha a mesma relao entre as colunas das duas
matrizes.
27
PCA- Mtodo de Covarincia
Clculo do ndice de energia acumulada para cada autovetor
14. Os autovalores representam a distribuio de energia do
conjunto de dados original em relao a cada autovetor,
componentes da base dos dados.
15. O ndice de energia acumulada g para cada m-simo autovetor
a soma do ndice de energia de todos os autovetores de 1 at
m:
. , . 1 e para ,
1
M m q p D g
m
q
pq m
K

28
PCA- Mtodo de Covarincia
Seleo de subconjunto dos autovetores como vetores base
16. Salve as primeiras L colunas de V como a matriz, M L, W:
17. Use o vetor g como um guia de escolha do valor apropriado
para L. A idia escolher um valor para L to pequeno quanto
possvel, desde que se tenha um valor percentual alto para g.
. 1 e ; , . 1 ; , . 1 para , M L L q M p V W
pq pq
K K
90% ] [ exemplo, Por L m g
29
PCA- Mtodo de Covarincia
Converso dos dados originais para z-scores
18. Crie um vetor do desvio padro emprico, M 1, s a partir da raiz
quadrada de cada elemento ao longo da diagonal principal da matriz de
covarincia.
19. Calcule a matriz, M N, z-scores:
Divide-se elemento por elemento.
[ ] M m q p C
pq
, , 1 , K s
h s
B
Z

30
PCA- Mtodo de Covarincia
Projeo dos z-scores na nova base
20. Os vetores projetados so as colunas da matriz
21.A coluna da matriz Y representam a transformao de
Karhunen-Loeve (KLT) dos vetores de dados das colunas da
matriz X.
{ } X Z W Y KLT .
T
31
PCA- Mtodo de Covarincia
Exemplo
Dados em 2 dimenses:
32
PCA- Mtodo de Covarincia
Exemplo
Dados aps remoo da
mdia esto plotados.
Autovetores computados:
Diagonais na imagem.
33
PCA- Mtodo de Covarincia
Exemplo
Dados transformados
para as bases dos
autovetores calculados.
34
PCA- Mtodo de Covarincia
Exemplo
Dados aps clculo do
PCA usando um dos dois
autovetores transformados
de volta para a base
original.
Houve reduo de
dimensionalidade dos
dados para apenas 1
dimenso.
35
PCA
Aprendizagem Auto-Organizada
Auto-organizao de um sistema aparece sem presso explcita
ou imposio do mundo exterior ao sistema. Portanto, as
restries estruturais importantes so internas ao sistema
decorrentes de interaes entre seus componentes
independentemente de sua natureza fsica. A organizao pode
se modificar no tempo ou no espao, tendo comportamento
estvel ou um transitrio.
A auto-organizao busca regras gerais de crescimento e evoluo de
estruturas de sistemas, sua forma e predio de organizao futura
devido a mudanas em seus componentes. Resultados em um sistema
devem ser aplicveis a outros com caractersticas similares de rede.
36
PCA
Aprendizagem Auto-Organizada
Quatro princpios so fundamentais para a auto-organizao,
segundo von der Malsburg (Haykin, 2001):
1. Modificaes nos pesos sinpticos tendem a se auto-amplificar.
2. A limitao de recursos leva as sinapses a competirem entre si, causando
fortalecimento de umas em detrimento de outras.
3. As modificaes em pesos sinpticos tendem a cooperar entre si.
4. Os padres de entrada apresentam informaes redundantes que
assimilada pela rede neural na forma de conhecimento.
37
PCA
Aprendizagem Auto-Organizada
A auto-organizao de uma rede neural acontece em dois
nveis que interagem como um lao de realimentao:
Atividade: Padres de atividade so gerados pela rede em resposta a
sinais de entrada.
Conectividade: Pesos sinpticos da rede so alterados em resposta aos
padres de atividades.
Redes neurais auto-organizadas se comportam analogamente
ao mtodo estatstico de anlise de componentes principais.
A seguir apresentado uma tcnica de PCA baseada em uma
rede com aprendizado Hebbiano.
38
Soluo para o PCA, empregando redes neurais, que pertence
classe dos algoritmos de re-estimao dos mtodos de PCA.
Seja uma rede alimentada para frente e com aprendizado
Hebbiano, possuindo os seguintes parmetros estruturais:
PCA
Algoritmo Hebbiano Generalizado - AHG
1. Cada neurnio na camada de sada
de rede linear.
2. A rede tem m entradas e n sadas,
sendo ambas pr-especificadas. A rede
apresenta menos sadas que entradas,
n<m.
39
PCA
Algoritmo Hebbiano Generalizado - AHG
Os nodos de sada devem determinar as componentes
principais se consideradas as duas hipteses mencionadas um
tipo particular de aprendizagem hebbiana.
O aprendizado consiste na adaptao do conjunto de pesos
sinpticos, {w
ji
}, propagando os valores de entrada at os
nodos da camada de sada, onde i=1, 2, ..., m e j=1, 2, ..., n.
A funo de sada, y
j
(k), de cada neurnio de sada, j, no
tempo, k, produz uma resposta a partir dos valores de entrada
{x
i
(k)|i=1, 2,..., m}, e caracteriza-se por:
n j k x k w k y
m
i
i ji j
,..., 2 , 1 , ) ( ) ( ) (
1

40
PCA
Algoritmo Hebbiano Generalizado - AHG
O peso sinptico w
ji
adaptado via regra generalizada de
aprendizagem hebbiana, conforme equao abaixo:
Esta modificao aplicada ao peso sinptico w
ji
(k) no tempo k, tem
? como sua taxa de aprendizagem.
Para melhor entendimento do GHA:
n j
m i
k y k w k y k x k y k w
j
l
l li j i j ji
,..., 2 , 1
,..., 2 , 1
, ) ( ) ( ) ( ) ( ) ( ) (
1

1
]
1

( )
[ ] ) ( ) ( ) ( ) ( ) (
) ( ) ( ) ( ) ( ) ( ) ( ) (
1
1
k y k w k x k y k w
k y k w k y k w k x k y k w
j ji i j ji
j ji
j
l
l li i j ji


1
]
1

41
PCA
Algoritmo Hebbiano Generalizado - AHG
Existem duas formas de realimentao que atuam no neurnio:
Realimentao positiva para auto-amplificao, i.e., causa
crescimento de peso sinptico devido entrada externa;
Realimentao negativa devido ao termo y
j
(k) que controla o
crescimento, i.e., causa estabilizao do peso sinptico.
neurnios. dos sinapses entre competio 2, princpio do decorrente
o estabiliza pela l responsve ), ( ) ( negativo, termo O
o. organiza - auto da 1 princpio
do decorrente o amplifica - auto e correspond ) ( ) ( termo O
k y k w
k x k y
j ji
i j

42
PCA
AHG - Algoritmo
Os clculos do AHG esto em 3 passos dados a seguir:
Passo 1: Inicialize os pesos sinpticos da rede, w
ji
, com valores
pequenos, e atribua valor positivo pequeno taxa de aprendizado ?.
Passo 2: Para k=1, i=1, 2, ..., m e j=1, 2, ..., n, calcule os valores de
sada de cada nodo, y
j
(k), e os valores de ajuste dos pesos, ? w
ji
(k),
usando as equaes anteriores.
Passo 3: Incremente k em 1, v para o passo 2 e continue at os pesos
sinpticos, w
ji
, alcanarem seus valores de equilbrio. Para k grande, o
peso sinptico w
ji
do neurnio j converge para a i-sima componente
do autovetor associado com o j-simo autovalor da matriz de
correlao do vetor de entrada x(t).
Os pesos dos nodos so as componentes de cada autovetor associado
a seu autovalor relacionado com a sada y
j
do nodo.
43
O Algoritmo Extrao de Componentes Principais Adaptativa
(Adaptive Principal Components Extraction - APEX) emprega
rede neural com realimentao e pertence classe dos algoritmos
de descorrelao dos mtodos de PCA.
Sua estrutura definida como:
1. Neurnio lineares na camada de sada.
2. A rede tem conexes excitatrias entre
cada nodo de entrada para todos os nodos
de sada.
3. A rede tem conexes, de realimentao,
inibitrias dos nodos 1a j-1 para o nodo j.
Essas conexes empregam aprendizagem
anti-Hebbiana.
PCA
Algoritmo Extrao de Componentes Principais Adaptativa - APEX
44
PCA
Algoritmo Extrao de Componentes Principais Adaptativa
- APEX
Algoritmo APEX:
Passo 1: Inicialize os pesos w
ji
, e a
jl
com valores pequenos, e
atribua valor positivo pequeno taxa de aprendizado ?.
Passo 2: Para j=1, k=1, 2, ... e i=1, 2, ..., m, calcule as sadas de
cada nodo, y
1
(k), e os ajustes dos pesos, ? w
1i
(k):
onde para valores altos de k, o vetor de pesos w
1
tende para o
autovetor v
1
associado ao maior autovalor ?
1
.
[ ] ) ( ) ( ) ( ) ( ) 1 (
) ( ) ( ) (
1
2
1 1 1
1 1
k k y k k y k
k k k y
T
w x w
x w
+

45
PCA
Algoritmo Extrao de Componentes Principais Adaptativa
- APEX
Algoritmo APEX (continuao):
Passo 3: Para j=2, k=1, 2, ... e i=1, 2, ..., m, calcule:
Passo 4: Incremente j de 1 e v para o passo 3. Repita o processo
at atingir o nmero pr-determinado de componentes principais.
Para k grande, os vetores de pesos excitatrios tendem ao
autovetores e os inibitrias tendem a zero.
[ ]
[ ]
[ ] ) ( ) ( ) ( ) ( ) 1 (
) ( ) ( ) ( ) ( ) 1 (
) ( ) ( ) ( ) ( ) (
) ( ) ( ) ( ) (
2
1
2
1
1 2 1 1
k k y k k y k
k k y k k y k
k k k k k y
k y k y k y k
j j j j j
j j j j
j
T
j
T
j j
j j
a y a
w x w
y w x w
y
+
+
+

K
46
Referncias
Haykin, S. O. (2009). Neural Networks and Learning Machines.
McMaster University, Ontario Canada, 3rd ed.
Gonzalez, R.C., e Woods, R.E., Processamento de Imagens
Digitais, Editora Edgard Blcher, 2000.
Smith, L., A Tutorial on Principal Component Analysis,
http://csnet.otago.ac.nz/cosc453/student_tutorials/principal_comp
onents.pdf, 2002.
Weisstein, Eric W. Eigenvalue. MathWorld - The Webs Most
Extensive Mathematics Resource, http://mathworld.wolfram.com
(julho 2006).