Você está na página 1de 42

PATRICK MARQUES CIARELLI

patrick.ciarelli@ufes.br
 PCA é uma técnica largamente usada em
aplicações que envolvem:
 Redução de dimensionalidade;
 Compressão de dados com perda;
 Extração de características;
 Visualização de dados;

 Ela não é uma técnica de seleção de


características (não seleciona características,
mas obtém novas características a partir da
combinação linear das características originais);
 Ela é também conhecida como transformada de
Karhunen-Loève ou transformada de Hotelling.
 PCA é um procedimento matemático que
converte um conjunto de atributos
possivelmente correlacionados a um conjunto de
novas variáveis linearmente descorrelacionadas;
 Essas novas variáveis são chamadas de
componentes principais;
 O número de componentes principais é menor
(perda de informação) ou igual ao número de
atributos originais;
 O primeiro componente principal tem a maior
variância possível. O segundo componente tem a
segunda maior variância, e assim por diante.
 Exemplo:
5

1º Componente, y1
2º Componente,
4
y2

5
3

xi2 4
2
4.0 4.5 5.0 5.5 6.0
yi,2 yi,1
3

2
4.0 4.5 5.0 5.5 6.0
xi1
 Como são obtidos os componentes principais?
 Basicamente, o procedimento consiste em:
 Calcular a matriz C de covariância/coeficientes de
correlação dos dados;
 Obter os autovalores e autovetores da matriz C;
 O autovetor associado ao maior autovalor é o primeiro
componente. O segundo componente é o autovetor
associado ao segundo maior autovalor, e assim por
diante;
 Selecionar o número de componentes para
representar os dados.
 Matriz de Covariância:
 Atributos devem possuir mesma escala de valores;
 Enfatiza atributos com variâncias maiores;
 Média dos autovalores ≠ 1;

 Matriz de Coeficientes de Correlação:


 Atributos são normalizados (média = 0, desvio padrão
= 1);
 Atributos podem estar em diferentes escalas;
 Todos os atributos tem o mesmo impacto sobre a
análise;
 Média dos autovalores = 1.
 Considere uma matriz XNd, onde cada linha é
uma amostra e cada coluna um atributo;
 Se for calculada a matriz de covariância C, para
cada atributo j subtraia a sua média:

xˆi , j  xi , j   j j  1,2,..., d i  1, , N

 Se for calculada a matriz de coeficientes de


correlação C, para cada atributo j subtraia a sua
média e divide pela seu desvio padrão:
xi , j   j
xˆi , j  j  1,2,..., d i  1, , N
j
 Com a nova matriz X̂ é obtida a matriz de
covariância/coeficientes de correlação C,
aplicando:
1
C X̂ Τ X̂
N  1
 Da matriz C são obtidos os autovalores  e os
autovetores V. Os autovetores são ortogonais
entre si;
  é um vetor composto por d dimensões e V é
uma matriz quadrada dd, onde cada coluna é
um autovetor;
 Para redução de dimensionalidade, são
selecionados os k autovetores associados aos
maiores autovalores para comporem a matriz M.
 Em algumas aplicações, o número de amostras N
é inferior ao número de atributos d:
 Ex.:
 Processamento de imagens;
 Processamento de textos;

 Nestes casos, a matriz C não terá posto


completo, ou seja, haverão ao menos d-N+1
autovalores iguais a zero;
 Além disso, o cálculo de autovetores de uma
matriz dd tem um custo computacional de
O(d3);
 Aplicar PCA nestes casos pode ser infactível.
 Solução para problemas de alta
dimensionalidade:
 Calcular a matriz LNN:
1
L X̂X̂ T
N  1
 Obter os autovalores u e os autovetores W da matriz L;
 Calcular os autovetores M selecionados da matriz C
através de:
1
Mi  X̂ Τ Wi i  1,  , k k  N 1
N  1u i
 Uma vez obtida a matriz de autovetores M, os
dados devem ser representados no novo espaço;
 Seja Y uma outra matriz de dados que se queira
representar no novo espaço, onde cada linha é
uma amostra e cada coluna um atributo. Os
seguintes passos são seguidos:
 Se foram calculados os autovetores da matriz de
covariância:
yˆi , j  yi , j   j j  1,2,..., d i  1, , N
 Se foram calculados os autovetores da matriz de
coeficientes de correlação:
yi , j   j j  1,2,..., d i  1, , N
yˆ i , j 
j
 Onde os valores da média j e desvio padrão j foram
calculados a partir da matriz X.
 Após este passo, é calculada a representação da
