Ci sono casi in cui PCA è più adatto di t-SNE?


39

Voglio vedere come 7 misure del comportamento di correzione del testo (tempo impiegato per correggere il testo, numero di sequenze di tasti, ecc.) Si relazionano tra loro. Le misure sono correlate. Ho eseguito un PCA per vedere come le misure proiettavano su PC1 e PC2, evitando così la sovrapposizione dell'esecuzione di test di correlazione bidirezionali separati tra le misure.

Mi è stato chiesto perché non usare t-SNE, poiché la relazione tra alcune delle misure potrebbe essere non lineare.

Posso vedere come consentire la non linearità migliorerebbe questo, ma mi chiedo se ci sia qualche buona ragione per usare PCA in questo caso e non t-SNE? Non mi interessa raggruppare i testi in base al loro rapporto con le misure, ma piuttosto al rapporto tra le misure stesse.

(Immagino che anche EFA potrebbe avere un approccio migliore / altro, ma questa è una discussione diversa.) Rispetto ad altri metodi, ci sono pochi post qui su t-SNE, quindi la domanda sembra valere la pena di porsi.


3
t-SNE non si adatta bene alla dimensione del set di dati, mentre PCA lo fa. Ciò deriva dall'esperienza nell'esecuzione di entrambi su un set di dati di grandi dimensioni mediante l'implementazione di scikit-learn.
Mai

@Mai presumibilmente questo vale principalmente per set di dati di grandi dimensioni? Il mio set di dati è limitato (alcune centinaia di punti dati).
user3744206

Risposte:


65

