Perché t-SNE non viene utilizzato come tecnica di riduzione della dimensionalità per il clustering o la classificazione?


34

In un recente incarico, ci è stato detto di utilizzare PCA sulle cifre MNIST per ridurre le dimensioni da 64 (8 x 8 immagini) a 2. Abbiamo quindi dovuto raggruppare le cifre utilizzando un modello di miscela gaussiana. La PCA che utilizza solo 2 componenti principali non produce cluster distinti e di conseguenza il modello non è in grado di produrre raggruppamenti utili.

Tuttavia, usando t-SNE con 2 componenti, i cluster sono molto meglio separati. Il modello di miscela gaussiana produce cluster più distinti quando applicato ai componenti t-SNE.

La differenza tra PCA con 2 componenti e t-SNE con 2 componenti è visibile nelle seguenti coppie di immagini in cui le trasformazioni sono state applicate al set di dati MNIST.

PCA su MNIST

t-SNE su MNIST

Ho letto che t-SNE viene utilizzato solo per la visualizzazione di dati ad alta dimensione, come in questa risposta , ma dati i cluster distinti che produce, perché non viene utilizzato come tecnica di riduzione della dimensionalità che viene quindi utilizzata per i modelli di classificazione o come un metodo di clustering autonomo?


2
Intendi la classificazione o il raggruppamento? Il titolo dice raggruppamento ma il post dice classificazione.
usεr11852 dice Reinstate Monic il

Mi dispiace per quello. Voglio sapere perché non viene utilizzato come tecnica di clustering o come tecnica di riduzione della dimensionalità per la classificazione. Ho modificato per riflettere questo.
Willk,

Per coincidenza, un articolo pubblicato di recente utilizza t-SNE e un algoritmo di clustering senza supervisione per etichettare i processi di combustione.
tpg2114,

2
La risposta che hai collegato dimostra quanto possa essere fuorviante tSNE. Vengono visualizzati cluster nella trama che non esistono nei dati. Ciò è dannoso se non si hanno etichette. E non trarre troppe conclusioni dai dati MNIST. Questo è un set di dati estremamente ben educato ...
Anony-Mousse

1
Ho trovato utile questo articolo per spiegare t-SNE e i suoi svantaggi. Ha molte visualizzazioni interattive che aiutano a sottolineare i punti principali.
Will

Risposte:


33

Il motivo principale per cui -SNE non viene utilizzato nei modelli di classificazione è che non impara una funzione dallo spazio originale al nuovo (inferiore) dimensionale. Pertanto, quando proveremo a utilizzare il nostro classificatore su dati nuovi / non visti non saremo in grado di mappare / pre-elaborare questi nuovi dati in base ai precedenti risultati -SNE.ttt

C'è lavoro sull'addestramento di una rete neurale profonda per approssimare risultati di -SNE (ad esempio, il documento "parametrico" di -SNE ) ma questo lavoro è stato in parte sostituito dall'esistenza di autoencoders (profondi) . Gli autocodificatori stanno iniziando a essere utilizzati come input / pre-processori per i classificatori (in particolare DNN) proprio perché ottengono ottime prestazioni nell'allenamento e si generalizzano naturalmente con nuovi dati.ttt

tt -SNE può essere potenzialmente utilizzato se utilizziamo tecniche di clustering non basate sulla distanza come FMM ( modelli a miscela finita ) o DBSCAN ( modelli basati sulla densità ). Come noterai correttamente, in questi casi, l' output di -SNE può essere molto utile. Il problema in questi casi d'uso è che alcune persone potrebbero provare a leggere il posizionamento del cluster e non solo l'appartenenza al cluster. Man mano che si perdono le distanze globali, trarre conclusioni dal posizionamento dei cluster può portare a intuizioni fasulle. Si noti che solo dire: " hey, abbiamo trovato tutti i cluster s insieme " non offre un grande valore se non si può dire che cosa sono lontani. Se volessimo solo trovare ilt11potremmo anche aver usato la classificazione per cominciare (che ci riporta all'utilizzo degli autoencoder).