matriz de dados Ŷ no novo espaço obtido pelas
componentes principais:
Y  ŶM
 Y é a matriz de dados Y após transformar os
dados;
 Se quiser representar a matriz de dados original
X no novo espaço, é só usar a mesma equação:
X  X̂M
 Utilizando a equação abaixo sobre a matriz X,
que deu origem ao novo espaço, é obtida uma
matriz de dados com média zero, variância um e
características descorrelacionadas
(branqueamento dos dados):

 X  X̂M V 2 
-1 1 
C X X  I
  N 1
 onde V é uma matriz cuja diagonal principal são
os autovalores e os outros elementos iguais a 0.
 A mesma equação pode ser usada para uma
matriz Y de dados, mas não há garantia de ser
obtida uma matriz de covariância igual a
identidade.
 Considere os dados abaixo. De cada atributo é
subtraído a média. Isso facilita o cálculo da
matriz de covariância e a base de dados fica com
média zero. DADOS: DADOS COM MÉDIA ZERO:
 x = 1,81 y = 1,91 x y x y
2,5 2,4 0,69 0,49
0,5 0,7 -1,31 -1,21
2,2 2,9 0,39 0,99
1,9 2,2 0,09 0,29
3,1 3,0 1,29 1,09
2,3 2,7 0,49 0,79
2 1,6 0,19 -0,31
1 1,1 -0,81 -0,81
1,5 1,6 -0,31 -0,31
1,1 0,9 -0,71 -1,01
 Cálculo da matriz de covariância:

0,617 0,615 
cov   
 0,615 0,717 
 Uma vez que os elementos fora da diagonal são
positivos, é esperado que ambas as variáveis x e y
aumentem juntos;
 Cálculo dos autovetores e autovalores da matriz de
covariância:

0,049   0,735  0,678 


autovalore s    autovetores   
1, 284   0,678  0,735 
 Gráfico dos dados com média zero com os autovetores
da matriz de covariância:
 Uma vez que foram encontrados os autovetores e
autovalores, o próximo passo é ordená-los a
partir dos autovalores, do mais alto para o
menor;
 Isto dá a ordem de significância dos
componentes;
 Agora é possível ignorar os componentes de
menor significância;
 Embora perca informação, a perda é pouca se os
autovalores forem pequenos;
 São escolhidos somente os k autovetores
associados aos maiores autovalores para
representar os dados.
 No exemplo, podem ser escolhidos ambos
autovetores:
0,049   0,735  0,678 
autovalore s    autovetores   
1, 284   0,678  0,735 

 Ou somente aquele associado ao maior


autovalor:
 0,678 
autovalore s  1,284  autovetores   
  0,735 
 Obtém os novos dados:
ΩX = X × autovetores
 Autovetores: é a matriz com os autovetores na
coluna;
 X: é matriz de dados com média zero;
 ΩX : são os dados projetados nos autovetores
selecionados.
 Os novos dados são:
DADOS COM MÉDIA ZERO:
x y x̂
0,69 0,49 -0,828
-1,31 -1,21 1,778
0,39 0,99 -0,992
0,09 0,29 -0,274
1,29 1,09 -1,676
0,49 0,79 -0,913
0,19 -0,31 0,099
-0,81 -0,81 1,145
-0,31 -0,31 0,438
-0,71 -1,01 1,224

Exemplo:

x1 = −0,678x1 − 0,735y1 = −0,828 A origem das coordenadas dos
novos eixos é dado por x e y
 Visualização dos componentes principais da base
de dados iris, que possui 4 atributos, 150
amostras e 3 classes.
 Métodos básicos para selecionar o número de
componentes:
 Valor mínimo de variância acumulada nas
componentes. Ex.: 90%;
 Critério de Kaiser [1]:
seleciona todos os
componentes com os
autovalores acima de 1.
(autovetores obtidos da
matriz de coeficientes de
correlação).

[1] Ledesma, R. D., e Mora, P. V.. Determining the Number


of Factors to Retain in EFA: an easy-to-use computer
program for carrying out Parallel Analysis, Practical
Assessment, Research & Evaluation, 12(2), 2007.
 t-SNE (t-Distributed Stochastic Neighbor Embedding) é
uma técnica de redução de dimensionalidade
que tenta preservar estruturas locais;
 O seu mapeamento para uma dimensão menor
tenta manter as relações de vizinhança no
conjunto de dados, ou seja, se uma instância p é
vizinha de q no espaço original, o ponto
mapeado p também deve ser vizinho de q em
dimensões reduzidas do espaço.
 t-SNE é baseada em probabilidades que visa