-SNE è un ottimo pezzo di Machine Learning ma si possono trovare molti motivi per usare PCA invece di esso. Della parte superiore della mia testa, ne citerò cinque. Come la maggior parte delle altre metodologie computazionali in uso, t -SNE non è unproiettile d'argentoe ci sono alcune ragioni che lo rendono una scelta non ottimale in alcuni casi. Vorrei citare alcuni punti in breve:tt

  1. Stocasticità della soluzione finale . PCA è deterministico; -SNE no. Uno ottiene una bella visualizzazione e poi il suo collega ottiene un'altra visualizzazione e poi diventano artistici che sembrano migliori e se una differenza dello 0,03 % nella divergenza di K L ( P | | Q ) è significativa ... In PCA la risposta corretta alla la domanda posta è garantita. t -SNE potrebbe avere minimi multipli che potrebbero condurre a soluzioni diverse. Ciò richiede più corse e solleva domande sulla riproducibilità dei risultati.t0.03%KL(P||Q)t

  2. Interpretabilità della mappatura . Questo si riferisce al punto precedente, ma supponiamo che una squadra abbia concordato in un particolare seed / run casuale. Ora la domanda diventa ciò che questo mostra ... -SNE cerca di mappare correttamente solo i locali / vicini, quindi le nostre intuizioni da quell'incorporamento dovrebbero essere molto caute; le tendenze globali non sono rappresentate con precisione (e ciò può potenzialmente essere una grande cosa per la visualizzazione). D'altra parte, PCA è solo una rotazione diagonale della nostra matrice iniziale di covarianza e gli autovettori rappresentano un nuovo sistema assiale nello spazio attraversato dai nostri dati originali. Possiamo spiegare direttamente cosa fa un determinato PCA.t

  3. Applicazione a dati nuovi / non visti . -SNE non sta imparando una funzione dallo spazio originale al nuovo (inferiore) dimensionale e questo è un problema. A tale proposito, t -SNE è un algoritmo di apprendimento non parametrico, quindi l'approssimazione con algoritmo parametrico è un problema mal posto. L'incorporamento viene appreso spostando direttamente i dati nello spazio dimensionale basso. Ciò significa che non si ottiene un autovettore o un costrutto simile da utilizzare in nuovi dati. Al contrario, usando PCA gli autovettori offrono un nuovo sistema di assi che può essere utilizzato direttamente per proiettare nuovi dati. [Apparentemente si potrebbe provare ad addestrare una rete profonda per imparare il tttt-SNE mapping (puoi sentire il Dr. van der Maaten a ~ 46 'di questo video che suggerisce qualcosa in questo senso) ma chiaramente non esiste una soluzione facile.]

  4. Dati incompleti . Nativamente -SNE non tratta dati incompleti. In tutta onestà, PCA non li affronta neanche, ma numerose estensioni di PCA per dati incompleti (ad es. PCA probabilistico ) sono disponibili e sono routine di modellazione quasi standard . t -SNE al momento non è in grado di gestire dati incompleti (a parte ovviamente allenare prima un PCA probabilistico e passare i punteggi del PC a t -SNE come input).ttt

  5. La non è (troppo) una minuscola.K -SNE risolve un problema noto come problema di affollamento, in effetti chepunti un po 'simili in dimensioni superiori collassano uno sopra l'altro in dimensioni inferiori(piùqui). Ora, aumentando le dimensioni utilizzate, il problema dell'affollamento diventa meno grave. il problema che si sta tentando di risolvere mediante l'uso di t -SNE viene attenuato. Puoi aggirare questo problema ma non è banale. Pertanto, se è necessario unvettore dimensionale k poiché l'insieme ridotto e k non è abbastanza piccolo, l'ottimalità della soluzione di produzione è in questione. PCA d'altra parte offrono sempre il kttKKKspiegazione della migliore combinazione lineare in termini di varianza. (Grazie a @amoeba per aver notato che ho fatto un casino quando ho provato a delineare questo punto.)

Non menziono problemi relativi ai requisiti computazionali (ad es. Velocità o dimensioni della memoria) né problemi relativi alla selezione di iperparametri rilevanti (ad es. Perplessità). Penso che questi siano problemi interni della metodologia -SNE e sono irrilevanti se confrontati con un altro algoritmo.t

Riassumendo, -SNE è eccezionale, ma poiché tutti gli algoritmi hanno i suoi limiti quando si tratta della sua applicabilità. Uso t -SNE quasi su qualsiasi nuovo set di dati su cui metto le mani come strumento esplicativo di analisi dei dati. Penso che abbia alcune limitazioni che non lo rendono quasi applicabile come PCA. Vorrei sottolineare che neanche la PCA è perfetta; ad esempio, le visualizzazioni basate su PCA sono spesso inferiori a quelle di t -SNE.ttt


@amoeba: ho rimosso il punto perché stava diventando troppo laborioso; Sono stato principalmente motivato dall'idea che -SNE abbia problemi con il problema dell'affollamento che è meno grave quando si usano dimensioni più alte (invece di k = 2 , 3 , 4 ) e quindi offrono intuizioni confuse, ma ho confuso il punto che stavo cercando di rendere. Inoltre, poiché la ricostruzione è possibile da LLE (Roweis & Saul, 2000) perché non sarebbe possibile con t-SNE? tK=2,3,4
Usεr11852 dice Reinstate Monic il

@amoeba: grazie per averlo menzionato. Ho aggiornato la mia risposta di conseguenza.
Usεr11852 dice Reinstate Monic il

3
Per quanto riguarda il tuo punto n. 3: ecco il documento del 2009 su parametric t-sne lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf . Sembra che non sia davvero decollato (ha 25 volte meno citazioni rispetto al documento originale t-sne), ma in realtà è abbastanza facile da implementare con la tecnologia / le librerie di oggi. Ho installato e funzionante in Keras; Ho lavorato per indagare (e possibilmente estenderlo) nelle ultime settimane.
ameba dice Ripristina Monica il

Freddo! (+1) Se ottieni una prestampa arXiv fluttuante, per favore fatemelo sapere (qui o 10 volte), sarò molto curioso dei risultati. Sì, ho visto quel documento al momento della stesura di questa risposta (in realtà è un documento ben noto direi) ma, come hai detto, non sembra essere stato ripreso. Anche il punto 3 rimane perfettamente valido: è necessario costruire un DNN per ottenere qualcosa che PCA offre attraverso un singolo prodotto incrociato a matrice.
usεr11852 dice Reinstate Monic il

12

https://stats.stackexchange.com/a/249520/7828

è un'ottima risposta generale.

Vorrei concentrarmi un po 'di più sul tuo problema. Apparentemente vuoi vedere come i tuoi campioni si relazionano rispetto alle tue 7 variabili di input. Questo è qualcosa che t-SNE non fa. L'idea di SNE e t-SNE è di mettere i vicini vicini l'uno all'altro, ignorando (quasi) completamente la struttura globale.

Questo è eccellente per la visualizzazione, perché oggetti simili possono essere tracciati uno accanto all'altro (e non uno sopra l'altro, cfr. Affollamento).

Questo non va bene per ulteriori analisi. La struttura globale viene persa, alcuni oggetti potrebbero non essere in grado di spostarsi verso i loro vicini e la separazione tra gruppi diversi non viene preservata quantitativamente. Questo è in gran parte il motivo per cui, ad esempio, il raggruppamento sulla proiezione di solito non funziona molto bene.

PCA è piuttosto il contrario. Cerca di preservare le proprietà globali (autovettori con varianza elevata) mentre può perdere deviazioni a bassa varianza tra vicini.


Ah, è esattamente quello che ho assunto. Non sono interessato a come i punti dati si trovano nello spazio, ma piuttosto a come le misure stesse sono correlate tra loro. Queste due cose sono connesse, ovviamente, ma in termini di visualizzazione e interpretazione di queste relazioni, sospetto che solo PCA faccia quello che voglio. Ad esempio, ci sono relazioni sia positive che negative tra le misure e ciò a cui sono veramente interessato è il valore assoluto delle associazioni, che ritengo sia ancora più semplice interpretare / vedere se uso PCA.
user3744206

1
Per quel caso d'uso potrebbe essere meglio guardare piuttosto la matrice di correlazione stessa, cioè fare solo confronti a coppie. Quindi puoi anche gestire la non linearità, ad esempio usando la correlazione di spearman.
Anony-Mousse,

Possiamo usare T-SNE per problemi di cluster? per quanto ho capito, possiamo proiettare un nuovo punto di arrivo e provare a raggruppare le dimensioni inferiori? È possibile ?
Catbuilts

No. Poiché tSNE non è lineare, non puoi semplicemente calcolarlo per nuovi dati (vedi sopra). E c'è stata una discussione legittima che può anche essere fuorviante raggruppare i dati proiettati.
Anony-Mousse

1

Per dare un angolo applicato, PCA e t-SNE non si escludono a vicenda. In alcuni campi della biologia, abbiamo a che fare con dati altamente dimensionali (ad esempio scRNA-seq ha migliaia di dimensioni) in cui t-SNE semplicemente non si adatta. Pertanto, utilizziamo prima PCA per ridurre la dimensionalità dei dati e quindi, prendendo i componenti principali, calcoliamo il grafico di vicinato e quindi incorporiamo il grafico in 2 dimensioni usando t-SNE (o un simile approccio di riduzione della dimensionalità non lineare come UMAP) per visualizzare i dati.

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.