¿Debería la reducción de dimensionalidad para la visualización considerarse un problema "cerrado", resuelto por t-SNE?

23

He estado leyendo mucho sobre el algoritmo -snet para la reducción de dimensionalidad. Estoy muy impresionado con el rendimiento en los conjuntos de datos "clásicos", como MNIST, donde logra una separación clara de los dígitos ( ver artículo original ):

t-SNE MNIST

También lo he usado para visualizar las características aprendidas por una red neuronal que estoy entrenando y quedé muy satisfecho con los resultados.

Entonces, como lo entiendo:

tO(norteIniciar sesiónnorte)

Soy consciente de que esta es una declaración bastante audaz. Estoy interesado en comprender cuáles son los posibles "escollos" de este método. Es decir, ¿hay casos en los que sabemos que es no tiene utilidad? Además, ¿cuáles son los problemas "abiertos" en este campo?

galoosh33
fuente

Respuestas:

16

Definitivamente no.

Estoy de acuerdo en que t-SNE es un algoritmo increíble que funciona extremadamente bien y que fue un gran avance en ese momento. Sin embargo:

  • tiene serias deficiencias;
  • algunas de las deficiencias deben ser solucionables;
  • ya hay algoritmos que funcionan notablemente mejor en algunos casos;
  • muchas de las propiedades de t-SNE aún se conocen mal.

Alguien vinculado a esta cuenta muy popular de algunas deficiencias de t-SNE: https://distill.pub/2016/misread-tsne/ (+1), pero solo discute conjuntos de datos de juguetes muy simples y encuentro que no corresponde muy bien a los problemas que uno enfrenta en la práctica cuando trabaja con t-SNE y algoritmos relacionados en datos del mundo real. Por ejemplo:

  1. t-SNE a menudo no puede preservar la estructura global del conjunto de datos;
  2. norte
  3. norte

Discutiré brevemente los tres a continuación.


  1. t-SNE a menudo no puede preservar la estructura global del conjunto de datos.

    Considere este conjunto de datos RNA-seq de una sola célula del Instituto Allen (células corticales de ratón): http://celltypes.brain-map.org/rnaseq/mouse . Tiene ~ 23k células. Sabemos a priori que este conjunto de datos tiene mucha estructura jerárquica significativa, y esto se confirma mediante la agrupación jerárquica. Hay neuronas y células no neurales (glía, astrocitos, etc.). Entre las neuronas, hay neuronas excitadoras e inhibidoras, dos grupos muy diferentes. Entre, por ejemplo, las neuronas inhibidoras, hay varios grupos principales: Pvalb-expresando, SSt-expresando, VIP-expresando. En cualquiera de estos grupos, parece haber múltiples grupos adicionales. Esto se refleja en el árbol de agrupamiento jerárquico. Pero aquí está t-SNE, tomado del enlace de arriba:

    ingrese la descripción de la imagen aquí

    Las células no neurales están en gris / marrón / negro. Las neuronas excitadoras están en azul / verde azulado / verde. Las neuronas inhibitorias están en naranja / rojo / púrpura. Uno desearía que estos grupos principales permanecieran unidos, pero esto no sucede: una vez que t-SNE separa un grupo en varios grupos, pueden terminar siendo posicionados arbitrariamente. La estructura jerárquica del conjunto de datos se pierde.

    Creo que esto debería ser un problema solucionable, pero no estoy al tanto de ningún buen desarrollo de principios, a pesar de algunos trabajos recientes en esta dirección (incluido el mío).

  2. norte

    t-SNE funciona muy bien en los datos MNIST. Pero considere esto (tomado de este documento ):

    ingrese la descripción de la imagen aquí

    Con 1 millón de puntos de datos, todos los grupos se agrupan (el motivo exacto de esto no está muy claro) y la única forma conocida de contrarrestar es con algunos trucos sucios como se muestra arriba. Sé por experiencia que esto también sucede con otros conjuntos de datos igualmente grandes.

    Se puede ver esto con MNIST en sí (N = 70k). Echar un vistazo:

    ingrese la descripción de la imagen aquí

    A la derecha está t-SNE. A la izquierda está UMAP , un nuevo método emocionante en desarrollo activo, que es muy similar a un largeVis más antiguo . UMAP / largeVis separa los clústeres mucho más. La razón exacta de esto no está clara en mi humilde opinión; Diría que todavía hay mucho que entender aquí, y posiblemente mucho que mejorar.

  3. norte

    nortenorte

    ingrese la descripción de la imagen aquí

    Por lo tanto, esto podría no ser exactamente un problema abierto, pero solía serlo hasta hace muy poco, y supongo que hay espacio para mejoras adicionales en el tiempo de ejecución. Por lo tanto, el trabajo ciertamente puede continuar en esta dirección.

