t-SNE
A la mitad de la lectura del periódico sobre esto, solté un grito: “¿Cómo diablos pensó alguien en esto?”. Se necesita algo de inteligencia para hacerme maldecir audiblemente en una biblioteca llena de extraños.
Primero, expongamos un problema específico (se generaliza más allá de esto) que este monstruo resuelve. Le doy un conjunto de puntos de alta dimensión, cada uno de los cuales representa la escala de grises de todos los píxeles de una imagen de un dígito escrito a mano. Entonces este es un punto de datos:
Ahora, debe devolverme un diagrama informativo de dispersión 2D de puntos, cada uno de los cuales representa una de las imágenes dadas. Tiene que ser informativo en el sentido de que tiene grupos bien separados, cada uno representando 0,1,2, … 9. Aquí está la parte difícil; cuando le entrego esos puntos / imágenes originales, no etiqueto cuál es qué dígito (¡y no puede hacerlo usted mismo!). Todo lo que la computadora obtiene es una gran lista de listas de números, sin etiquetas, sin ayuda.
Piénsalo. Estas imágenes dadas pueden variar en un rango de posibilidades enormemente exponencial y tenemos que agrupar esas posibilidades en un espacio 2D, preservando el carácter que separa los dígitos. Es como si te pidiera que volvieras a escribir el trabajo de Shakespeare, pero con solo 5 palabras y preservando su mensaje matizado sobre el amor. ¡Ah, y no sabes el significado de ninguna de las palabras!
Realmente hay dos componentes en la información para hacer esto posible, el primero de los cuales no es específico de t-SNE. Es decir, un dígito en un espacio de alta dimensión es un colector, una criatura de dimensión intrínsecamente inferior plantada en un espacio de gran dimensión, caracterizado por el hecho de que los puntos cercanos en el colector se ven aproximadamente como un plano plano. Aquí hay puntos en un múltiple 2D incrustado en un espacio 3D:
Por lo tanto, es probable que dos imágenes sean el mismo dígito si puede realizar cambios simples e incrementales en uno y finalmente llegar al otro. Un 2 y un 8 son diferentes porque si tuviera que transformarse uno en el otro, tendría que hacer un cambio feo y no lineal en algún momento. Esa regla simple, descriptiva, casi vaga es la que traza el límite salvaje y de alta dimensión que separa un 2 contra un 3, un 5 contra un 4, etc. Nunca hubiera adivinado.
Pero incluso con esa idea, ¿cómo creamos realmente este diagrama de dispersión súper reducido y súper representativo? Bueno, t-SNE caracteriza los espacios de alta D y baja D en términos de una distancia métrica entre sus puntos. (En este caso, una métrica de distancia es una función funky de una distancia euclidiana). Produce un mapeo (desde puntos de alta D a puntos de baja D) de modo que la métrica de distancia entre puntos en el espacio de baja D produce salidas similares a la métrica de distancia en el espacio de alta D. Entonces, los puntos que están lejos / cerca en el espacio de alta D permanecen así en el espacio de baja D, de acuerdo con sus respectivas métricas. En alta D, usamos una distribución de probabilidad gaussiana y en baja D, usamos una distribución t de Student. La magia proviene del hecho de que la diferencia entre estas métricas refleja los cambios intrínsecos a las distancias euclidianas a medida que te mueves de dimensiones altas a bajas. ¡Esto es increíblemente útil! La optimización de la similitud de la salida de estas diferentes métricas guía nuestro mapeo para centrarse con precisión en la estructura de los datos e ignorar los cambios inevitables / poco interesantes inherentes a la reducción de la dimensión de un espacio. La consecuencia es que las dimensiones que finalmente se eligen te mueven entre múltiples . ¿Qué? ¿Quién vio venir eso? Estamos tratando de capturar estas cosas extrañas y múltiples, y la respuesta está en la relación entre una distribución t gaussiana y una t de estudiante. De Verdad? Y hace un maldito buen trabajo. Cada grupo aquí representa un dígito:
Tomemos un segundo aquí. Primero, caracterizamos los dígitos como múltiples. Luego decidimos hablar de espacios en términos de sus métricas de distancia. Luego sacamos el gaussiano y el student-t de nuestros culos y optimizamos un mapeo para que produzcan salidas similares para los puntos de alta D y baja D. El resultado es agrupar puntos que se pueden transformar entre sí mediante sucesivos cambios pequeños y simples. Eso es extremadamente inteligente.