Dimensionalidade e Manifold

13

Uma frase comumente ouvida no aprendizado de máquina não supervisionado é

Entradas de alta dimensão normalmente vivem em um coletor de baixa dimensão ou próximo a ela

O que é uma dimensão? O que é uma variedade? Qual é a diferença?

Você pode dar um exemplo para descrever os dois?

Distribuidor da Wikipedia:

Em matemática, uma variedade é um espaço topológico que se assemelha ao espaço euclidiano próximo a cada ponto. Mais precisamente, cada ponto de uma variedade n-dimensional tem uma vizinhança que é homeomórfica ao espaço euclidiano da dimensão n.

Dimensão da Wikipedia:

Em física e matemática, a dimensão de um espaço (ou objeto) matemático é definida informalmente como o número mínimo de coordenadas necessárias para especificar qualquer ponto dentro dele.

O que a Wikipedia significa em termos leigos? Parece alguma definição bizarra, como a maioria das definições de aprendizado de máquina?

Ambos são espaços, então qual é a diferença entre um espaço euclidiano (ou seja, Manifold) e um espaço de dimensão (ou seja, baseado em recursos)?

alvas
fonte
1
Você já tentou a pesquisa na Internet? Isso deve ser o suficiente.
Aleksandr Blekh
1
sim, eu tinha o google, mas isso certamente não é suficiente, veja a pergunta atualizada.
alvas
1
Não tenho certeza de que seja uma boa idéia buscar explicações sobre conceitos complexos de aprendizado de máquina "em termos leigos". Além disso, você deve ampliar sua pesquisa além da Wikipedia.
Aleksandr Blekh

Respostas:

29

O que é uma dimensão?

Simplificando, se você possui um conjunto de dados tabulares com m linhas e n colunas, a dimensionalidade dos seus dados é n:

O que é uma variedade?

O exemplo mais simples é o nosso planeta Terra. Para nós, parece plano, mas é realmente uma esfera. Portanto, é uma espécie de coletor 2D incorporado no espaço 3D.

Qual é a diferença?

Para responder a essa pergunta, considere outro exemplo de uma variedade:

insira a descrição da imagem aqui

É o chamado "rocambole". Os pontos de dados estão em 3d, mas todos estão no coletor 2d, portanto a dimensionalidade do coletor é 2, enquanto a dimensionalidade do espaço de entrada é 3.

Existem muitas técnicas para "desembrulhar" essas variedades. Um deles é chamado Incorporação localmente linear e é assim que faria isso:

insira a descrição da imagem aqui

Aqui está um trecho do scikit-learn para fazer isso:

from sklearn.manifold import LocallyLinearEmbedding

lle = LocallyLinearEmbedding(n_neighbors=k, n_components=2)
X_lle = lle.fit_transform(data)
plt.scatter(X_lle[:, 0], X_lle[:, 1], c=color)
plt.show()
Alexey Grigorev
fonte
6

A dimensionalidade de um conjunto de dados é o número de variáveis ​​usadas para representá-lo. Por exemplo, se estivéssemos interessados ​​em descrever as pessoas em termos de altura e peso, nosso conjunto de dados "pessoas" teria duas dimensões. Se tivéssemos um conjunto de dados de imagens e cada imagem tivesse um milhão de pixels, a dimensionalidade do conjunto de dados seria um milhão. De fato, em muitos aplicativos modernos de aprendizado de máquina, a dimensionalidade de um conjunto de dados pode ser enorme.

Quando a dimensionalidade é muito grande (maior que o número de amostras no conjunto de dados), podemos ter alguns problemas sérios. Considere um algoritmo de classificação simples que procura encontrar um conjunto de pesos w de modo que, quando pontilhado com uma amostra x, forneça um número negativo para uma classe e um número positivo para outra. w terá um comprimento igual à dimensionalidade dos dados e, portanto, terá mais parâmetros do que amostras em todo o conjunto de dados. Isso significa que um aluno poderá superestimar os dados e, consequentemente, não generalizará bem para outras amostras não vistas durante o treinamento.

Um coletor é um objeto de dimensionalidade d que está incorporado em algum espaço dimensional superior. Imagine um conjunto de pontos em uma folha de papel. Se dobrarmos o papel, os pontos estão agora em 3 dimensões. Muitos algoritmos de aprendizado múltiplo procuram "dobrar" a folha de papel para colocar os dados novamente em duas dimensões. Mesmo se não estivermos preocupados em ajustar demais o nosso modelo, um aluno do coletor não linear pode produzir um espaço que facilita os problemas de classificação e regressão.

Jordan A
fonte
Existem casos em que a alta dimensionalidade não se dobra em uma variedade?
alvas
Definitivamente! Às vezes, os dados já estão em seu espaço intrínseco. Nesse caso, tentar reduzir a dimensionalidade provavelmente será prejudicial para o desempenho da classificação. Nesses casos, você deve descobrir que os recursos do conjunto de dados que você está usando são amplamente estatisticamente independentes um do outro.
Jordan A
1