ameba dice Reinstate Monica
fuente
7

Aquí hay un excelente análisis de cómo la variación de los parámetros cuando se ejecuta t-SNE afecta algunos conjuntos de datos muy simples: http://distill.pub/2016/misread-tsne/ . En general, t-SNE parece funcionar bien en el reconocimiento de estructuras de alta dimensión (incluidas las relaciones más complejas que las agrupaciones), aunque esto está sujeto a ajustes de parámetros, especialmente los valores de perplejidad.

liangjy
fuente
7

Todavía me encantaría escuchar otros comentarios, pero publicaré mi propia respuesta por ahora, tal como lo veo. Mientras buscaba una respuesta más "práctica", hay dos "desventajas" teóricas para t-sne que vale la pena mencionar; el primero es menos problemático, y el segundo definitivamente debe considerarse:

  1. La función de costo t-sne no es convexa, por lo que no se garantiza que alcancemos un nivel global óptimo : otras técnicas de reducción de dimensionalidad (Isomap, LLE) tienen una función de costo convexa. En este caso, este no es el caso, por lo tanto, hay algunos parámetros de optimización que deben ajustarse de manera efectiva para llegar a una "buena" solución. Sin embargo, aunque es una trampa teórica potencial, vale la pena mencionar que en la práctica esto no es una caída, ya que parece que incluso el "mínimo local" del algoritmo t-sne supera (crea mejores visualizaciones) que el mínimo global de los otros métodos. .

  2. maldición de la dimensionalidad intrínseca : una cosa importante a tener en cuenta al usar t-sne es que es esencialmente un aprendizaje múltiplealgoritmo. Esencialmente, esto significa que t-sne (y otros métodos similares) están diseñados para funcionar en situaciones en las que la alta dimensión original solo es artificialmente alta: existe una dimensión inferior intrínseca en los datos. es decir, los datos "se sientan" en una variedad dimensional inferior. Un buen ejemplo a tener en cuenta son las fotos consecutivas de la misma persona: aunque podría representar cada imagen en el número de píxeles (alta dimensión), la dimensionalidad intrínseca de los datos está realmente limitada por la transformación física de los puntos (en En este caso, la rotación 3D de la cabeza). En tales casos, t-sne funciona bien. Pero en los casos en que la dimensionalidad intrínseca es alta, o los puntos de datos se encuentran en una variedad muy variable, se espera que t-sne funcione mal, ya que se viola su suposición más básica: la linealidad local en la variedad.

Para el usuario práctico, creo que esto implica dos sugerencias útiles a tener en cuenta:

  1. Antes de realizar la reducción de dimensionalidad para los métodos de visualización, siempre trate de averiguar primero si realmente existe una dimensión intrínseca más baja para los datos con los que está tratando.

  2. Si no está seguro acerca de 1 (y también en general), podría ser útil, como sugiere el artículo original, "realizar t-sne en una representación de datos obtenida de un modelo que representa la variedad de datos altamente variable de manera eficiente en un número de capas no lineales, como un codificador automático ". Entonces, la combinación de auto-encoder + t-sne puede ser una buena solución en tales casos.

galoosh33
fuente
Hola @ galoosh33! Me pregunto si ya tuvo la oportunidad de echar un vistazo a mi respuesta. ¿Fue útil? No tengo idea si todavía está interesado en esto 1.5 años después de hacer esta pregunta, por lo que agradecería algunos comentarios ... En su propia respuesta aceptada, dice que aún le encantaría escuchar más pensamientos, pero esto también fue un poco hace tiempo :)
ameba dice Reinstate Monica
1
gracias por tu gran respuesta @amoeba! Lo revisaré este fin de semana.
galoosh33