A “projeção aleatória”, estritamente falando, não é uma projeção?


10

As implementações atuais do algoritmo de projeção aleatória reduzem a dimensionalidade das amostras de dados, mapeando-as de para usando uma matriz de projeção cujas entradas são iid de uma distribuição adequada (por exemplo, de ):RdRkd×kRN(0,1)

x=1kxR

Convenientemente, existem provas teóricas mostrando que esse mapeamento preserva aproximadamente distâncias aos pares.

No entanto, recentemente encontrei essas notas em que o autor afirma que esse mapeamento com uma matriz aleatória não é uma projeção no sentido algébrico linear estrito da palavra (página 6). Pelas explicações dadas, isso ocorre porque as colunas de não são estritamente ortogonais quando suas entradas são escolhidas independentemente de . Portanto, versões anteriores do RP, nas quais a ortogonalidade das colunas de foi aplicada, podem ser consideradas como uma projeção.RN(0,1)R

Você pode fornecer uma explicação mais detalhada de (1) qual é a definição de uma projeção nesse sentido estrito e (2) por que RP não é uma projeção sob essa definição ?.


11
Você pode encontrar respostas para (1) pesquisando em nosso site . A asserção (2) é imediata, porque se as colunas fossem sempre ortogonais, suas entradas não poderiam ser independentes.
whuber

Respostas:


4
  1. Qual é a definição de uma projeção nesse sentido estrito (algébrico linear) (da palavra)

    https://en.wikipedia.org/wiki/Projection_(linear_algebra)

    Em álgebra linear e análise funcional, uma projecção é uma transformação linear P a partir de um espaço vectorial a si mesmo de modo a que P2=P . Ou seja, sempre que P é aplicado duas vezes a qualquer valor, obtém o mesmo resultado como se tivesse sido aplicado uma vez (idempotente).

    Para projeção ortogonal ou vetorial, você tem esse

    https://en.wikipedia.org/wiki/Projection_(linear_algebra)

    Uma projeção ortogonal é uma projeção para a qual o intervalo U e o espaço nulo V são subespaços ortogonais.

  2. Por que RP não é uma projeção sob essa definição?

    Michael Mahoney escreve em suas notas de aula que depende de como o PR é construído , se o PR é ou não uma projeção no sentido algébrico linear tradicional. Isso ele faz nos terceiro e quarto pontos:

    Terceiro, se os vetores aleatórios fossem exatamente ortogonais (como realmente eram nas construções JL originais), teríamos que a projeção JL fosse uma projeção ortogonal

    ...

    mas, embora isso seja falso para Gaussianos, {±} variáveis ​​aleatórias e a maioria das outras construções, pode-se provar que os vetores resultantes têm aproximadamente o comprimento unitário e aproximadamente ortogonais

    ...

    isso é "bom o suficiente".

    Portanto, você poderia fazer, principalmente, a projeção aleatória com uma construção diferente, limitada a matrizes ortogonais (embora não seja necessária). Veja, por exemplo, o trabalho original:

    Johnson, William B. e Joram Lindenstrauss. "Extensões de mapeamentos de Lipschitz em um espaço de Hilbert." Matemática contemporânea 26.189-206 (1984): 1.

    ... se alguém escolher aleatoriamente uma classificação k projeção ortogonal em l2n

    ...

    Para tornar isso preciso, deixamos Q ser a projeção nas primeiras coordenadas k de l2n e deixamos que σ seja a medida de Haar normalizada em O(n) , o grupo ortogonal em l2n . Em seguida, a variável aleatória

    f:(O(n),σ)L(l2n)
    definida por
    f(u)=UQU
    determina a noção de uma " projeção de classificação aleatória k ".

    A entrada da Wikipedia descreve a projeção aleatória dessa maneira (o mesmo é mencionado nas notas de aula nas páginas 10 e 11)

    https://en.wikipedia.org/wiki/Random_projection#Gaussian_random_projection

    A primeira linha é um vetor de unidade aleatória escolhido uniformemente de Sd1 . A segunda linha é um vetor de unidade aleatória do espaço ortogonal à primeira linha, a terceira linha é um vetor de unidade aleatória do espaço ortogonal às duas primeiras linhas e assim por diante.

    Mas você geralmente não obtém essa ortogonalidade quando pega todas as entradas da matriz nas variáveis ​​aleatórias e independentes da matriz com uma distribuição normal (como Whuber mencionou em seu comentário com uma conseqüência muito simples "se as colunas fossem sempre ortogonais, suas entradas poderiam não seja independente ").

    A matriz de R e o produto, no caso de colunas ortonormais, pode ser vista como uma projecção, pois refere-se a uma matriz de projecção P=RTR . Isso é um pouco o mesmo que ver a regressão dos mínimos quadrados comuns como uma projeção. O produto b=RTx não é a projeção, mas fornece uma coordenada em um vetor base diferente. A projecção 'real' é x=Rb=RTRx , e a matriz de projecção é RTR .

    A matriz de projecção P=RTR necessita de ser o operador identidade no subespaço U que é a gama da projecção (ver as propriedades mencionadas na página Wikipedia). Ou, diferentemente, ele precisa ter os autovalores 1 e 0, de modo que o subespaço para o qual é a matriz de identidade seja o intervalo dos vetores próprios associados aos autovalores 1. Com entradas de matriz aleatórias, você não obterá essa propriedade. Este é o segundo ponto nas notas da aula

    ... parece "uma matriz ortogonal de várias maneiras ... o range(PTP) é um subespaço uniformemente distribuído ... mas os valores próprios não estão em {0,1} .

    note que nesta citação a matriz P se refere à matriz R na pergunta e não à matriz de projeção P=RTR que está implícita na matriz R

    Portanto, a projeção aleatória por diferentes construções, como o uso de entradas aleatórias na matriz, não é exatamente igual a uma projeção ortogonal. Mas é computacionalmente mais simples e, de acordo com Michael Mahoney, é "bom o suficiente".


