La riduzione della dimensionalità per la visualizzazione dovrebbe essere considerata un problema "chiuso", risolto da t-SNE?


23

Ho letto molto sull'algoritmo -sne per la riduzione della dimensionalità. Sono rimasto molto colpito dalle prestazioni su set di dati "classici", come MNIST, in cui raggiunge una chiara separazione delle cifre ( vedi articolo originale ):t

t-SNE MNIST

L'ho anche usato per visualizzare le funzionalità apprese da una rete neurale che mi sto allenando e sono rimasto molto soddisfatto dei risultati.

Quindi, come ho capito:

t -sne ha buoni risultati sulla maggior parte dei set di dati e ha un'implementazione piuttosto efficiente - con il metodo di approssimazione Barnes-Hut. Quindi, potremmo potenzialmente affermare che il problema della "riduzione della dimensionalità", almeno allo scopo di creare buone visualizzazioni 2D / 3D, è ora un problema "chiuso"?O(nlogn)

Sono consapevole che questa è un'affermazione piuttosto audace. Sono interessato a capire quali sono le potenziali "insidie" di questo metodo. Cioè, ci sono casi in cui sappiamo che si tratta non è utile? Inoltre, quali sono i problemi "aperti" in questo campo?

Risposte:


16

Sicuramente no.

Concordo sul fatto che t-SNE è un algoritmo straordinario che funziona estremamente bene e che all'epoca era una vera svolta. Tuttavia:

  • ha gravi carenze;
  • alcune carenze devono essere risolvibili;
  • ci sono già algoritmi che offrono prestazioni notevolmente migliori in alcuni casi;
  • molte proprietà di t-SNE sono ancora poco comprese.

Qualcuno collegato a questo account molto popolare di alcune carenze di t-SNE: https://distill.pub/2016/misread-tsne/ (+1), ma discute solo set di dati giocattolo molto semplici e trovo che non corrisponda molto bene ai problemi che si incontrano nella pratica quando si lavora con t-SNE e relativi algoritmi sui dati del mondo reale. Per esempio:

  1. t-SNE spesso non riesce a preservare la struttura globale del set di dati;
  2. t-SNE tende a soffrire di "sovraffollamento" quando cresce al di sopra di ~ 100k;N
  3. Il runtime di Barnes-Hut è troppo lento per grandi dimensioni .N

Discuterò brevemente di seguito tutti e tre.


  1. t-SNE spesso non riesce a preservare la struttura globale del set di dati.

    Considera questo set di dati RNA-seq a cella singola dell'istituto Allen (cellule corticali del topo): http://celltypes.brain-map.org/rnaseq/mouse . Ha ~ 23k celle. Sappiamo a priori che questo set di dati ha una struttura gerarchica significativa e ciò è confermato dal clustering gerarchico. Esistono neuroni e cellule non neuronali (glia, astrociti, ecc.). Tra i neuroni, ci sono neuroni eccitatori e inibitori - due gruppi molto diversi. Tra i neuroni inibitori, ad esempio, ci sono diversi gruppi principali: espressione di Pvalb, espressione di SSt, espressione di VIP. In ognuno di questi gruppi, sembrano esserci più ulteriori cluster. Ciò si riflette nella struttura gerarchica del clustering. Ma ecco t-SNE, preso dal link sopra:

    inserisci qui la descrizione dell'immagine

    Le cellule non neurali sono in grigio / marrone / nero. I neuroni eccitatori sono in blu / verde acqua / verde. I neuroni inibitori sono in arancione / rosso / viola. Si vorrebbe che questi grandi gruppi si unissero, ma ciò non accade: una volta che t-SNE separa un gruppo in più cluster, possono finire per essere posizionati arbitrariamente. La struttura gerarchica del set di dati viene persa.

    Penso che questo dovrebbe essere un problema risolvibile, ma non sono a conoscenza di sviluppi di buon principio, nonostante alcuni lavori recenti in questa direzione (incluso il mio).

  2. N

    t-SNE funziona molto bene sui dati MNIST. Ma considera questo (tratto da questo documento ):

    inserisci qui la descrizione dell'immagine

    Con 1 mln di punti dati, tutti i cluster vengono raggruppati insieme (il motivo esatto non è molto chiaro) e l'unico modo noto per controbilanciare è con alcuni hack sporchi come mostrato sopra. So per esperienza che ciò accade anche con altri set di dati di grandi dimensioni.

    Si può probabilmente vedere questo con MNIST stesso (N = 70k). Guarda:

    inserisci qui la descrizione dell'immagine

    Sulla destra è t-SNE. Sulla sinistra c'è UMAP , un nuovo entusiasmante metodo in fase di sviluppo attivo, molto simile a un vecchio VIS più grande . UMAP / largeVis separa i cluster molto più lontano. Il motivo esatto per questo è IMHO poco chiaro; Direi che c'è ancora molto da capire qui, e forse molto da migliorare.

  3. Il runtime di Barnes-Hut è troppo lento per grandi dimensioniN

    NN

    inserisci qui la descrizione dell'immagine

    Quindi questo potrebbe non essere più esattamente un problema aperto, ma lo era fino a poco tempo fa, e immagino che ci sia spazio per ulteriori miglioramenti nel runtime. Quindi il lavoro può certamente continuare in questa direzione.


