Dimensionality Reduction é o processo de reduzir o número de variáveis aleatórias sob consideração, obtendo um conjunto de variáveis principais.
Dimensionality Reduction
O que é Dimensionality Reduction?
Dimensionality Reduction é o processo de reduzir o número de variáveis aleatórias sob consideração, obtendo um conjunto de variáveis principais. Ajuda em:
Uniform Manifold Approximation and Projection (UMAP)
PCA
PCA
Ideia central:
Baseia-se na maximização da variância e na eigen decomposition.
PCA
Ideia central:
Baseia-se na maximização da variância e na eigen decomposition.
Propósito:
Encontrar um conjunto de eixos ortogonais (componentes principais) que capturem a máxima variância nos dados.
PCA
Passos:
Centralizar os dados.
Calcular a matriz de covariância: \(\sum = \frac{1}{n} X^T X\)
Calcular os eigenvectors e eigenvalues: \(\sum v_i = \lambda_i v_i\)
Projetar os dados no novo espaço: \(Z = X W_k\) onde \(W_k\) são os top-k eigenvectors.
Exemplo no MNIST
MNIST Dataset
Dataset de imagens de 28x28 pixels de dígitos escritos à mão
MNIST Dataset
Cada imagem do MNIST pode ser pensada como um array de 28x28 números descrevendo o quão escuro é cada pixel:
Podemos achatar cada array em um vetor de 28 * 28 = 784 dimensões, onde cada componente do vetor é um valor entre zero e um que descreve a intensidade do pixel
Podemos pensar no MNIST como uma coleção de vetores de 784 dimensões
MNIST Dataset
Mas nem todos os vetores nesse espaço de 784 dimensões são dígitos do MNIST! Pontos típicos nesse espaço são bem diferentes
Para ter uma ideia de como é um ponto típico, podemos escolher aleatoriamente algumas imagens de 28x28 – cada pixel é aleatoriamente branco, preto ou algum tom de cinza. Esses pontos aleatórios parecem ruído:
MNIST Dataset
Imagens de 28x28 que se parecem com dígitos do MNIST são muito raras - elas formam um subespaço muito pequeno do espaço de 784 dimensões
Com alguns argumentos um pouco mais complexos, podemos ver que elas ocupam um subespaço de dimensão menor (do que 748)
Muitas teorias sobre a estrutura de menor dimensão do MNIST (e dados semelhantes)
Hipótese do manifold (popular entre pesquisadores de ML): MNIST é um manifold de baixa dimensão que se curva através do seu embedding space de alta dimensão
Outra hipótese (com raízes em topological data analysis) é que dados como o MNIST consistem em blobs com protuberâncias tipo tentáculo que se projetam para o espaço ao redor
Mas ninguém sabe ao certo!
MNIST Cube
Imagine os pontos de dados do MNIST como pontos suspensos em um cubo de 784 dimensões
Cada dimensão do cubo corresponde a um pixel específico
Os pontos de dados variam de zero a um de acordo com a intensidade do pixel
De um lado da dimensão, há imagens onde aquele pixel é branco. Do outro lado da dimensão, há imagens onde ele é preto. No meio, há imagens onde ele é cinza.
Como esse cubo se parece se olharmos para uma face bidimensional específica? Vamos olhar as visualizations de Olah.
MNIST Cube
Que qualidades a visualization ‘perfeita’ do MNIST teria? Qual deveria ser o nosso objetivo?
Qual é a melhor forma de fazer clustering dos dados do MNIST?
Podemos tentar o que aprendemos na semana passada…
Também é conhecido como Principal Coordinates Analysis (PCoA).
MDS
Também é conhecido como Principal Coordinates Analysis (PCoA).
Ideia central:
Foca em preservar distâncias usando eigenvalue decomposition de uma matriz de similaridade.
MDS
Também é conhecido como Principal Coordinates Analysis (PCoA).
Ideia central:
Foca em preservar distâncias usando eigenvalue decomposition de uma matriz de similaridade.
Propósito:
Preservar as distâncias par a par entre os pontos de dados no embedding de baixa dimensão.
MDS
Passos:
Calcular a matriz de proximidade ao quadrado: \(D^2 = [d^2_{ij}]\)
Duplo-centralizar a matriz de distâncias para obter uma matriz de similaridade: \(B = - \frac{1}{2} C D^2 C\) Onde \(C=I-\frac{1}{n} J_n\) é a matriz de centralização e \(J_n = 11^T\) é a matriz de todos uns.
Realizar eigen decomposition: \(B = V \Sigma V^T\)
Usar os top eigenvectors como coordenadas de baixa dimensão: \(X = V_k \Sigma_k ^{1/2}\)