posicionar dados multidimensionais em espaço
bidimensional, preservando estruturas locais;
 Nesta técnica, as similaridades entre pares de
instâncias no espaço original são modeladas como
uma distribuição de probabilidades de t-Student;
 Mais especificamente, quanto mais semelhantes
forem duas instâncias, maior será a probabilidade
associada a eles;
 As distâncias entre pares de pontos projetados no
espaço também são modeladas como uma
distribuição de probabilidade.
 Seja uma base de dados de alta dimensão D =
{x1, x2, ..., xN}, e uma função d(x1,x2) que
calcula a distância entre pares de amostras
(exemplo: distância Euclidiana);
 O objetivo do método é aprender uma
representação em uma dimensão reduzida (2D ou
3D) em que cada amostra é representada por um
ponto,  = {y1, y2, ..., yN}.

Maaten, L. V. D., Accelerating t-SNE using Tree-Based Algorithms,


Journal of Machine Learning Research, 2014, vol. 15, pp. 1 – 21.
 Para alcançar este objetivo, t-SNE define
probabilidades conjuntas que medem a
similaridade pareada entre duas amostras xi e xj:

exp −𝑑 𝑥𝑖 ,𝑥𝑗 2 2𝜎𝑖 2


𝑝𝑗|𝑖 = 𝑝𝑖|𝑖 = 0
𝑘≠𝑖 exp −𝑑 𝑥𝑖 ,𝑥𝑘
2 2𝜎 2
𝑖

𝑝𝑗|𝑖 + 𝑝𝑖|𝑗
𝑝𝑖𝑗 =
2𝑁

Maaten, L. V. D., Accelerating t-SNE using Tree-Based Algorithms,


Journal of Machine Learning Research, 2014, vol. 15, pp. 1 – 21.
 A largura i dos kernels Guassianos é configurada
de forma que a perplexidade da distribuição
condicional Pi seja igual a uma perplexidade pré-
definida u.
 O valor ótimo de i varia para cada amostra: em
regiões com alta densidade, i tende a ser
menor do que em regiões com baixa densidade.
 Existem algoritmos que que podem ajudar a
encontrar o valor ótimo de i.

Maaten, L. V. D., Accelerating t-SNE using Tree-Based Algorithms,


Journal of Machine Learning Research, 2014, vol. 15, pp. 1 – 21.
 No espaço reduzido , a similaridade qij entre
dois pontos yi e yj é medida como um kernel t-
Student normalizado com um grau de liberdade:
2 −1
1+ 𝑦𝑖 −𝑦𝑗
𝑞𝑖𝑗 = 2 −1 𝑞𝑖𝑖 = 0
𝑘≠𝑙 1+ 𝑦𝑘 −𝑦𝑙

 A localização dos pontos yi são determinados


através da minimização da divergência Kullback-
Leibler entre as distribuições conjuntas P e Q:
𝑝𝑖𝑗
𝐶  = 𝐾𝐿 𝑃||𝑄 = 𝑝𝑖𝑗 log
𝑞𝑖𝑗
𝑖≠𝑗

Maaten, L. V. D., Accelerating t-SNE using Tree-Based Algorithms,


Journal of Machine Learning Research, 2014, vol. 15, pp. 1 – 21.
 Devido a assimetria da divergência Kullback-
Leibler, a função objetivo foca em modelar os
valores altos de pij (amostras similares) através
de valores altos de qij (pontos próximos no
espaço reduzido);
 Uma forma típica para minimizar a divergência é
através da descida de gradiente.

Maaten, L. V. D., Accelerating t-SNE using Tree-Based Algorithms,


Journal of Machine Learning Research, 2014, vol. 15, pp. 1 – 21.
 Devido a assimetria da divergência Kullbac

Jonker-Volgenant Algorithm + t-SNE = Super Powers.


https://blog.sourced.tech/post/lapjv/
Jonker-Volgenant Algorithm + t-SNE = Super Powers.
https://blog.sourced.tech/post/lapjv/
 Informação Mútua ou Mutual Information é uma
técnica de seleção de características não
supervisionada baseada em filtro;
 Nesta técnica, os atributos de um conjunto de
dados recebem um score e, baseado nesta
pontuação, são selecionados os atributos que
melhor podem representar uma base de dados.
 Mutual Information (MI) mede a probabilidade
de observar duas variáveis x e y juntas em
relação a probabilidade de observar x e y
independentemente;
 Altos valores de MI entre x e y indicam que há
uma alta associação entre essas variáveis.
Valores baixos indicam que não há associação
significante entre elas;
 Se x e y são independentes, então o valor de MI
entre x e y é igual a zero.
 MI pode ser usada para remover atributos que