7

Ecco un'eccellente analisi di come la variazione dei parametri durante l'esecuzione di t-SNE influenzi alcuni set di dati molto semplici: http://distill.pub/2016/misread-tsne/ . In generale, t-SNE sembra fare bene nel riconoscere le strutture ad alta dimensione (comprese le relazioni più complesse dei cluster), sebbene ciò sia soggetto all'ottimizzazione dei parametri, in particolare i valori di perplessità.


7

Mi piacerebbe comunque ascoltare altri commenti, ma posterò la mia risposta per ora, come la vedo io. Mentre cercavo una risposta più "pratica", ci sono due "svantaggi" teorici da considerare, che vale la pena menzionare; il primo è meno problematico e il secondo dovrebbe essere sicuramente considerato:

  1. La funzione di costo t-sne non è convessa, quindi non è garantito il raggiungimento di un livello globale ottimale : altre tecniche di riduzione della dimensionalità (Isomap, LLE) hanno una funzione di costo convesso. In t-sne non è così, quindi ci sono alcuni parametri di ottimizzazione che devono essere sintonizzati in modo efficace per raggiungere una "buona" soluzione. Tuttavia, anche se un potenziale trabocchetto teorico, vale la pena ricordare che in pratica questo non è certo un crollo, poiché sembra che anche il "minimo locale" dell'algoritmo t-sne superi (crea visualizzazioni migliori) quindi il minimo globale degli altri metodi .

  2. maledizione della dimensionalità intrinseca : una cosa importante da tenere a mente quando si usa t-sne è che si tratta essenzialmente di un apprendimento molteplicealgoritmo. In sostanza, ciò significa che t-sne (e altri metodi simili) sono progettati per funzionare in situazioni in cui l'alta dimensione originale è solo artificialmente alta: c'è una dimensione intrinseca inferiore nei dati. cioè, i dati "si trovano" su una varietà dimensionale inferiore. Un bell'esempio da tenere a mente sono le foto consecutive della stessa persona: mentre potrei rappresentare ogni immagine nel numero di pixel (alta dimensione), la dimensionalità intrinastica dei dati è effettivamente limitata dalla trasformazione fisica dei punti (in in questo caso, la rotazione 3D della testa). In questi casi t-sne funziona bene. Ma nei casi in cui la dimensionalità intrinseca è elevata o i punti dati si trovano su una varietà molto variabile, si prevede che t-sne funzionerà male, poiché la sua ipotesi più basilare - la linearità locale sulla varietà - è violata.

Per l'utente pratico, penso che ciò implichi due suggerimenti utili da tenere a mente:

  1. Prima di eseguire la riduzione dimensionalità per metodi di visualizzazione, cerca sempre di prima capire se c'è in realtà esiste una dimensione intrinseca inferiore per i dati che si sta trattando.

  2. Se non sei sicuro di 1 (e anche in generale), potrebbe essere utile, come suggerisce l'articolo originale, "eseguire t-sne su una rappresentazione di dati ottenuta da un modello che rappresenti i dati altamente variabili in modo efficiente in un numero di strati non lineari, come un codificatore automatico ". Quindi la combinazione di auto-encoder + t-sne può essere una buona soluzione in questi casi.


Ciao @ galoosh33! Mi chiedo se hai già avuto la possibilità di dare un'occhiata alla mia risposta. È stato utile? Non ho idea se sei ancora interessato a questo 1,5 anni dopo aver fatto questa domanda, quindi apprezzerei un po 'di feedback ... Nella tua risposta accettata dici che ti piacerebbe ancora sentire ulteriori pensieri, ma anche questo era tempo fa :)
ameba dice Reinstate Monica il

1
grazie per l'ottima risposta @amoeba! Lo esaminerò questo fine settimana.
galoosh33,
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.