Incrustación de vecinos estocásticos distribuidos en t (t-SNE)

De testwiki
Ir a la navegación Ir a la búsqueda
Visualización T-SNE de incrustaciones de palabras (word embedding) generadas a partir de literatura del siglo XIX

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.

Incrustaciones T-SNE del conjunto de datos MNIST

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.

La t-SNE se ha utilizado para la visualización en una amplia gama de aplicaciones, como la genómica, la investigación en seguridad informática,[3] el procesamiento del lenguaje natural, el análisis musical,[4] la investigación del cáncer,[5] la bioinformática,[6] la interpretación de dominios geológicos,[7][8][9] y el procesamiento de señales biomédicas.[10]

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 Plantilla:Math y requiere espacio Plantilla:Math.[15]

Detalles

Dado un conjunto de N objetos de alta dimensión 𝐱1,,𝐱N, t-SNE calcula primero las probabilidades pij que son proporcionales a la similitud de los objetos 𝐱i y 𝐱j como sigue:

Para ij se define:

pji=exp(𝐱i𝐱j2/2σi2)kiexp(𝐱i𝐱k2/2σi2)

Y se establece pii=0. Obsérvese que el denominador anterior garantiza jpji=1 para todas las i.

Como explicaron van der Maaten y Hinton: "La similitud de los puntos de datos xj a los puntos de datos xi es la probabilidad condicional pj|i de que xi escoja a xj como su vecino si los vecinos se eligieran en proporción a su densidad de probabilidad bajo una gaussiana centrada en xi.

Luego se define:

pij=pji+pij2N

Esto es motivado debido a que pi y pj de las N muestras se estiman como 1/N, por lo que la probabilidad condicional puede escribirse como pij=Npij y pji=Npji. Teniendo en cuenta que pij=pji se puede obtener la fórmula anterior.

También se debe tener en cuenta que pii=0 y i,jpij=1.

El ancho de banda de los núcleos gaussianos σi 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 σi se utilizan en las partes más densas del espacio de datos.

Dado que el kernel gaussiano utiliza la distancia euclidiana xixj, 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 pij 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 d, que es 𝐲1,,𝐲N (con 𝐲id y d normalmente elegido como 2 o 3) que refleje las similitudes pij lo mejor posible. Para ello, mide las similitudes qij entre dos puntos del mapa 𝐲i y 𝐲j utilizando un enfoque muy similar. Específicamente, para ij, qij se define como:

qij=(1+𝐲i𝐲j2)1klk(1+𝐲k𝐲l2)1

Y se establece qii=0. 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 ubicación del punto 𝐲i en el mapa se determina minimizando la divergencia (no simétrica) de Kullback-Leibler de la distribución P de la distribución Q, es decir:

KL(PQ)=ijpijlogpijqij

La minimización de la divergencia de Kullback-Leibler con respecto al punto 𝐲i 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.

Software

  • El paquete R Rtsne implementa t-SNE en R.
  • 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

Referencias

Plantilla:Listaref

Enlaces externos

Plantilla:Control de autoridades