sábado, 5 de março de 2016

Implementação PCA

PCA é uma técnica de estatística muito usada em aplicações de reconhecimento facial e compressão de imagem, e é uma técnica usada para achar padrões em dados de alta dimensão (Smith, 2002).
 A base de dados usada para os teste nessa fase da pesquisa é a IRIS, que é uma base com 4 dimensões, 150 instâncias e 3 classes.

O PCA pode ser dividido em passos, e eles são:

1- Pegar alguns dados

2- Calcular a média de cada dimensão e subtrair essa média de cada dimensão a que a média é referente. Por exemplo, se a base de dados tiver 4 dimensões, então será encontrado 4 médias, uma referente a dimensão 1, outra a dimensão 2 e assim por diante. Então, a média da dimensão 1 é subtraída de cada elemento da dimensão 1, e o mesmo processo é repetido para as outras dimensões.

3- Calcular a matriz de covariância da base de dados.

4- Calcular a partir da matriz de covariância os eigenvectors e os eigenvalues. Uma vez calculado os eigenvectors e os eigenvalues, o eigenvector com o maior eigenvalue é o principal componente do conjunto de dados, portanto, se ordena os eigenvectors por ordem decrescente.

5- Escolher os componentes para formar o vetor de características, a partir dos eigenvectors, no caso de hoje eu não reduzi a dimensionalidade, ou seja, usei todos os eigenvectors.

6- Achar o novo conjunto de dados: DadosFinal = VetorDeCaracterísticas x DadosOriginaisComMédiaSubtraída.

Após seguir esses passos, usei a linguagem R para plotar cada dimensão em um gráfico para ver como ficou a distribuição dos dados.

Como dito antes, os eigenvectors são ordenados de forma decrescente, logo, o eigenvector com maior eigenvalue é o primeiro (o componente principal da base de dados), e isso pode ser observado nas imagens abaixo. Na imagem da dimensão 1 é possível ver as três classes separadas.


Dimensão 1:


 Dimensão 2:

Dimensão 3:

Dimensão 4:



Nenhum comentário:

Postar um comentário