Quale algoritmo di classificazione si dovrebbe usare dopo aver visto che t-SNE separa bene le classi?


12

Supponiamo che abbiamo un problema di classificazione e all'inizio vogliamo ottenere alcune informazioni dai dati e facciamo t-SNE. Il risultato di t-SNE separa molto bene le classi. Ciò implica che è possibile costruire un modello di classificazione che separa molto bene le classi (se t-SNE non si separa bene, non implica molto).

Sapendo che t-SNE si concentra sulla struttura locale e che può separare bene le classi: quali sono gli algoritmi di classificazione che dovrebbero funzionare bene su questo problema? Scikit suggerisce SVM con un kernel gaussiano RBF, ma quali sono gli altri?


3
(+1) K-vicini più vicini potrebbe essere una scelta naturale molto semplice e facile da attuare.
ameba dice che ripristini Monica il

Risposte:


7

Prima una breve risposta, quindi un commento più lungo:

Risposta

Le tecniche SNE calcolano una matrice di somiglianza N × N sia nello spazio di dati originale sia nello spazio di incorporamento a bassa dimensione in modo tale che le somiglianze formino una distribuzione di probabilità su coppie di oggetti. In particolare, le probabilità sono generalmente date da un kernel gaussiano normalizzato calcolato dai dati di input o dall'incorporamento. In termini di classificazione, ciò fa immediatamente venire in mente metodi di apprendimento basati su istanze . Ne hai elencato uno: SVM con RBF e @amoeba ha elencato kNN. Esistono anche reti di funzioni di base radiale , di cui non sono esperto.

Commento

Detto questo, sarei doppiamente attento a fare inferenze su un set di dati solo guardando i grafici t-SNE. t-SNE non si concentra necessariamente sulla struttura locale. Tuttavia, puoi regolarlo per farlo sintonizzando il perplexityparametro, che regola (liberamente) come bilanciare l'attenzione tra gli aspetti locali e globali dei tuoi dati.

In questo contesto, di per perplexitysé è una pugnalata nel buio su quanti vicini vicini può avere ogni osservazione ed è fornita dall'utente. L' articolo originale afferma: "Le prestazioni di t-SNE sono abbastanza robuste rispetto ai cambiamenti nella perplessità, e i valori tipici sono compresi tra 5 e 50". Tuttavia, la mia esperienza è che ottenere il massimo da t-SNE può significare analizzare più grafici con diverse perplessità.

In altre parole, ottimizzando learning ratee perplexity, è possibile ottenere grafici 2D dall'aspetto molto diverso per lo stesso numero di fasi di allenamento e utilizzando gli stessi dati.

Questo documento di distillazione Come utilizzare t-SNE fornisce in modo efficace un ottimo riepilogo delle insidie ​​comuni dell'analisi t-SNE. I punti di riepilogo sono:

  1. Questi iperparametri (ad es. Tasso di apprendimento, perplessità) contano davvero

  2. Le dimensioni del cluster in un diagramma t-SNE non significano nulla

  3. Le distanze tra i cluster potrebbero non significare nulla

  4. Il rumore casuale non sembra sempre casuale.

  5. Puoi vedere alcune forme, a volte

  6. Per la topologia, potrebbe essere necessario più di un grafico

In particolare dai precedenti punti 2, 3 e 6, ci penserei due volte a fare inferenze sulla separabilità dei dati osservando i singoli grafici t-SNE. Esistono molti casi in cui è possibile "produrre" grafici che mostrano cluster chiari utilizzando i parametri giusti.


1
Berkmeister: Tutto ciò che hai scritto ha un senso. Il mio problema è abbastanza facile da descrivere: voglio rendere il modello di classificazione il migliore possibile. Come posso usarlo per migliorare la qualità del modello? La mia ipotesi migliore era che t-SNE potesse "suggerire" quale metodo potesse essere rilevante per un determinato problema.
Tomek Tarczynski,

2
Vedi modifica, i metodi di apprendimento basati sull'istanza sarebbero compatibili con qualsiasi indizio che potresti ottenere dai grafici t-SNE.
Zhubarb,

2
(+1): Grazie per la risposta, stavo cercando esattamente questo. Accetterò la risposta entro due giorni.
Tomek Tarczynski,
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.