Glosario

Incrustación estocástica de vecinos distribuida en t (t-SNE)

Explore t-SNE, una potente técnica para visualizar datos de alta dimensión. Conozca sus usos, ventajas y aplicaciones en IA y ML.

t-Distributed Stochastic Neighbor Embedding (t-SNE) es una potente técnica de reducción de la dimensionalidad, diseñada principalmente para visualizar conjuntos de datos de alta dimensión en un espacio de baja dimensión, normalmente de dos o tres dimensiones. Desarrollada por Laurens van der Maaten y Geoffrey Hinton, la t-SNE destaca por revelar la estructura local subyacente de los datos, como conglomerados y variedades. Esto hace que los conjuntos de datos complejos generados o procesados por modelos de Inteligencia Artificial (IA) y Aprendizaje Automático (AM ) sean más fáciles de interpretar mediante inspección visual. Se utiliza ampliamente en diversos campos, como la visión por ordenador (CV) y el procesamiento del lenguaje natural (PLN).

Cómo funciona t-SNE

La idea central de t-SNE es asignar puntos de datos de alta dimensión a un espacio de baja dimensión (por ejemplo, un gráfico 2D) de forma que se preserven las similitudes entre los puntos. Modela la similitud entre pares de puntos de alta dimensión como probabilidades condicionales e intenta encontrar una incrustación de baja dimensión en la que las probabilidades condicionales entre los puntos mapeados sean similares. Este proceso se centra en conservar la estructura local: los puntos que están próximos en el espacio de alta dimensión deben seguir estándolo en el mapa de baja dimensión.

A diferencia de métodos lineales como el Análisis de Componentes Principales (ACP), t-SNE es no lineal y probabilístico. Esto le permite captar relaciones complejas y no lineales, como colectores curvos, que el PCA podría pasar por alto. El algoritmo calcula las similitudes utilizando una distribución gaussiana en el espacio de alta dimensión y una distribución t de Student (con un grado de libertad) en el espacio de baja dimensión. El uso de la distribución t ayuda a separar más los puntos disímiles en el mapa de baja dimensión, mitigando el "problema de aglomeración", en el que los puntos tienden a agruparse. La incrustación óptima se obtiene minimizando la divergencia (en concreto, la divergencia de Kullback-Leibler) entre las dos distribuciones de probabilidad mediante técnicas de optimización como el descenso gradiente. Para más información técnica, consulte el artículo original sobre t-SNE.

t-SNE frente a PCA

Aunque tanto t-SNE como PCA son técnicas comunes de reducción de la dimensionalidad, difieren significativamente:

  • Linealidad: PCA es una técnica lineal, mientras que t-SNE es no lineal. PCA encuentra componentes principales que maximizan la varianza, esencialmente girando los datos. t-SNE modela similitudes por pares.
  • Enfoque: PCA pretende preservar la estructura global y la varianza máxima de los datos. t-SNE prioriza la preservación de la estructura local (vecindarios de puntos).
  • Caso de uso: PCA se utiliza a menudo para la compresión de datos, reducción de ruido, y como un paso de preprocesamiento de datos antes de aplicar otros algoritmos de ML. t-SNE se utiliza principalmente para la visualización de datos y la exploración debido a su capacidad para revelar clusters.
  • Interpretabilidad: Los ejes de un gráfico PCA representan componentes principales y tienen una interpretación matemática clara relacionada con la varianza. Los ejes y las distancias entre conglomerados de un gráfico t-SNE no tienen una interpretación global tan directa; la atención se centra en la agrupación relativa de los puntos.

Aplicaciones en IA y ML

t-SNE es una herramienta de visualización inestimable para comprender datos complejos y de alta dimensión que suelen encontrarse en los procesos de IA y ML, como la exploración de las incrustaciones aprendidas por los modelos de aprendizaje profundo.

  • Visualización de características de imágenes: En visión por ordenador, t-SNE puede visualizar los mapas de características de alta dimensión generados por las redes neuronales convolucionales (CNN), como las de los modelos YOLO de Ultralytics utilizados para la detección de objetos o la clasificación de imágenes. Al aplicar t-SNE a las características extraídas de un conjunto de datos como ImageNet o COCO, los investigadores pueden ver si el modelo aprende a agrupar imágenes o clases de objetos similares en el espacio de características, lo que permite comprender mejor el modelo. Esto ayuda a analizar el rendimiento del modelo más allá de las métricas de precisión estándar (véase Métricas de rendimiento YOLO).
  • Exploración de incrustaciones de palabras: En PNL, t-SNE se utiliza para visualizar en 2D las incrustaciones de palabras (por ejemplo, de Word2Vec, GloVe o BERT). Esto permite inspeccionar las relaciones semánticas; por ejemplo, palabras como "rey", "reina", "príncipe" y "princesa" pueden formar grupos distintos o mostrar posiciones relativas significativas, lo que demuestra la calidad del modelado lingüístico. Herramientas como el proyector TensorFlow utilizan a menudo t-SNE para la visualización de la incrustación.
  • Comprensión de los datos de entrenamiento: Antes o durante el entrenamiento del modelo, t-SNE puede ayudar a visualizar la estructura de los propios datos de entrenamiento, revelando potencialmente clusters distintos, valores atípicos o problemas de etiquetado dentro de los conjuntos de datos gestionados a través de plataformas como Ultralytics HUB.

Consideraciones

Aunque potente para la visualización, t-SNE tiene algunas consideraciones:

  • Coste computacional: puede resultar caro y lento para conjuntos de datos muy grandes debido a sus cálculos por pares. Técnicas como la aproximación de t-SNE o la aplicación previa de PCA pueden ayudar.
  • Hiperparámetros: Los resultados pueden ser sensibles a hiperparámetros como la "perplejidad" (relacionada con el número de vecinos más cercanos considerados) y el número de iteraciones para el descenso de gradiente.
  • Estructura global: t-SNE se centra en la estructura local; las distancias relativas entre los conglomerados en el gráfico final pueden no reflejar con exactitud la separación en el espacio original de alta dimensión. El tamaño de los conglomerados también puede inducir a error. Hay implementaciones disponibles en bibliotecas como Scikit-learn y marcos de trabajo como PyTorch.

Únase a la comunidad Ultralytics

Únase al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo.

Únete ahora
Enlace copiado en el portapapeles