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?
fonte
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.
fonte
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(Isso não é preciso, comentarei mais sobre isso mais tarde)
O problema que o SVD está resolvendo é (dada uma dimensão )k
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 /
fonte