minimizam a perda de informação e assim
reduzir a dimensionalidade de um problema;
 Atributos com altos valores de MI estão
altamente relacionados com as amostras de uma
base de dados;
 Atributos com baixos valores podem acrescentar
pouca informação a um problema e por isso
podem ser eliminados.
 O cálculo de MI entre cada atributo e as
amostras de uma base de dados é mostrado na
equação abaixo:
N
 p yk | xi 
MI xi   pxi  p yk | xi  log 2  
k 1  p  y k  

 onde xi é um atributo (i = 1, ..., d), yk é uma


amostra (k = 1, ..., N), d é o número de
atributos e N é o número de amostras na base de
dados.
 As vantagens dessa técnica é a fácil
implementação e o baixo custo computacional;
 A desvantagem é que podem ser eliminadas
características que são úteis na classificação.
 Considere os dados abaixo do número de ocorrência de cada
atributo xi em cada amostra yj, onde cada linha é uma amostra e
cada coluna um atributo:
1 3
x4 p  y 
5
15 0
8
x1 x2 x3
5
y1 1 0 5 3 9 38 2 1 
 0
y2 2 0 3 38
0
 1 0 15 10 
p y | x    0 
y3  3 2 0 0 5 38 3 2
15 0
  10
y4 4 3 0 5 12 38 4 3 5
y5 5 4 0 0 9 38  0 
15 10 8
px 
15 10 5 8 5 4
0 0
38 38 38 38 15 10 
soma  38
N
 p yk | xi  
MI xi   pxi  p yk | xi  log 2  
k 1  p y k  
 Informação mútua entre dois atributos:
 Ao invés de calcular a informação mútua entre um
atributo e um conjunto de amostras, pode-se calcular
entre dois atributos.
 Seja H(x1) a entropia da variável x1:

H x1    px1  log 2  px1 


x1

 Seja H(x1,x2) a entropia conjunta de x1 e x2:

H x1 , x2     px1 , x2  log 2  px1 , x2 


x1 , x2

 A informação mútua entre x1 e x2 é obtida por:


M  x1 , x2   H  x1   H  x2   H  x1 , x2 
 Considere três moedas sendo lançadas 4 vezes
cada, onde 0 é cara e 1 é coroa.
x1 x2 x3 H x1    px1  log 2  px1  
x1
0 1 1 H x1   0,5 * log 2 0,5  0,5 * log 2 0,5  1
1 1 0

0 1 1 H  x2   0,25 * log 2 0,25   0,75 * log 2 0,75   0,8113
 
1 0 0
H x3   0,5 * log 2 0,5  0,5 * log 2 0,5  1
 Considere três moedas sendo lançadas 4 vezes
cada, onde 0 é cara e 1 é coroa.
x1 x2 x3
H  x1   1 H  x2   0,8113 H x3   1
0 1 1
1 1 0
 H x1 , x2     px1 , x2  log 2  px1 , x2  
0 1 1 x1 , x2

   0  0,5 * log 2 0,5  0,25 * log 2 0,25  0,25 * log 2 0,25  1,5
1 0 0

H x1 , x3   0  0,5 * log 2 0,5  0,5 * log 2 0,5  0  1

H x2 , x3   0,25 * log 2 0,25  0  0,25 * log 2 0,25  0,5 * log 2 0,5  1,5
 Considere três moedas sendo lançadas 4 vezes
cada, onde 0 é cara e 1 é coroa.
x1 x2 x3
H  x1   1 H  x2   0,8113 H x3   1
0 1 1
1 1 0 H  x1 , x2   1,5 H x1 , x3   1 H x2 , x3   1,5

0 1 1
  M x1 , x2   H x1   H x2   H x1 , x2  
1 0 0
M x1 , x2   1  0,8113  1,5  0,3113

M x1 , x3   1  1  1  1

M x2 , x3   0,8113  1  1,5  0,3113


 Considere três moedas sendo lançadas 4 vezes
cada, onde 0 é cara e 1 é coroa.
x1 x2 x3
H  x1   1 H  x2   0,8113 H x3   1
0 1 1
1 1 0 H  x1 , x2   1,5 H x1 , x3   1 H x2 , x3   1,5

0 1 1
  M  x1 , x2   0,3113 M x1 , x3   1 M x2 , x3   0,3113
1 0 0
 Para analisar melhor pode-se normalizar:
M x1 , x2 
2
0,3113 2
Mnx1 , x2     0,3456 Mnx1 , x3   1
H  x1 H  x2  1* 0,8113

Mnx2 , x3   0,3456

Você também pode gostar