Quando usar o lema Johnson-Lindenstrauss sobre SVD?

12

O lema Johnson-Lindenstrauss permite representar pontos em um espaço de alta dimensão em pontos de menor dimensão. Ao encontrar espaços dimensionais inferiores de melhor ajuste, uma técnica padrão é encontrar a decomposição do valor singular e, em seguida, pegar o subespaço gerado pelos maiores valores singulares. Quando é do interesse usar a Johnson-Lindenstrauss sobre o SVD?

user09128323
fonte

Respostas:

20

As duas abordagens fornecem garantias muito diferentes.

O JL Lemma diz essencialmente "você me dá o erro que deseja, e eu darei a você um espaço dimensional baixo que captura as distâncias até esse erro". É também uma garantia pareada no pior dos casos : para cada par de pontos , etc etc

O SVD essencialmente promete "você me diz em qual dimensão deseja viver, e eu darei a melhor incorporação possível", onde "melhor" é definido como uma média : o erro total de semelhança verdadeira versus semelhança projetada é mínimo.

Então, de uma perspectiva teórica, eles resolvem problemas muito diferentes. Na prática, qual você deseja depende do seu modelo para o problema, quais parâmetros são mais importantes (erro ou dimensão) e que tipo de garantias você precisa.

Suresh Venkat
fonte
Alguém poderia me dizer como exatamente obtido em (1-eps) | uv | ^ 2 <= | f (u) -f (v) | ^ 2 <= (1 + eps) | uv | ^ 2 (em en.wikipedia.org/wiki/Johnson%E2%80%93Lindenstrauss_lemma )? f()
T ....
2
Essa é outra questão. Mas, em (muito) breve, se você pegar uma matriz e preenchê-la com entradas extraídas de uma normal padrão, então é definido como . f ( x ) A xAf(x)Ax
Suresh Venkat
Também existe um esquema JL para campos finitos em que a distorção está na métrica de Hamming? Se assim for, então o que estar aqui? f
T ....
1
Você não pode reduzir a dimensionalidade de maneira eficaz para a métrica Hamming. A estrutura é muito diferente. Em um sentido muito ondulado, admitir reduções no estilo JL está ligado a viver em um espaço de Hilbert. 1
Suresh Venkat 22/03
4

SVD e JL também extrapolam para pontos futuros de maneira diferente.

Ou seja, se você pressupõe que seus dados provêm de alguma distribuição subjacente, em princípio o SVD deve permanecer "bom" para quaisquer pontos futuros, desde que sejam amostrados da mesma distribuição. Por outro lado, a dimensão de destino da JL depende do número de pontos, o que significa que a aplicação de uma transformação JL em pontos adicionais pode aumentar a probabilidade de erro.

Isso se torna relevante se, por exemplo, se você estiver usando a redução de dimensionalidade como uma etapa de pré-processamento para outro algoritmo. Os limites de SVD para dados de treinamento podem conter dados de teste, mas os JLs não.

Frumple
fonte
Este é um ponto muito bom.
Paul Siegel
3

Este é um seguimento da resposta de Suresh - pesquisei um pouco depois de ler sua resposta e cheguei ao seguinte entendimento. Originalmente, eu ia postar isso como um comentário em sua resposta, mas continuava aumentando.

Aponte erros na resposta, não sou especialista neste campo.

Em certo sentido, JL e SVD são como maçãs e laranjas.

1) Os problemas que eles resolvem são completamente diferentes. Um se preocupa com distâncias aos pares, o outro com a melhor representação. Um é o pior caso, o outro é o caso médio.

O subespaço JL retorna (JL não é construtivo, mas vamos supor que ele retornou o melhor subespaço) é a solução para a seguinte otimização

(1)argminP{supu,v(|1||PuPv||2||uv||2|)}

(Isso não é preciso, comentarei mais sobre isso mais tarde)

O problema que o SVD está resolvendo é (dada uma dimensão ) k

argminP of dim k{Avg(||uPu||2)}

2) Entradas: Embora os dois algoritmos produzam subespaços, as entradas necessárias são diferentes. JL requer uma tolerância (qual é o erro máximo que você deseja tolerar entre distâncias reais e distâncias no subespaço), enquanto SVD requer número de dimensões.ϵ

3) JL é não construtivo, SVD é construtivo - esse ponto é um pouco vago, pois o termo construtivo não é definido com precisão. Existem algoritmos determinísticos para calcular o SVD, mas o algoritmo para encontrar um espaço JL é aleatório - faça projeções aleatórias, se você falhar, tente novamente.

4) SVD é único (o subespaço pode não ser único, mas o valor objetivo será o mesmo para todos os subespaços). A Eqn (1) acima não é precisa no sentido de que JL na verdade não fala em minimizar a discrepância nas distâncias em pares - ela garante a existência de um subespaço menor, onde as distâncias serão no máximo diferentes da sua distância real. valores. Poderia haver muitos desses subespaços, alguns melhores que os outros.ϵ

(Veja os comentários para obter explicações sobre partes marcadas da resposta).

Edit: @ john-myles-white escreveu um post sobre a JL para verificar suas reivindicações e mostrar como uma projeção pode ser construída: http://www.johnmyleswhite.com/notebook/2014/03/24/a-note- on-the-johnson-lindenstrauss-lema /

elexhobby
fonte
5
Há vários erros na sua resposta. (1) JL é extremamente construtivo: existem todos os tipos de algoritmos para a construção do mapeamento (2) ele não preserva a diferença, mas a diferença relativa (a relação) (3) o lema da JL foi des randomizado (4) JL trabalha para qualquer conjunto de vetores: a construção é independente da entrada real. a única informação necessária é o número de vetores.
Suresh Venkat
Obrigado Suresh. Eu incorporei tudo, exceto sua sugestão final. Sinta-se livre para editar a resposta ainda mais. No último ponto, estou confuso. Você está dizendo que o mesmo mapa funcionará, independentemente do conjunto de vetores que eu forneço?
elexhobby
3
Esse é um ponto um pouco sutil. Depois de corrigir o erro e o número de vetores, há uma distribuição de probabilidade fixa nos mapas que funcionará com alta probabilidade para qualquer conjunto de vetores. Obviamente, não existe um mapa linear determinado deterministicamente que satisfaça essa propriedade.
Sasho Nikolov
É vale a pena conferir de Olivier Grisel implementação scikit-learn
KLDavenport
Eu gostaria de acrescentar que não apenas não existe um algoritmo determinístico para a construção de uma incorporação JL em geral, como é proibida computacionalmente verificar se uma matriz gerada aleatoriamente de acordo com o algoritmo JL realmente possui a propriedade "quase isometria" (embora isso acontece com uma probabilidade muito alta). Então, acho razoável dizer que o teorema da JL não é construtivo. Compare com o algoritmo "escolha um número real aleatório entre e "; isso fornece um número transcendental com probabilidade , mas eu não chamaria de construtivo. 1 1011
Paul Siegel