Uma maneira de fazer a redução dimensional é fazer o hash do recurso. Isso era conhecido nos anos 60. Por exemplo, se seus dados são um conjunto esparso de pontos em 3 dimensões (x, y, z), você cria uma (boa) função hash h (x, y, z). Você pode usar isso naturalmente para uma tabela de hash ou uma pesquisa de filtro Bloom. Essa é uma boa forma de compactação de dados. Não sei por que a comunidade de IA não a usa. É muito mais direto ao ponto do que uma rede neural.

SeanOCVN
fonte
1
Como a redução de dimensionalidade está relacionada ao coletor?
alvas
É uma maneira de escolher tudo no coletor e excluir todo o resto.
SeanOCVN
Acho que @alvas tem um ponto aqui. Não está claro imediatamente como isso se relaciona com a pergunta original referente a uma explicação de variedades e dimensões.
Ryan J. Smith
Para ajudar a resolver o elo que faltava da resposta do SeanOCVN e do comentário completo: Um coletor (em um espaço topológico) é o resultado da execução do (ou a) algoritmo de incorporação linear local com dados de entrada em um espaço incorporado. O resultado é que a quantidade da dimensão dos dados de entrada é maior que a quantidade da dimensão dos dados de saída. A extração de uma nova representação de dados (mapeável à representação de dados original) é chamada de "extração de recurso"; que é um subtipo de "redução de dimensionalidade".
pds
0

@Alexey Grigorev já deu uma resposta muito boa, no entanto, acho que pode ser útil adicionar duas coisas:

  • Eu gostaria de fornecer um exemplo que me ajudou a entender intuitivamente o significado da variedade.
  • Ao elaborar isso, gostaria de esclarecer um pouco a "semelhança do espaço euclidiano".

Exemplo intuitivo

Imagine que trabalharíamos em uma coleção de imagens HDready (preto e branco) (1280 * 720 pixels). Essas imagens vivem em um mundo dimensional de 921.600; Cada imagem é definida por valores individuais de pixels.

Agora imagine que construiríamos essas imagens preenchendo cada pixel em sequência rolando um dado de 256 lados.

A imagem resultante provavelmente se pareceria com algo assim:

insira a descrição da imagem aqui

Não é muito interessante, mas poderíamos continuar fazendo isso até atingirmos algo que gostaríamos de manter. Muito cansativo, mas podemos automatizar isso em algumas linhas do Python.

Se o espaço de imagens significativas (muito menos realistas) fosse remotamente tão grande quanto o espaço inteiro, em breve veríamos algo interessante. Talvez veríamos uma foto sua ou um artigo de notícias de uma linha do tempo alternativa. Ei, que tal adicionarmos um componente de tempo e poderíamos ter sorte e gerar Back to th Future com um final alternativo

Na verdade, costumávamos ter máquinas que faziam exatamente isso: TVs antigas que não eram sintonizadas corretamente. Agora me lembro de vê-las e nunca vi nada que tivesse alguma estrutura.

Por que isso acontece? Bem: as imagens que achamos interessantes são, na verdade, projeções de fenômenos de alta resolução e são governadas por coisas que são muito menos dimensionais. Por exemplo: o brilho da cena, próximo a um fenômeno unidimensional, domina quase um milhão de dimensões neste caso.

Isso significa que existe um subespaço (o coletor), neste caso (mas não por definição) controlado por variáveis ​​ocultas, que contém as instâncias de interesse para nós

Comportamento euclidiano local

O comportamento euclidiano significa que o comportamento tem propriedades geométricas. No caso do brilho, isso é muito óbvio: se você aumentar ao longo do "eixo", as imagens resultantes ficarão continuamente mais brilhantes.

Mas é aqui que fica interessante: esse comportamento euclidiano também funciona em dimensões mais abstratas em nosso espaço múltiplo. Considere este exemplo do Deep Learning de Goodfellow, Bengio e Courville

Esquerda: O mapa 2D do Frey enfrenta o coletor.  Uma dimensão que foi descoberta (horizontal) corresponde principalmente a uma rotação da face, enquanto a outra (vertical) corresponde à expressão emocional.  Direita: O mapa 2D do coletor MNIST

Esquerda: O mapa 2D do Frey enfrenta o coletor. Uma dimensão que foi descoberta (horizontal) corresponde principalmente a uma rotação da face, enquanto a outra (vertical) corresponde à expressão emocional. Direita: O mapa 2D do coletor MNIST

Uma razão pela qual a aprendizagem profunda é tão bem-sucedida em aplicativos envolvendo imagens é porque ela incorpora uma forma muito eficiente de aprendizagem múltipla. Qual é um dos motivos pelos quais é aplicável ao reconhecimento e compactação de imagens, bem como à manipulação de imagens.

S van Balen
fonte