11
Obrigado pela sua resposta, acho que vai na mesma direção que a que dei acima. Só para esclarecer eu acho que você deve indicar que . Em seguida, como se explica, se as entradas de R R d x k são iid de N ( 0 , 1 ) que não pode garantir que P 2 = P ou que P tem valores próprios em { 0 , 1 } . Por outro lado, se as colunas de RP=RRTRRd×kN(0,1)P2=PP{0,1}Rsão ortonormais, ambas as condições são cumpridas. Mas é fundamental indicar que a projeção é , e não R sozinho! RRTR
Daniel López

11
@ DanielLópez Eu atualizei.
Sextus Empiricus

6

Isso mesmo: "projeção aleatória" não é estritamente uma projeção.

Projecção está claramente um objecto matemático definido: https://en.wikipedia.org/wiki/Projection_(linear_algebra) - é um operador idempotentent linear, ou seja, linear operador P tal que P2=P . Aplicar uma projeção duas vezes é o mesmo que aplicá-la apenas uma vez, porque depois que um ponto é projetado em um subespaço, ele deve permanecer lá se for projetado novamente. Não há nada sobre ortogonalidade nesta definição; de fato, uma projeção pode ser oblíqua (veja Wikipedia).

Observe que apenas matrizes quadradas podem representar "projeções" nesse sentido. "Projeção aleatória" usa uma matriz d×k aleatória R com kd , portanto, não pode ser uma projeção no sentido da definição acima.

Mesmo se você tornar as colunas de R ortonormais (por exemplo, aplicando o processo de Gram-Schmidt), esse argumento ainda será aplicado. Alguém recentemente fez esta pergunta sobre PCA: O que exatamente deveria ser chamado de "matriz de projeção" no contexto do PCA? - uma matriz d×kU de autovetores ortonormais não é estritamente uma projeção.


3
No seu último parágrafo, você diz que, se as colunas são ortonormais, a projeção ainda não é uma projeção no sentido de uma projeção na álgebra linear. No entanto, isso ocorre apenas porque a matriz não é uma matriz quadrada. Isso se deve mais à notação do que ao princípio. Se você estender a matriz com zeros, então a matriz é uma projeção linear.
Sextus Empiricus

11
@MartijnWeterings Não, acho que não. Pegue o espaço 2D e U, que é 1x2 e fica assim: [sqrt (2) / 2, sqrt (2) / 2] (correspondente à projeção na diagonal). Agora estenda-o com zeros. Não será igual a si próprio ao quadrado.
Ameba

11
Deve ser estendido alguma outra forma, pode ser feito
b Kjetil Halvorsen

2
R(RTR)1RTIUP2=P
Sextus Empiricus

2
R

1

d×kRRxRdR

p=xR(RTR)1RTpRd

RRTR=IRk×kxR

p=xRRTpRd

RRTRd×d(RRT)2=RRTRRT=RRT

RRkRdxRdxRRTRRRT

Ficaria muito grato se você pudesse confirmar / corrigir meu raciocínio aqui.

Referência:

[1] http://www.dankalman.net/AUhome/classes/classesS17/linalg/projections.pdf


11
R(RTR)1RT

11
RRTR

2
R(RTR)1RT(RTR)1RTRTRTβ=(RTR)1RTyβy^=R(RTR)1RTyβ

-1

Se você usar inversão ou permutação de sinal aleatório recomputável antes da transformação Fast Walsh Hadamard, a projeção aleatória é ortogonal.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.