t-SNE: Perché valori uguali di dati non sono visivamente vicini?


9

Ho 200 punti dati che hanno gli stessi valori su tutte le funzionalità.

Dopo la riduzione della dimensione t-SNE non sembrano più così uguali, proprio come questo: inserisci qui la descrizione dell'immagine

Perché non sono sullo stesso punto della visualizzazione e sembrano persino essere distribuiti in due diversi cluster?


4
Assicurati di leggere distill.pub/2016/misread-tsne
Emre

Può essere causato dalla precisione (double / float) che stai usando?
El Burro,

La maggior parte dei valori sono numeri interi. Ed è molto scarso, circa 500 funzionalità con prevalentemente zeri. Non so se può essere causato dalla precisione. Ma la distanza tra questi cluster e tra questi punti di dati è relativamente grande.
ScientiaEtVeritas,

Quali cluster? Pensavo fossero tutti uguali o intendi la trama?
El Burro,

Sì, intendo i grappoli sulla trama.
ScientiaEtVeritas,

Risposte:


3

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_staterealtà 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(||xjxi||22σ2)kiexp(||xjxi||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 :)

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.