PORQUE REDUZIR A DIMENSÃO DOS DADOS?

Uma ferramenta poderosa para visualizar e aprender com conjuntos de dados de alta dimensão

Dimensionalidade refere-se ao número de recursos ou variáveis ​​que estão presentes em um conjunto de dados, é ótimo ter muitas variáveis e grandes bancos de dados para solucionar um problema, porém também é mais complexo analisar e visualizar os dados.

Um dos desafios em lidar com grandes conjuntos de dados é o problema da visualização dos dados, que começa a ficar complexa com a adição de cores, tamanhos, formatos e até um eixos duplos.

Além da visualização, grandes volumes de dados apresentam frequentemente multicolinearidade, a multicolinearidade atrapalha a construção de modelos causando overfitting e viés de estimação.

A redução da dimensionalidade dos dados é o processo de diminuir o número de recursos em um conjunto de dados, preservando o máximo possível das informações originais. Essas técnicas são a solução ideal tanto para facilitar a visualização quanto para evitar problemas de multicolinearidade.


Como ajuda na visualização?

Visualizar os dados através de gráficos e tabelas é essencial em qualquer análise exploratória, desde a construção de dashboards até modelos de machine learning. Além disso, nas técnicas de clusterização é muito comum querer visualizar a divisão dos grupos através das variáveis que são usadas para a construção do mesmos.


Veja alguns problemas na hora de visualizar dados de grandes dimensões:


  • Espaço de exibição limitado

Os dispositivos de visualização, como monitores e telas de dispositivos móveis, possuem limitações físicas em relação ao espaço disponível para mostrar os dados. 


  • Dificuldade na identificação de padrões

À medida que o número de dimensões aumenta, a capacidade humana de identificar padrões visualmente diminui. Nosso cérebro tem limitações na percepção e processamento de informações complexas.

 

  • Limitações de técnicas de visualização tradicionais

Muitas técnicas de visualização de dados foram desenvolvidas para conjuntos de dados de dimensões baixas ou moderadas. 


Encontrar combinações das variáveis originais que descrevem as características dos dados originais e mantém o máximo da informação pode ajudar a tornar qualquer relatório significativamente menor, facilita o reconhecimento de padrões e torna os gráficos e tabelas mais simples.



Para entender melhor como a redução de dimensionalidade pode ajudar, veja o site onde foi retirado a imagem acima, eles explicam sobre uma técnica específica chamada UMAP e tem diversos exemplos de visualizações.

Técnicas de redução de dimensão

Análise de Componentes Principais (PCA)

PCA é uma técnica popular usada para redução de dimensionalidade de dados. Ele funciona transformando um conjunto de dados em um novo sistema de coordenadas, onde o primeiro eixo representa a direção da variância máxima nos dados.

Os eixos subsequentes são ortogonais ao primeiro eixo e representam a direção da variância máxima nos dados restantes. O número de novos eixos é igual ao número de feições no conjunto de dados original.

O algoritmo PCA segue um processo passo a passo para reduzir a dimensionalidade dos dados:


Padronize os dados

O PCA exige que os recursos estejam na mesma escala, portanto, os dados são normalmente padronizados subtraindo a média e dividindo pelo desvio padrão de cada recurso.


  1. Calcular a matriz de covariância

A matriz de covariância é calculada com base nos dados padronizados. Ele mostra as relações entre diferentes recursos e fornece informações sobre suas dependências lineares.


  1. Calcule os autovetores e autovalores

Os autovetores e autovalores são derivados da matriz de covariância. Os autovetores representam os componentes principais e os autovalores correspondentes indicam a quantidade de variância capturada por cada componente principal.


  1. Selecione o número de componentes

Para determinar o número de componentes principais a ser usado pode-se considerar a variância cumulativa explicada. Frequentemente, consideramos um número suficiente de componentes para explicar uma alta porcentagem (por exemplo, ~80%) da variação total dos dados.


  1. Projete os dados no novo espaço de recursos

Os componentes principais selecionados são usados ​​como uma matriz de transformação para projetar os dados originais no novo espaço de recursos. Essa projeção resulta em uma representação de dimensão reduzida dos dados.

É importante observar que o PCA assume linearidade e pode não ser adequado para conjuntos de dados com estruturas não lineares. Nesses casos, técnicas de redução de dimensionalidade não linear como t-SNE ou autoencoders podem ser mais apropriadas.

Incorporação de vizinhos estocásticos distribuídos (t-SNE)

O principal objetivo do t-SNE (t-Distributed Stochastic Neighbor Embedding)  é mapear os pontos de dados de alta dimensão para uma representação de dimensão inferior, preservando as semelhanças locais e globais entre eles. 

Ele consegue isso modelando as semelhanças entre os pontos de dados tanto no espaço original de alta dimensão quanto no espaço de baixa dimensão e visa minimizar a divergência entre as duas distribuições de similaridade.