1
La Q sembra chiedere di più sul clustering piuttosto che sulla classificazione. Almeno il clustering è nel titolo.
ameba dice Reinstate Monica il

@amoeba: ho pensato lo stesso e ho scritto del potenziale utilizzo attraverso il clustering non basato sulla distanza (ad es. FMM, DBSCAN), ma poi ho letto la domanda: " perché non viene utilizzato come tecnica di riduzione della dimensionalità che viene quindi utilizzata per la classificazione modelli? "
usεr11852 dice Reinstate Monic il

Sì, ma il titolo Q è diverso. Penso che OP potrebbe essere confuso sulla differenza, quindi potrebbe avere senso affrontare entrambi nella tua A!
ameba dice di reintegrare Monica il

4
OK .. OK ... Eucariote alla guida di schiavi ...: P
usεr11852 dice Reinstate Monic,

1
(+1) Sarei molto interessato a sentire le tue opinioni su questa risposta di clustering / t-SNE stats.stackexchange.com/questions/263539 che ho appena pubblicato. CC anche su @caseWestern: anche questo potrebbe interessarti.
ameba dice Reinstate Monica il

3

t-SNE non mantiene le distanze, ma fondamentalmente stima le distribuzioni di probabilità. In teoria, gli algoritmi t-SNE mappano l'input su uno spazio della mappa di 2 o 3 dimensioni. Si presume che lo spazio di input sia una distribuzione gaussiana e lo spazio della mappa una distribuzione t. La funzione di perdita utilizzata è la divergenza KL tra le due distribuzioni che viene minimizzata usando la discesa gradiente.

Secondo Laurens van der Maaten, co-autore di t-SNE

t-SNE non mantiene le distanze ma le probabilità, quindi è inutile misurare alcuni errori tra le distanze euclidee in alta-D e bassa-D.

Riferimento:

https://lvdmaaten.github.io/tsne/

https://www.oreilly.com/learning/an-illustrated-introduction-to-the-t-sne-algorithm


2

Come affermazione generale: dato un classificatore sufficientemente potente (/ adatto), o cluster-er, non si applicherebbe mai alcuna riduzione di dimensionalità.

La riduzione dimensionale perde informazioni.

Dal momento che un tale cluster-er o classificatore (classificatori esp, meno cluster), internamente incorpora già una qualche forma di proiezione in uno spazio significativo. E la riduzione della dimensionalità è anche una proiezione in uno spazio (si spera) significativo.

Ma la riduzione della dimensionalità deve farlo in modo disinformato: non sa per quale compito stai riducendo. Ciò è particolarmente vero per la classificazione, in cui si dispone di informazioni supervisionate. Ma si applica anche al clustering, dove lo spazio su cui si vorrebbe proiettare per il clustering è meglio definito (per questo algoritmo) piuttosto che "avere meno dimensioni). La risposta di @ usεr11852 parla di questo. Come ho detto, la riduzione della dimensionalità non sa cosa compito per il quale stai riducendo: lo informi nella tua scelta di quale algoritmo di riduzione della dimensionalità devi usare.

Molto spesso piuttosto che aggiungere una fase di riduzione della dimensionalità come preelaborazione prima del raggruppamento / classificazione, è meglio utilizzare un diverso classificatore / cluster-er che incorpori una proiezione utile.

Una cosa che la riduzione della dimentionalità ha in questo senso è la sua natura incustodita nel creare la proiezione nello spazio (si spera) significativo. Ciò è utile se si hanno pochi dati sull'etichetta. Ma ci sono spesso altri metodi che sono strettamente collegati al tuo classificatore (ad esempio per le reti neurali, usando l'autoencoder, ad esempio la predicazione della rete di credenze profonde) che funzioneranno meglio, perché sono progettati pensando a quel compito finale. Non è il compito più generale di riduzione della dimensionalità.

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.