Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

t-distributed Stochastic Neighbor Embedding (t-SNE)

t-SNE proyecta datos de alta dimensionalidad en 2D o 3D para que los elementos vecinos sigan siéndolo y así revelar agrupaciones. Descubre cómo funciona, la perplejidad, los inconvenientes y consulta el código.

La incrustación de vecinos estocásticos con distribución t (t-SNE) es un método no lineal de reducción de dimensionalidad que coloca puntos de datos de alta dimensión en un mapa bidimensional o tridimensional, de modo que los puntos vecinos en el espacio original sigan estando próximos en el mapa. Laurens van der Maaten y Geoffrey Hinton la presentaron en un artículo de 2008 publicado en el Journal of Machine Learning Research. Es una herramienta estándar para la visualización de datos de incrustaciones, características de imágenes y datos de expresión génica de células individuales, donde cientos de dimensiones ocultan grupos que un diagrama de dispersión 2D permite ver.

Cómo funciona t-SNE#

t-SNE convierte las distancias en probabilidades en ambos espacios y después desplaza los puntos del mapa hasta que coinciden los dos conjuntos de probabilidades:

  • Similitudes de alta dimensión: Para cada punto, t-SNE sitúa una distribución gaussiana sobre las distancias a los demás puntos y las convierte en probabilidades de elegir cada uno como vecino. La anchura de cada distribución gaussiana se ajusta para que la perplejidad de la distribución, aproximadamente el número efectivo de vecinos, coincida con un valor que establece el usuario. Así, las regiones densas obtienen distribuciones gaussianas estrechas y las dispersas, distribuciones más amplias.
  • Similitudes de baja dimensión: En el mapa, las similitudes se calculan con una distribución t de Student con un grado de libertad, cuyas colas pesadas permiten que los puntos moderadamente distantes queden muy separados. Esto alivia el problema del apelotonamiento: un mapa 2D tiene demasiado poco espacio para todos los vecinos moderadamente próximos que puede tener un punto de alta dimensión.
  • Optimización: El descenso del gradiente desplaza los puntos del mapa para minimizar la divergencia de Kullback-Leibler entre las dos distribuciones. Una fase de exageración temprana multiplica las similitudes de alta dimensión por 12 en scikit-learn, de modo que los grupos naturales formen conjuntos compactos y bien separados desde el principio.

t-SNE exacto compara todos los pares de puntos, por lo que su coste crece de forma cuadrática con el conjunto de datos. La aproximación de Barnes-Hut, que es la predeterminada en scikit-learn, reduce el coste a O(N log N) en mapas 2D y 3D, y las implementaciones aceleradas por FFT, como openTSNE, pueden procesar millones de puntos.

Perplejidad e interpretación de un gráfico t-SNE#

La perplejidad es el ajuste principal. Los valores entre 5 y 50 son habituales; el valor predeterminado de scikit-learn es 30 y debe ser inferior al número de puntos. Una perplejidad baja se centra en la estructura muy local y puede dividir un grupo en fragmentos, mientras que una perplejidad alta mezcla grupos vecinos y muestra una mayor parte de la estructura global. Como la optimización no es convexa, las distintas semillas aleatorias pueden producir mapas diferentes.

Tres propiedades hacen que los gráficos t-SNE sean fáciles de malinterpretar. El tamaño de los grupos en el mapa dice poco sobre la dispersión de los grupos originales, porque t-SNE expande los grupos densos y contrae los dispersos. Las distancias entre grupos tampoco son fiables, y una perplejidad baja puede hacer que hasta el ruido aleatorio parezca formar grupos. TSNE de scikit-learn tampoco tiene un método transform, así que un mapa ajustado no puede colocar puntos nuevos sin volver a calcularse; además, las coordenadas t-SNE rara vez se utilizan como características de entrada para otros modelos.

t-SNE, PCA y UMAP#

El análisis de componentes principales (PCA) es lineal y determinista, conserva las direcciones de mayor varianza global y proyecta puntos nuevos al instante. t-SNE es no lineal y estocástico, y conserva los vecindarios locales. A menudo se combinan ambos métodos: reducir los datos de dimensión muy alta a unas 50 dimensiones con PCA antes de ejecutar t-SNE suprime el ruido y acelera el cálculo, y t-SNE de scikit-learn inicializa el mapa con PCA de forma predeterminada, lo que conserva mejor la disposición global. UMAP, presentado en 2018, también crea un grafo de vecinos, suele ejecutarse más rápido en conjuntos de datos grandes, a menudo conserva más estructura global y puede incrustar puntos nuevos en un mapa existente.

Este ejemplo proyecta en 2D los dígitos manuscritos de 64 píxeles incluidos en scikit-learn con ambos métodos y mide la fiabilidad, es decir, hasta qué punto los vecinos más cercanos de cada punto en el mapa también eran sus vecinos en 64 dimensiones:

from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.manifold import TSNE, trustworthiness

# 1,797 handwritten digits, each an 8x8 image flattened to 64 features
X, y = load_digits(return_X_y=True)

# Project to 2D with a linear method and with t-SNE
X_pca = PCA(n_components=2).fit_transform(X)
X_tsne = TSNE(n_components=2, perplexity=30, random_state=0).fit_transform(X)

# Trustworthiness near 1.0 means a point's 2D neighbors were also its 64D neighbors
print(f"PCA trustworthiness:   {trustworthiness(X, X_pca, n_neighbors=10):.3f}")
print(f"t-SNE trustworthiness: {trustworthiness(X, X_tsne, n_neighbors=10):.3f}")

El script imprime 0.830 para PCA y 0.993 para t-SNE. Reducir 64 dimensiones a dos direcciones lineales sitúa muchos puntos junto a dígitos que estaban lejos de ellos en 64 dimensiones, mientras que el mapa t-SNE conserva casi todas las relaciones originales con los 10 vecinos más cercanos.

Aplicaciones en el mundo real#

  • Inspección de características aprendidas: Proyectar las salidas de extracción de características de una red permite comprobar si las clases visualmente similares forman grupos separados. Los modelos YOLO26 devuelven un vector de características por imagen mediante model.embed(), que se obtiene de forma predeterminada de la penúltima capa; un mapa t-SNE de esos vectores muestra cómo un modelo entrenado de forma personalizada separa sus clases.
  • Selección de conjuntos de datos: Las imágenes que caen dentro de la isla de otra clase suelen estar mal etiquetadas, y los grupos compactos de puntos casi idénticos indican duplicados. El panel Clustering de Ultralytics Platform proyecta las incrustaciones de imágenes de un conjunto de datos en un gráfico de dispersión 2D similar para facilitar estas comprobaciones.
  • Incrustaciones de palabras y documentos: Los mapas de vectores de palabras sitúan palabras relacionadas, como nombres de países o números, en grupos vecinos.
  • Genómica de célula única: Los investigadores reducen a 2D la expresión de miles de genes por célula para identificar tipos celulares; en este análisis, t-SNE fue durante mucho tiempo el estándar, antes de que muchos grupos pasaran a UMAP.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático