Hai ragione sul fatto che gli stessi valori in T-SNE possono essere distribuiti su punti diversi, il motivo per cui ciò accade è chiaro se dai un'occhiata all'algoritmo che T-SNE attraversa.
Per rispondere alla tua prima preoccupazione in merito al fatto che i punti in realtà non sono gli stessi dopo che l'algoritmo è stato applicato al set di dati. Ti lascerò con un esercizio per verificarlo da solo, prendere in considerazione un semplice array e e eseguire un algoritmo reale contro di esso e vedere di persona che i punti risultanti non sono effettivamente identici Puoi incrociare la tua risposta con questo.x1=[0,1]x2=[0,1]
import numpy as np
from sklearn.manifold import TSNE
m = TSNE(n_components=2, random_state=0)
m.fit_transform(np.array([[0,1],[0,1]]))
Noterai anche che cambiando in random_state
realtà si modificano le coordinate di output del modello. Non esiste alcuna reale correlazione tra le coordinate effettive e il loro output. Dal momento che il primo passo di TSNE calcola la probabilità condizionale.
Proviamo ora a razionalizzare, usando l'algoritmo il motivo per cui ciò accade, usando solo la matematica, senza alcuna intuizione, per il momento. Si noti che e sono entrambi vettori in questa situazione. . Ora, se calcoliamo , possiamo vedere che il valore è 1. Dopo aver applicato la divergenza KL, otteniamo i valori sopra indicati. Ora, applichiamo alcune intuizioni a questo. è, informalmente, la probabilità condizionata che scelgaxixjpij=pi| j+pj| iopj|i=exp(−||xj−xi||22σ2)∑k≠iexp(−||xj−xi||22σ2) pijxixjpij=pi|j+pj|i2Npijxixjcome è vicino. Ciò giustifica il risultato, 1, per due motivi. Il primo, essendo che non c'è nessun altro vicino, quindi deve scegliere l'unico altro vettore nell'elenco delle coordinate. Inoltre, i punti sono identici e le possibilità che vengano raccolte come gli altri vicini dovrebbero essere elevate, come vediamo.
R2
Quindi, la verità è, piuttosto che guardare i due gruppi, guardare le distanze tra loro, perché ciò trasmette più informazioni di quanto le coordinate stesse.
Spero che questo abbia risposto alla tua domanda :)