Quando utilizzare il lemma di Johnson-Lindenstrauss su SVD?


12

Il lemma di Johnson-Lindenstrauss consente di rappresentare punti in uno spazio ad alta dimensione in punti di dimensione inferiore. Quando si trovano spazi dimensionali inferiori della migliore misura, una tecnica standard consiste nel trovare la decomposizione del valore singolare e quindi prendere il sottospazio generato dai valori singolari più grandi. Quando è interessante utilizzare Johnson-Lindenstrauss sull'SVD?

Risposte:


20

I due approcci offrono garanzie molto diverse.

JL Lemma dice essenzialmente "mi dai l'errore che vuoi e ti darò uno spazio dimensionale basso che cattura le distanze fino a quell'errore". È anche una garanzia nel caso peggiore : per ogni coppia di punti , ecc. Ecc

L'SVD promette essenzialmente "dimmi in quale dimensione vuoi vivere, e ti darò il miglior incorporamento possibile", dove "migliore" è definito in media : l'errore totale della vera somiglianza contro la somiglianza proiettata è minimo.

Quindi da un punto di vista teorico risolvono problemi molto diversi. In pratica, quale vuoi dipende dal tuo modello di problema, quali parametri sono più importanti (errore o dimensione) e che tipo di garanzie hai bisogno.


Qualcuno potrebbe dirmi come si ottiene esattamente in (1-eps) | uv | ^ 2 <= | f (u) -f (v) | ^ 2 <= (1 + eps) | uv | ^ 2 (da en.wikipedia.org/wiki/Johnson%E2%80%93Lindenstrauss_lemma )? f()
T ....

2
Questa è un'altra domanda. Ma in (molto) breve, se prendi una matrice e la popoli con voci tratte da una normale standard, allora è definito come . f ( x ) A xAf(x)Ax
Suresh Venkat,

Esiste uno schema JL anche per i campi finiti in cui la distorsione è nella metrica di Hamming? Se è così, allora che cosa sarebbe essere qui? f
T .... il

1
Non è possibile effettuare questa riduzione dimensionale in modo efficace per la metrica di Hamming. La struttura è molto diversa. In un certo senso, ammettere che le riduzioni in stile JL sono legate al vivere in uno spazio di Hilbert. 1
Suresh Venkat,

4

Anche SVD e JL estrapolano diversamente i punti futuri.

Cioè, se si presume che i dati provengano da una distribuzione sottostante, in linea di principio l'SVD dovrebbe rimanere "buono" per tutti i punti futuri purché vengano campionati dalla stessa distribuzione. D'altra parte, la dimensione target di JL dipende dal numero di punti, il che significa che l'applicazione di una trasformazione JL a punti aggiuntivi può aumentare la probabilità di errore.

Ciò diventa rilevante se, ad esempio, se si utilizza la riduzione della dimensionalità come fase di preelaborazione per qualche altro algoritmo. I limiti SVD per i dati di allenamento possono valere per i dati di test, ma JL no.


Questo è un ottimo punto.
Paul Siegel,

3

Questo è il seguito della risposta di Suresh: ho cercato su Google un po 'dopo aver letto la sua risposta e ho trovato la seguente comprensione. Inizialmente stavo pubblicando questo come commento alla sua risposta, ma continuava ad aumentare.

Indica gli errori nella risposta, non sono un esperto in questo campo.

In un certo senso, JL e SVD sono come mele e arance.

1) I problemi che risolvono sono completamente diversi. Uno riguarda le distanze a coppie, l'altro con la migliore rappresentazione. Uno è il caso peggiore, l'altro è il caso medio.

Il sottospazio JL restituito (JL non è costruttivo, ma supponiamo che abbia restituito un sottospazio migliore) è la soluzione alla seguente ottimizzazione

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

(Questo non è preciso, commenterò più su questo più avanti)

Il problema che SVD sta risolvendo è (data una dimensione ) k

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

2) Ingressi: sebbene entrambi gli algoritmi producano sottospazi, gli ingressi di cui hanno bisogno sono diversi. JL richiede una tolleranza (qual è l'errore massimo che sei disposto a tollerare tra le distanze e le distanze effettive nel sottospazio), mentre SVD richiede il numero di dimensioni.ϵ

3) JL non è costruttivo, SVD è costruttivo - questo punto è un po 'vago, poiché il termine costruttivo non è definito con precisione. Esistono algoritmi deterministici per il calcolo dell'SVD, ma l'algoritmo per trovare uno spazio JL è uno randomizzato: esegui proiezioni casuali, se fallisci, riprova.

4) SVD è unico (il sottospazio potrebbe non essere unico, ma il valore obiettivo sarà lo stesso per tutti i sottospazi). Eqn (1) sopra non è preciso nel senso che JL in realtà non parla di minimizzare la discrepanza nelle distanze a coppie - offre una garanzia sull'esistenza di un sottospazio più piccolo in cui le distanze saranno al massimo diverse dalla loro effettiva valori. Potrebbero esserci molti sottospazi di questo tipo, alcuni migliori di altri.ϵ

(Vedi i commenti per la spiegazione delle parti colpite della risposta).

Modifica: @ john-myles-white ha scritto un post su JL per verificarne le affermazioni e mostrare come può essere costruita una proiezione: http://www.johnmyleswhite.com/notebook/2014/03/2/2/a-note- on-the-johnson-Lindenstrauss-lemma /


5
Ci sono molti errori nella tua risposta. (1) JL è estremamente costruttivo: esistono tutti i tipi di algoritmi per costruire la mappatura (2) non preserva la differenza ma la differenza relativa (il rapporto) (3) il lemma di JL è stato derandomizzato (4) JL funziona per qualsiasi set di vettori: la costruzione è indipendente dall'input effettivo. l'unica informazione necessaria è il numero di vettori.
Suresh Venkat,

Grazie Suresh. Ho incorporato tutto tranne il tuo suggerimento finale. Sentiti libero di modificare ulteriormente la risposta. All'ultimo punto, sono confuso. Stai dicendo che la stessa mappa funzionerà, indipendentemente dal set di vettori che ti do?
elexhobby

3
Questo è un punto leggermente sottile. Dopo aver corretto l'errore e il numero di vettori, esiste una distribuzione di probabilità fissa sulle mappe che funzionerà con alta probabilità per qualsiasi set di vettori. Naturalmente non esiste una mappa lineare fissata deterministicamente che soddisfi questa proprietà.
Sasho Nikolov,

Vale la pena dare un'occhiata all'implementazione di
Scikit

Vorrei aggiungere che non solo non esiste un algoritmo deterministico per la costruzione di un incorporamento JL in generale, ma è generalmente proibitivo dal punto di vista computazionale verificare che una matrice generata casualmente secondo l'algoritmo JL abbia effettivamente la proprietà "quasi isometria" (anche se lo fa con probabilità molto alta). Quindi penso sia ragionevole affermare che il teorema di JL non è costruttivo. Confronta con l'algoritmo "scegli un numero reale casuale compreso tra e "; questo dà un numero trascendentale con probabilità , ma non lo definirei costruttivo. 1 1011
Paul Siegel,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.