Incrustación de vecinos estocásticos distribuidos en t (t-SNE)
La incrustación de vecinos estocásticos distribuidos en t (t-SNE) es un método estadístico para visualizar datos de alta dimensión asignando a cada punto de datos una ubicación en un mapa bidimensional o tridimensional. Se basa en la incrustación de vecinos estocástica desarrollada originalmente por Geoffrey Hinton y Sam Roweis,[1] donde Laurens van der Maaten propuso la variante t-distribuida.[2] Se trata de una técnica no lineal de reducción de la dimensionalidad para incrustar datos de alta dimensión para su visualización en un espacio de baja dimensión de dos o tres dimensiones. Concretamente, modela cada objeto de alta dimensión mediante un punto bidimensional o tridimensional, de tal forma que los objetos similares se modelan mediante puntos cercanos y los objetos disímiles se modelan mediante puntos distantes con alta probabilidad.
El algoritmo t-SNE consta de dos etapas principales. En primer lugar, t-SNE construye una distribución de probabilidad sobre pares de objetos de alta dimensión de tal forma que a los objetos similares se les asigna una probabilidad mayor, mientras que a los puntos disímiles se les asigna una probabilidad menor. En segundo lugar, t-SNE define una distribución de probabilidad similar sobre los puntos del mapa de baja dimensión y minimiza la divergencia de Kullback-Leibler (divergencia KL) entre las dos distribuciones con respecto a las ubicaciones de los puntos en el mapa. Aunque el algoritmo original utiliza la distancia euclidiana entre objetos como base de su métrica de similitud, ésta puede modificarse según convenga. Una variante riemanniana es UMAP.
Aunque los gráficos t-SNE a menudo parecen mostrar clusters, los clústers o conglomerados visuales pueden estar fuertemente influenciados por la parametrización elegida y, por lo tanto, es necesario un buen conocimiento de los parámetros para t-SNE. Se puede demostrar que estos "conglomerados" aparecen incluso en datos no agrupados,[11] por lo que pueden ser falsos hallazgos. Por tanto, puede ser necesaria una exploración interactiva para elegir los parámetros y validar los resultados.[12][13] Se ha demostrado que t-SNE a menudo es capaz de recuperar conglomerados bien separados y, con elecciones especiales de los parámetros, se aproxima a una forma simple de agrupación espectral.[14]
Para un conjunto de datos con n elementos, t-SNE se ejecuta en tiempo O(n2) y requiere espacio O(n2).[15]
Detalles
Dado un conjunto de objetos de alta dimensión , t-SNE calcula primero las probabilidades que son proporcionales a la similitud de los objetos y como sigue:
Para se define:
Y se establece . Obsérvese que el denominador anterior garantiza para todas las .
Como explicaron van der Maaten y Hinton: "La similitud de los puntos de datos a los puntos de datos es la probabilidad condicional de que escoja a como su vecino si los vecinos se eligieran en proporción a su densidad de probabilidad bajo una gaussiana centrada en .
Luego se define:
Esto es motivado debido a que y de las N muestras se estiman como 1/N, por lo que la probabilidad condicional puede escribirse como y . Teniendo en cuenta que se puede obtener la fórmula anterior.
También se debe tener en cuenta que y .
El ancho de banda de los núcleos gaussianos se fija de forma que la entropía de la distribución condicional sea igual a una entropía predefinida mediante el método de bisección. Como resultado, el ancho de banda se adapta a la densidad de los datos: los valores más pequeños de se utilizan en las partes más densas del espacio de datos.
Dado que el kernel gaussiano utiliza la distancia euclidiana, se ve afectada por la maldición de la dimensionalidad, y en datos de alta dimensionalidad cuando las distancias pierden la capacidad de discriminar, entonces se vuelven demasiado similares (asintóticamente, convergerían a una constante). Para paliarlo, se ha propuesto ajustar las distancias con una transformada de potencia, basada en la dimensión intrínseca de cada punto.
t-SNE pretende aprender un mapa dimensional , que es (con y normalmente elegido como 2 o 3) que refleje las similitudes lo mejor posible. Para ello, mide las similitudes entre dos puntos del mapa y utilizando un enfoque muy similar. Específicamente, para , se define como:
Y se establece . En este caso se utiliza una distribución t de Student de colas gruesas (con un grado de libertad, que es lo mismo que una distribución de Cauchy) para medir las similitudes entre puntos de baja dimensión, con el fin de permitir que los objetos disímiles se modelen muy separados en el mapa.
La minimización de la divergencia de Kullback-Leibler con respecto al punto se realiza mediante el descenso de gradiente. El resultado de esta optimización es un mapa que refleja las similitudes entre las entradas de alta dimensión.
ELKI contiene tSNE, también con aproximación Barnes-Hut
scikit-learn, una popular biblioteca de aprendizaje automático en Python, implementa t-SNE tanto con soluciones exactas como con la aproximación de Barnes-Hut.
Tensorboard, el kit de visualización asociado a TensorFlow, también implementa t-SNE
↑Gashi, I.; Stankovic, V.; Leita, C.; Thonnard, O. (2009). «"An Experimental Study of Diversity with Off-the-shelf AntiVirus Engines"». Proceedings of the IEEE International Symposium on Network Computing and Applications.
↑Hamel, P.; Eck, D. (2010). «"Learning Features from Music Audio with Deep Belief Networks"». Proceedings of the International Society for Music Information Retrieval Conference.
↑Birjandtalab, J.; Pouyan, M. B.; Nourani, M. (2016). «"Nonlinear dimension reduction for EEG-based epileptic seizure detection"». 2016 IEEE-EMBS International Conference on Biomedical and Health Informatics (BHI). ISBN978-1-5090-2455-1. doi:10.1109/BHI.2016.7455968.
↑Pezzotti, Nicola; Lelieveldt, Boudewijn P. F.; Maaten, Laurens van der; Hollt, Thomas; Eisemann, Elmar; Vilanova, Anna (2017). «"Approximated and User Steerable tSNE for Progressive Visual Analytics".». IEEE Transactions on Visualization and Computer Graphics. PMID28113434. doi:10.1109/tvcg.2016.2570755.