La incrustación estocástica de vecinos con distribución t ( t-SNE ) es un método estadístico para visualizar datos de alta dimensión al otorgar a cada punto de datos una ubicación en un mapa bidimensional o tridimensional. Se basa en la incrustación estocástica de vecinos desarrollada originalmente por Geoffrey Hinton y Sam Roweis, [1] donde Laurens van der Maaten y Hinton propusieron la variante con distribución t . [2] Es una técnica de reducción de dimensionalidad no lineal para incrustar datos de alta dimensión para visualización en un espacio de baja dimensión de dos o tres dimensiones. Específicamente, modela cada objeto de alta dimensión por un punto bidimensional o tridimensional de tal manera que los objetos similares son modelados por puntos cercanos y los objetos diferentes son modelados por 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 manera que a los objetos similares se les asigna una probabilidad más alta mientras que a los puntos diferentes se les asigna una probabilidad más baja. En segundo lugar, t-SNE define una distribución de probabilidad similar sobre los puntos en el 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. Si bien el algoritmo original utiliza la distancia euclidiana entre objetos como base de su métrica de similitud, esto se puede cambiar según sea necesario. Una variante de Riemann es UMAP .
Para un conjunto de datos con n elementos, t-SNE se ejecuta en tiempo O( n 2 ) y requiere espacio O( n 2 ) . [11]
Detalles
Dado un conjunto de objetos de alta dimensión , t-SNE primero calcula probabilidades que son proporcionales a la similitud de los objetos y , de la siguiente manera.
Para , definir
y establezca . Tenga en cuenta que el denominador anterior garantiza para todos los .
Como explicaron van der Maaten y Hinton: "La similitud entre puntos de datos es la probabilidad condicional, , que elegiría como su vecino si los vecinos se eligieran en proporción a su densidad de probabilidad bajo una gaussiana centrada en ." [2]
Ahora defina
Esto está motivado porque y de las N muestras se estiman como 1/N, por lo que la probabilidad condicional se puede escribir como y . Como , se puede obtener la fórmula anterior.
Tenga en cuenta también que y .
El ancho de banda de los núcleos gaussianos se establece de tal manera que la entropía de la distribución condicional sea igual a una entropía predefinida utilizando el método de bisección . Como resultado, el ancho de banda se adapta a la densidad de los datos: se utilizan valores más pequeños de en las partes más densas del espacio de datos. La entropía aumenta con la perplejidad de esta distribución ; esta relación se ve como
¿Dónde está la entropía de Shannon?
La perplejidad es un parámetro elegido manualmente de t-SNE y, como afirman los autores, "la perplejidad puede interpretarse como una medida uniforme del número efectivo de vecinos. El rendimiento de SNE es bastante robusto a los cambios en la perplejidad y los valores típicos están entre 5 y 50" . [2] .
Dado que el núcleo gaussiano utiliza la distancia euclidiana , se ve afectado por la maldición de la dimensionalidad y, en datos de alta dimensión, cuando las distancias pierden la capacidad de discriminar, se vuelven demasiado similares (asintóticamente, convergerían a una constante). Se ha propuesto ajustar las distancias con una transformación de potencia, basada en la dimensión intrínseca de cada punto, para aliviar esto. [12]
El objetivo de t-SNE es aprender un mapa de dimensiones (con y normalmente elegidos 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. En concreto, para , se define como
y se establece . Aquí se utiliza una distribución t de Student de cola pesada (con un grado de libertad, que es lo mismo que una distribución de Cauchy ) para medir similitudes entre puntos de baja dimensión con el fin de permitir que se modelen objetos diferentes muy separados en el mapa.
Las ubicaciones de los puntos en el mapa se determinan minimizando la divergencia de Kullback-Leibler (no simétrica) de la distribución con respecto a la distribución , es decir:
La minimización de la divergencia de Kullback–Leibler con respecto a los puntos se realiza mediante descenso de gradiente . El resultado de esta optimización es un mapa que refleja las similitudes entre las entradas de alta dimensión.
Producción
Aunque los gráficos t-SNE a menudo parecen mostrar agrupaciones , las agrupaciones visuales pueden verse fuertemente influenciadas por la parametrización elegida (especialmente la perplejidad) y, por lo tanto, se necesita una buena comprensión de los parámetros para t-SNE. Se puede demostrar que tales "agrupaciones" aparecen incluso en datos estructurados sin una agrupación clara, [13] y, por lo tanto, pueden ser hallazgos falsos. De manera similar, el tamaño de las agrupaciones producidas por t-SNE no es informativo, y tampoco lo es la distancia entre agrupaciones. [14] Por lo tanto, puede ser necesaria una exploración interactiva para elegir parámetros y validar resultados. [15] [16] Se ha demostrado que t-SNE a menudo puede recuperar agrupaciones bien separadas y, con elecciones de parámetros especiales, se aproxima a una forma simple de agrupación espectral . [17]
Software
Una implementación en C++ de Barnes-Hut está disponible en la cuenta de Github de uno de los autores originales.
El paquete R Rtsne implementa t-SNE en R.
ELKI contiene tSNE, también con aproximación de Barnes-Hut
scikit-learn , una popular biblioteca de aprendizaje automático en Python, implementa t-SNE con soluciones exactas y la aproximación de Barnes-Hut.
Tensorboard, el kit de visualización asociado a TensorFlow , también implementa t-SNE (versión en línea)
^ abc van der Maaten, LJP; Hinton, GE (noviembre de 2008). "Visualización de datos mediante t-SNE" (PDF) . Revista de investigación en aprendizaje automático . 9 : 2579–2605.
^ Gashi, I.; Stankovic, V.; Leita, C.; Thonnard, O. (2009). "Un estudio experimental de diversidad con motores antivirus disponibles comercialmente". Actas del Simposio internacional IEEE sobre computación en red y aplicaciones : 4–11.
^ Hamel, P.; Eck, D. (2010). "Características de aprendizaje de audio musical con redes de creencias profundas". Actas de la Conferencia de la Sociedad Internacional para la Recuperación de Información Musical : 339–344.
^ Jamieson, AR; Giger, ML; Drukker, K.; Lui, H.; Yuan, Y.; Bhooshan, N. (2010). "Explorando la reducción de dimensión del espacio de características no lineal y la representación de datos en Breast CADx con mapas propios laplacianos y t-SNE". Física médica . 37 (1): 339–351. doi :10.1118/1.3267037. PMC 2807447 . PMID 20175497.
^ Wallach, I.; Liliean, R. (2009). "La base de datos de proteínas y moléculas pequeñas, un recurso estructural no redundante para el análisis de la unión proteína-ligando". Bioinformática . 25 (5): 615–620. doi : 10.1093/bioinformatics/btp035 . PMID 19153135.
^ Balamurali, Mehala; Silversides, Katherine L.; Melkumyan, Arman (1 de abril de 2019). "Una comparación de t-SNE, SOM y SPADE para identificar dominios de tipo de material en datos geológicos". Computers & Geosciences . 125 : 78–89. Bibcode :2019CG....125...78B. doi :10.1016/j.cageo.2019.01.011. ISSN 0098-3004. S2CID 67926902.
^ Balamurali, Mehala; Melkumyan, Arman (2016). Hirose, Akira; Ozawa, Seiichi; Doya, Kenji; Ikeda, Kazushi; Lee, Minho; Liu, Derong (eds.). "Visualización y agrupamiento del dominio geológico basados en t-SNE". Procesamiento de información neuronal . Apuntes de clase en informática. 9950. Cham: Springer International Publishing: 565–572. doi :10.1007/978-3-319-46681-1_67. ISBN .978-3-319-46681-1.
^ Leung, Raymond; Balamurali, Mehala; Melkumyan, Arman (1 de enero de 2021). "Estrategias de truncamiento de muestras para la eliminación de valores atípicos en datos geoquímicos: el enfoque de distancia robusta MCD frente a la agrupación por conjuntos t-SNE". Geociencias matemáticas . 53 (1): 105–130. Código Bibliográfico :2021MaGeo..53..105L. doi :10.1007/s11004-019-09839-z. ISSN 1874-8953. S2CID 208329378.
^ Birjandtalab, J.; Pouyan, MB; Nourani, M. (1 de febrero de 2016). "Reducción de dimensión no lineal para la detección de ataques epilépticos basada en EEG". Conferencia internacional IEEE-EMBS de 2016 sobre informática biomédica y de la salud (BHI) . págs. 595–598. doi :10.1109/BHI.2016.7455968. ISBN .978-1-5090-2455-1.S2CID8074617 .
^ Pezzotti, Nicola. "TsNE aproximado y orientable por el usuario para análisis visual progresivo" (PDF) . Consultado el 31 de agosto de 2023 .
^ Schubert, Erich; Gertz, Michael (4 de octubre de 2017). Incrustación de vecinos t-estocásticos intrínsecos para visualización y detección de valores atípicos . SISAP 2017 – Décima conferencia internacional sobre búsqueda de similitudes y aplicaciones. págs. 188–203. doi :10.1007/978-3-319-68474-1_13.
^ "Agrupamiento de K-medias en la salida de t-SNE". Validación cruzada . Consultado el 16 de abril de 2018 .
^ Wattenberg, Martin; Viégas, Fernanda; Johnson, Ian (13 de octubre de 2016). "Cómo utilizar t-SNE de forma eficaz". Distill . 1 (10): e2. doi : 10.23915/distill.00002 . ISSN 2476-0757.
^ Pezzotti, Nicola; Lelieveldt, Boudewijn PF; Maaten, Laurens van der; Hollt, Thomas; Eisemann, Elmar; Vilanova, Anna (1 de julio de 2017). "tSNE aproximado y orientable por el usuario para análisis visual progresivo". Transacciones IEEE sobre visualización y gráficos por computadora . 23 (7): 1739-1752. arXiv : 1512.01655 . doi :10.1109/tvcg.2016.2570755. ISSN 1077-2626. PMID 28113434. S2CID 353336.
^ Wattenberg, Martin; Viégas, Fernanda; Johnson, Ian (13 de octubre de 2016). "Cómo usar t-SNE de manera efectiva". Distill . 1 (10). doi : 10.23915/distill.00002 . Consultado el 4 de diciembre de 2017 .
^ Linderman, George C.; Steinerberger, Stefan (8 de junio de 2017). "Agrupamiento con t-SNE, demostrable". arXiv : 1706.02582 [cs.LG].
Enlaces externos
Wattenberg, Martin; Viégas, Fernanda; Johnson, Ian (13 de octubre de 2016). "Cómo utilizar t-SNE de forma eficaz". Distill . 1 (10): e2. doi :10.23915/distill.00002. ISSN 2476-0757.Demostración interactiva y tutorial.
Visualización de datos con t-SNE, Google Tech Talk sobre t-SNE
Implementaciones de t-SNE en varios lenguajes, una colección de enlaces mantenida por Laurens van der Maaten