O algoritmo t-SNE segue os seguintes passos:

  1. Calcular semelhanças de pares 

O t-SNE primeiro mede a semelhança entre cada par de pontos de dados no espaço de alta dimensão. Ele usa um kernel gaussiano para calcular a similaridade com base nas distâncias euclidianas entre os pontos.


  1. Construir distribuições de similaridade

 Usando as similaridades pareadas calculadas, t-SNE constrói distribuições de similaridade tanto para o espaço de alta dimensão quanto para o espaço de baixa dimensão. As distribuições refletem as similaridades entre os pontos, com maiores similaridades representadas por maiores probabilidades.


  1. Inicializar incorporações

Inicializa aleatoriamente as incorporações de dimensão inferior para os pontos de dados.


  1. Defina a função de custo

Define uma função de custo que quantifica a incompatibilidade entre as distribuições de similaridade no espaço de alta dimensão e no espaço de baixa dimensão. A função de custo é baseada na divergência de Kullback-Leibler (KL).


  1. Otimizar incorporações

O algoritmo otimiza iterativamente as incorporações para minimizar a função de custo. Ele usa gradiente descendente para atualizar as posições dos pontos de dados no espaço de menor dimensão, visando minimizar a incompatibilidade entre as distribuições de similaridade.


Essa técnica possui hiperparâmetros importantes como a perplexidade e a taxa de aprendizado. A perplexidade controla o equilíbrio entre focar na estrutura local versus global, e a taxa de aprendizado determina o tamanho do passo durante a otimização. 

O ajuste adequado desses parâmetros é crucial para a obtenção de resultados significativos. Porém, ao contrário do PCA, o t-SNE é capaz de capturar relacionamentos não lineares nos dados.

Autoencoders

Autoencoders são um tipo de arquitetura de rede neural que pode ser usada para redução de dimensionalidade. Eles são projetados principalmente para aprender representações eficientes de dados, codificando-os em um espaço latente de dimensão inferior e, em seguida, decodificando-os de volta ao espaço de dados original. 

São compostos por uma rede codificadora e uma rede decodificadora. A rede do codificador recebe os dados de entrada e aplica uma série de transformações para mapeá-los para uma representação de dimensão inferior chamada espaço latente, e a rede decodificadora pega a representação latente e reconstrói os dados originais.

Durante o treinamento, o autoencoder visa minimizar a diferença entre os dados de entrada e a saída reconstruída. Isso é feito comparando a entrada e a saída usando uma função de perda, normalmente o erro quadrático médio (MSE). Ao minimizar essa perda, o autoencoder aprende a capturar os recursos mais importantes dos dados no espaço latente.

Autoencoders têm variações diferentes, como autoencoders esparsos (encorajando esparsidade no espaço latente), autoencoders variacionais (gerando representações probabilísticas) e autoencoders convolucionais (adequados para dados de imagem).

Outras técnicas

Além das técnicas citadas, existem várias outras técnicas que são usadas para redução de dimensionalidade em análise de dados e aprendizado de máquina. Veja algumas e um resumo sobre elas:


  • Análise Discriminante Linear (LDA)

LDA é uma técnica de redução de dimensionalidade supervisionada que visa encontrar uma combinação linear de recursos que maximize a separação entre diferentes classes nos dados. 


Procura projetar os dados em um espaço de menor dimensão, preservando as informações relacionadas à classe.


  • Análise de componentes independentes (ICA)

ICA é uma técnica que separa um sinal multivariado em subcomponentes aditivos, assumindo que os subcomponentes são estatisticamente independentes e não gaussianos. 


Pode ser usado para redução de dimensionalidade e extração de recursos, identificando as fontes independentes subjacentes nos dados.


  • Fatoração de matriz não negativa (NMF)

NMF é um método que fatora uma matriz de dados não negativa em duas matrizes não negativas de classificação inferior. Ele assume que os dados podem ser representados como uma combinação linear de um pequeno número de vetores de base não negativos. 


O NMF pode ser usado para extração de recursos e redução de dimensionalidade, particularmente nos casos em que os dados possuem restrições de não negatividade inerentes.


  • Aproximação e Projeção de Coletores Uniformes (UMAP)

Constrói um grafo de vizinhança com base nos vizinhos mais próximos e otimiza a representação do grafo usando uma combinação de teoria de conjuntos difusos e descida de gradiente estocástico.


Ao incorporar os dados em um espaço de dimensão inferior, o UMAP permite a visualização e a exploração de conjuntos de dados complexos, mantendo padrões e relacionamentos importantes. 


Sua flexibilidade, escalabilidade e capacidade de lidar com grandes conjuntos de dados tornam o UMAP uma ferramenta valiosa em vários domínios.


Abaixo no gráfico é possível ver a comparação da velocidade de processamento em relação ao tamanho da base de dados para algumas técnicas

Comentários