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:
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).
norte
t-SNE funciona muy bien en los datos MNIST. Pero considere esto (tomado de este documento ):
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:
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.