Il vicino più vicino ha un senso con t-SNE?


10

Le risposte qui hanno affermato che le dimensioni in t-SNE sono prive di significato e che le distanze tra i punti non sono una misura di somiglianza .

Tuttavia, possiamo dire qualcosa su un punto basato sui vicini più vicini nello spazio t-SNE? Questa risposta al motivo per cui i punti esattamente uguali non sono raggruppati suggerisce che il rapporto delle distanze tra i punti sia simile tra le rappresentazioni dimensionali inferiori e superiori.

Ad esempio, l'immagine seguente mostra t-SNE su uno dei miei set di dati (15 classi).

Posso dire che cro 479(in alto a destra) è un valore anomalo? È fra 1353(in basso a sinistra) è più simile a quella cir 375delle altre immagini nella fraclasse, ecc? O potrebbero essere solo artefatti, ad esempio fra 1353rimanere bloccati dall'altra parte di alcuni ammassi e non riuscire a farsi strada verso l'altra fraclasse?

inserisci qui la descrizione dell'immagine



Risposte:


8

No, non è necessario che sia così, tuttavia, questo è, in modo contorto, l'obiettivo di T-SNE.

Prima di entrare nella carne della risposta, diamo un'occhiata ad alcune definizioni di base, sia matematicamente che intuitivamente.

RdX1,...,XnRdxRd||X1x||...||Xnx||Rd

dyxddd+k. Quindi, abbiamo la nostra intuizione che è che la distanza viene mantenuta attraverso dimensioni diverse, o almeno, questo è ciò a cui miriamo. Proviamo a giustificarlo con un po 'di matematica.

pj|i=exp(||xjxi||22σ2)kiexp(||xjxi||22σ2)Rk

Ora finalmente un chiaro esempio di codifica che dimostra anche questo concetto.

from sklearn.manifold import TSNE
from sklearn.neighbors import KNeighborsClassifier
X = [[0],[1],[2],[3],[4],[5],[6],[7],[8],[9]]
y = [0,1,2,3,4,5,6,7,8,9]
neighs = KNeighborsClassifier(n_neighbors=3)
neighs.fit(X, y)
X_embedded = TSNE(n_components=1).fit_transform(X)
neighs_tsne = KNeighborsClassifier(n_neighbors=3)
neighs_tsne.fit(X_embedded, y)
print(neighs.predict([[1.1]]))
>>>[0]
print(neighs_tsne.predict([[1.1]]))
>>>[0]

Anche se questo è un esempio molto ingenuo e non riflette la complessità, funziona sperimentando alcuni esempi semplici.

EDIT: Inoltre, aggiungendo alcuni punti rispetto alla domanda stessa, quindi non è necessario che sia così, potrebbe essere, tuttavia, razionalizzarla attraverso la matematica dimostrerebbe che non si hanno risultati concreti (no si o no definitivi) .

Spero che questo abbia chiarito alcune delle tue preoccupazioni con TSNE.


Grazie per la buona risposta Riassumendo: i punti che hanno un'alta somiglianza hanno un'alta probabilità di rimanere vicini. Immagino che il parametro di perplessità controlli quanti punti vengono utilizzati per il calcolo della probabilità, quindi i cluster possono diventare disgiunti se la perplessità è bassa. Puoi commentare l'esagerazione anticipata? Inoltre, suppongo che la probabilità che i punti siano anomali o classificati in modo errato (avendo tutti i loro NN in un'altra classe) usando lo spazio TSNE, sarebbe aumentata se fossero coerenti dopo TSNE multipli con inizializzazione casuale?
geometrikal,

Sì, la perplessità è uno dei principali fattori che influenza il modo in cui i punti vicini rimangono l'uno con l'altro. Esagerazione precoce, intuitivamente è quanto i cluster ristretti nello spazio originale e quanto spazio ci sarà tra loro nello spazio incorporato (quindi è una miscela di perplessità e esagerazione precoce che influenza le distanze tra i punti. Per quanto riguarda la tua ultima domanda, la risposta è sì, ciò è dovuto all'esponenziazione della norma, che potrebbe causare problemi nello spazio di incorporamento, quindi c'è una possibilità di classificazione errata.
Sal
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.